After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 113800 - evolution segment fault if gnopernicus start
evolution segment fault if gnopernicus start
Status: VERIFIED INCOMPLETE
Product: gnopernicus
Classification: Deprecated
Component: speech
unspecified
Other Linux
: Normal major
: ---
Assigned To: firm
firm
Depends on:
Blocks:
 
 
Reported: 2003-05-27 05:11 UTC by yuedong du
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4


Attachments
a simple test program (5.11 KB, patch)
2003-05-28 09:01 UTC, remus draica
none Details | Review
another test file (30.25 KB, patch)
2003-05-29 09:00 UTC, remus draica
none Details | Review

Description yuedong du 2003-05-27 05:11:06 UTC
start gnopernicus,

Then start evolution 1.3.92 with accessiblity enabled, i.e.
GNOME_ACCESSIBILITY=1, evolution crash after flash window disappear and the
main window begin to show.
Comment 1 yuedong du 2003-05-27 08:46:10 UTC
Just to find the reason, I comment out spi_atk_emit_eventv() in 
spi_atk_bridge_window_event_listener(), then the evolution can be
start up.

Any idea?
Comment 2 yuedong du 2003-05-27 08:47:19 UTC
I am using gnopernicus trunk, redhat 9
Comment 3 Gilbert Fang 2003-05-27 10:40:13 UTC
I am on redhat 8 with a garnome 0.21.0. gnopernicus is cvs header
(2003-05-26 checked out). In this case, not only evolution but also
gedit crashed. Please see a stack on evolution crash:


  • #0 sigsuspend
    from /lib/i686/libc.so.6
  • #1 __pthread_wait_for_restart_signal
    from /lib/i686/libpthread.so.0
  • #2 __pthread_alt_lock
    from /lib/i686/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/i686/libpthread.so.0
  • #4 ptmalloc_lock_all
    from /lib/i686/libc.so.6
  • #5 fork
    from /lib/i686/libpthread.so.0
  • #6 libgnomeui_segv_handle
    at gnome-ui-init.c line 627
  • #7 segv_redirect
    at main.c line 486
  • #8 segv_redirect
    at component-factory.c line 1626
  • #9 __pthread_sighandler
    from /lib/i686/libpthread.so.0
  • #10 <signal handler called>
  • #11 _int_free
    from /lib/i686/libc.so.6
  • #12 free
    from /lib/i686/libc.so.6
  • #13 g_free
    at gmem.c line 186
  • #14 ORBit_free_T
    at allocators.c line 199
  • #15 CORBA_Object_release_cb
    at corba-object.c line 97
  • #16 do_unref
    at orbit-object.c line 160
  • #17 ORBit_RootObject_release
    at orbit-object.c line 184
  • #18 CORBA_Object_release
    at corba-object.c line 334
  • #19 bonobo_object_corba_deactivate
  • #20 bonobo_object_finalize_internal
    at bonobo-object.c line 173
  • #21 bonobo_object_unref
    at bonobo-object.c line 297
  • #22 impl_Bonobo_Unknown_unref
    at bonobo-object.c line 553
  • #23 _ORBIT_skel_small_Bonobo_Unknown_unref
    at Bonobo_Unknown-skels.c line 31
  • #24 ORBit_POAObject_invoke
    at poa.c line 893
  • #25 ORBit_OAObject_invoke
    at orbit-adaptor.c line 132
  • #26 ORBit_small_invoke_adaptor
    at orbit-small.c line 798
  • #27 ORBit_POAObject_handle_request
    at poa.c line 1099
  • #28 ORBit_POA_handle_request
    at poa.c line 1186
  • #29 ORBit_handle_request
    at orbit-adaptor.c line 94
  • #30 giop_connection_handle_input
    at giop-recv-buffer.c line 1202
  • #31 linc_connection_io_handler
    at linc-connection.c line 862
  • #32 linc_source_dispatch
    at linc-source.c line 54
  • #33 g_main_dispatch
    at gmain.c line 1653
  • #34 g_main_context_dispatch
    at gmain.c line 2197
  • #35 g_main_context_iterate
    at gmain.c line 2278
  • #36 g_main_context_iteration
    at gmain.c line 2337
  • #37 linc_main_iteration
    at linc.c line 125
  • #38 giop_recv_buffer_get
    at giop-recv-buffer.c line 677
  • #39 orbit_small_demarshal
    at orbit-small.c line 403
  • #40 ORBit_small_invoke_stub
    at orbit-small.c line 634
  • #41 ORBit_small_invoke_stub_n
    at orbit-small.c line 572
  • #42 Accessibility_EventListener_notifyEvent
    at Accessibility-stubs.c line 1168
  • #43 spi_atk_emit_eventv
    at bridge.c line 535
  • #44 spi_atk_bridge_window_event_listener
    at bridge.c line 823
  • #45 signal_emit_unlocked_R
    at gsignal.c line 2788
  • #46 g_signal_emit_valist
    at gsignal.c line 2554
  • #47 g_signal_emit
    at gsignal.c line 2612
  • #48 state_event_watcher
    at gailutil.c line 449
  • #49 signal_emit_unlocked_R
    at gsignal.c line 2788
  • #50 g_signal_emit_valist
  • #51 g_signal_emit
    at gsignal.c line 2612
  • #52 gtk_widget_event_internal
    at gtkwidget.c line 3143
  • #53 gtk_main_do_event
    at gtkmain.c line 1522
  • #54 gdk_event_dispatch
    at gdkevents-x11.c line 2018
  • #55 g_main_dispatch
    at gmain.c line 1653
  • #56 g_main_context_dispatch
    at gmain.c line 2197
  • #57 g_main_context_iterate
    at gmain.c line 2278
  • #58 g_main_loop_run
    at gmain.c line 2498
  • #59 bonobo_main
    at bonobo-main.c line 293
  • #60 main
    at main.c line 626
  • #61 __libc_start_main
    from /lib/i686/libc.so.6

