Bug 129329 - gnome-session segfaults in ORBit_free_T()
Summary: gnome-session segfaults in ORBit_free_T()
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ORBit2
Version: rawhide
Hardware: powerpc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mark McLoughlin
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-08-06 15:22 UTC by David Woodhouse
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version: 2.11.1-2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-08-10 14:17:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
temp workaround patch (46.72 KB, patch)
2004-08-09 22:25 UTC, Mark McLoughlin
no flags Details | Diff
temp workaround patch (1.18 KB, patch)
2004-08-09 22:27 UTC, Mark McLoughlin
no flags Details | Diff

Description David Woodhouse 2004-08-06 15:22:13 UTC
Description of problem:
SEGV.

Version-Release number of selected component (if applicable):
ORBit2-2.11.1-1
gnome-session-2.7.4-1

Reverting to ORBit2-2.10.0-5 fixes the problem.

How reproducible:
100%

(gdb) run
Starting program: /usr/bin/gnome-session
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 807405312 (LWP 14717)]
0x0e7bc394 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
(gdb) bt
#0  0x0e7bc394 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#1  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#2  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#3  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#4  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#5  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#6  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#7  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#8  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#9  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#10 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#11 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#12 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#13 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#14 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#15 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#16 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#17 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#18 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#19 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#20 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#21 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#22 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#23 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#24 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#25 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#26 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#27 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#28 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#29 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#30 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#31 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#32 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#33 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#34 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#35 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#36 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#37 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#38 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#39 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#40 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#41 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#42 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#43 0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
Previous frame inner to this frame (corrupt stack?)
(gdb)

Comment 1 David Woodhouse 2004-08-06 15:39:22 UTC
Note that the stack corruption reported in the backtrace appears to be
a toolchain/gdb problem, not an actual symptom of the ORBit bug.

cf. bug #129331

Comment 2 David Woodhouse 2004-08-06 15:54:42 UTC
Better backtrace with working GDB...


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 807405312 (LWP 15286)]
0x0e7bc394 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
(gdb) bt
#0  0x0e7bc394 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#1  0x0e7bc360 in ORBit_free_T () from /usr/lib/libORBit-2.so.0
#2  0x0f995dac in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
#3  0x0e7c50f0 in IOP_generate_profiles () from /usr/lib/libORBit-2.so.0
#4  0x0e7c51fc in IOP_generate_profiles () from /usr/lib/libORBit-2.so.0
#5  0x0f995dac in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
#6  0x0e7c49a8 in IOP_delete_profiles () from /usr/lib/libORBit-2.so.0
#7  0x0e7b94e4 in ORBit_objref_new () from /usr/lib/libORBit-2.so.0
#8  0x0e7ba124 in ORBit_demarshal_object () from /usr/lib/libORBit-2.so.0
#9  0x0e7c1304 in ORBit_demarshal_value () from /usr/lib/libORBit-2.so.0
#10 0x0e7b6b98 in ORBit_small_freekids () from /usr/lib/libORBit-2.so.0
#11 0x0e7b6ffc in ORBit_small_invoke_stub () from /usr/lib/libORBit-2.so.0
#12 0x0e7b71e0 in ORBit_small_invoke_stub_n () from
/usr/lib/libORBit-2.so.0
#13 0x0e7cca5c in ORBit_c_stub_invoke () from /usr/lib/libORBit-2.so.0
#14 0x0ed4ab1c in Bonobo_Unknown_queryInterface ()
   from /usr/lib/libbonobo-activation.so.4
#15 0x0ec69644 in bonobo_moniker_util_qi_return ()
   from /usr/lib/libbonobo-2.so.0
#16 0x0e524108 in bonobo_moniker_oaf_resolve ()
   from /usr/lib/bonobo/monikers/libmoniker_std_2.so
#17 0x0ec689f0 in bonobo_moniker_use_extender () from
/usr/lib/libbonobo-2.so.0
#18 0x0f7fe4a0 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#19 0x0ec7e888 in bonobo_closure_invoke_va_list ()
   from /usr/lib/libbonobo-2.so.0
#20 0x0ec7ec6c in bonobo_closure_invoke () from /usr/lib/libbonobo-2.so.0
#21 0x0ec68f4c in bonobo_resolve_flag_get_type ()
   from /usr/lib/libbonobo-2.so.0
#22 0x0ec67a54 in bonobo_moniker_get_name_full ()
   from /usr/lib/libbonobo-2.so.0
#23 0x0ec7f370 in _ORBIT_skel_small_Bonobo_Moniker_resolve ()
   from /usr/lib/libbonobo-2.so.0
#24 0x0e7c8eb8 in ORBit_POA_setup_root () from /usr/lib/libORBit-2.so.0
#25 0x0e7ce4c0 in ORBit_OAObject_invoke () from /usr/lib/libORBit-2.so.0
#26 0x0e7b740c in ORBit_small_invoke_adaptor () from
/usr/lib/libORBit-2.so.0
#27 0x0e7c9318 in ORBit_POAObject_post_invoke () from
/usr/lib/libORBit-2.so.0
#28 0x0e7c98dc in ORBit_POAObject_post_invoke () from
/usr/lib/libORBit-2.so.0
#29 0x0e7c9dcc in ORBit_POAObject_post_invoke () from
/usr/lib/libORBit-2.so.0
#30 0x0e7ce3f4 in ORBit_handle_request () from /usr/lib/libORBit-2.so.0
#31 0x0e7b3b14 in giop_connection_handle_input () from
/usr/lib/libORBit-2.so.0
#32 0x0e7d68e0 in link_connection_set_max_buffer ()
   from /usr/lib/libORBit-2.so.0
#33 0x0e7d8c14 in link_servers_move_io_T () from /usr/lib/libORBit-2.so.0
#34 0x0f97ce8c in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#35 0x0f97f130 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#36 0x0f97f794 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#37 0x0f126a98 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#38 0x0f240a18 in gtk_widget_show_now () from /usr/lib/libgtk-x11-2.0.so.0
#39 0x10011c3c in splash_start ()
#40 0x1000c5e8 in main ()


Comment 3 David Lawrence 2004-08-09 22:12:14 UTC
Happens with me also. Backing down ORBit2 fixed it for me.

Comment 4 Mark McLoughlin 2004-08-09 22:25:02 UTC
Created attachment 102549 [details]
temp workaround patch


Tracking it down atm, not sure yet what exactly is the cause but the following
patch appears to get make check to pass at least.

Comment 5 Mark McLoughlin 2004-08-09 22:27:54 UTC
Created attachment 102550 [details]
temp workaround patch


Bah, attached the wrong file

Comment 6 Mark McLoughlin 2004-08-09 22:56:38 UTC
Okay, ORBit2-2.11.1-2 with this workaround is building and should
appear in rawhide tommorrow if the s390s ever wake up. I'd appreciate
if someone could test and confirm whether or not it fixes the problem.

Comment 7 Mark McLoughlin 2004-08-10 10:53:53 UTC
Okay, the s390 build machines don't seem to want to wake up. Try
testing the RPMs from here:

  http://people.redhat.com/markmc/ORBit2-FC3-ppc/

Comment 8 David Woodhouse 2004-08-10 12:15:26 UTC
Yep, those fix it for me. Thanks.

Comment 9 Mark McLoughlin 2004-08-10 14:17:04 UTC
Thanks, fixed upstream now. Jakub is looking to see if there is a gcc
miscompilation issue here.

Comment 10 Mark McLoughlin 2004-08-10 15:52:14 UTC
GCC bug:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16968


Note You need to log in before you can comment on or make changes to this bug.