Comment 4 yuedong du 2003-05-28 06:26:31 UTC
It seems that windows related event processing cause the problem.

In srl_process_event_real_window(), comment out the code as below,
evolution start up, and focus event can be read out.


Index: SRLow.c
===================================================================
RCS file: /cvs/gnome/gnopernicus/srlow/libsrlow/SRLow.c,v
retrieving revision 1.51
diff -u -4 -r1.51 SRLow.c
--- SRLow.c     21 May 2003 13:51:57 -0000      1.51
+++ SRLow.c     28 May 2003 06:23:13 -0000
@@ -646,8 +646,9 @@
     if (sro_get_from_accessible_event (event->acc, event->type, &obj))
     {
        SREvent *ev;
  
+       /*
        ev = sre_new ();
        if (ev)
        {
            ev->type = SR_EVENT_WINDOW;
@@ -658,8 +659,9 @@
            notify_clients (ev, 0);
            sre_release_reference (ev);
        }
        sro_release_reference (obj);
+       */
     }
     return TRUE;
 }


Any Idea?
Comment 5 remus draica 2003-05-28 08:56:55 UTC
In my opinion, this is not a gnopernicus bug. It seems to be a at-spi
or atk bug. Gnopernicus is a separate process. It ask information from
other processes. If that process crashes, then something is wrong
there, not in gnopernicus.
Comment 6 remus draica 2003-05-28 09:01:18 UTC
Created attachment 16899 [details] [review]
a simple test program
Comment 7 remus draica 2003-05-28 09:07:35 UTC
Previous attached files is a simple test program. It should be copied
in at-spi/test directory, then recompiled and launched. If, while this
test is running, the applications mentioned above has the same
behaviour, then the applications do something wrong.

Please run this test and confirm me if apps have same behaviour with
test program.
Comment 8 yuedong du 2003-05-28 11:16:38 UTC
I have tested the program.
                                                                     
          
I first launch it, then start evolution with accessiblity.
evolution started and run well.


Below is the output of the test program,


806b428p window:create for Ximian Evolution() role frame with details 0 0
 
806b270p window:restore for Ximian Evolution() role frame with details 0 0
 
806b240p window:deactivate for Ximian Evolution() role frame with
details 0 0
 
806b428p window:destroy for Ximian Evolution() role frame with details 0 0
 
806b270p window:create for Summary - Ximian Evolution() role frame
with details
0 0
 
806b270p window:restore for () role window with details 0 0
 
806b428p window:restore for () role window with details 0 0
 
806b7b0p window:restore for Summary - Ximian Evolution() role frame
with details 0 0
 
806b3c8p window:maximize for Summary - Ximian Evolution() role frame
with details 0 0
 
806b3c8p window:restore for () role window with details 0 0
 
806b270p window:deactivate for INBOX (358) - Ximian Evolution() role
frame with
details 0 0
Comment 9 bill.haneman 2003-05-28 11:28:42 UTC
note that the test program attached leaks three strings for every
event processed...
Comment 10 remus draica 2003-05-29 09:00:58 UTC
Created attachment 16939 [details] [review]
another test file
Comment 11 remus draica 2003-05-29 09:02:57 UTC
Please run gnopernicus with new SRLow.c file and send me back the results.
Comment 12 yuedong du 2003-05-29 10:35:01 UTC
Evolution still crash, after the flash window show evolution flash
disappear, output as below,

**********************
* SCREEN READER CORE *
**********************
 
gnopernicus-Message: Callbacks are NOT supported by all drivers
gnopernicus-Message: speech initialization succeded
 
(srcore:3835): gnopernicus-WARNING **: Voice V0 Kevin - Festival GNOME
Speech Driver is NOT supporting speech markers
 
gnopernicus will use a "idle" callback and will NOT force sometimes it
call
start: event window:create for Ximian Evolution end
(srcore:3835): gnopernicus-WARNING **: Voice V0 Kevin - Festival GNOME
Speech Driver is NOT supporting speech markers
 
start: event window:destroy for Ximian Evolution end
(srcore:3835): gnopernicus-WARNING **: Voice V0 Kevin - Festival GNOME
Speech Driver is NOT supporting speech markers
 
start: event window:create for Summary - Ximian Evolution end
start: event window:restore for (null) end
start: event window:restore for (null) end
start: event window:restore for Summary - Ximian Evolution end
Comment 13 padraig.obriain 2003-06-24 15:11:29 UTC
I noticed a comment that gedit also crashed. Does gedit or evolution
crash when using version 1.3.4 of at-spi?

If so, I think that this bug should be transferred to
at-spi/atk-bridge.
Comment 14 remus draica 2003-07-09 13:04:47 UTC
Because this crash occurs in onother process, this is not a
gnopernicus bug. Please report this bug to evolution component.
Comment 15 Calum Benson 2003-11-12 17:58:38 UTC
Apologies for spam; adding a11y keyword so these bugs are picked up by our
historical bug tracking script.  Find/delete these emails by searching for
"calum fixing a11y script".