Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 227245 - [a11y] openoffice.org segfaults on exit in at-spi atexit
Summary: [a11y] openoffice.org segfaults on exit in at-spi atexit
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: rawhide
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-03 22:12 UTC by Michal Jaegermann
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 2.2.0-5.2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-02-06 11:09:02 UTC


Attachments (Terms of Use)
OOo bandaid (deleted)
2007-02-05 12:03 UTC, Caolan McNamara
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
GNOME Bugzilla 404592 None None None Never

Description Michal Jaegermann 2007-02-03 22:12:26 UTC
Description of problem:

Running in a terminal window one gets:
/usr/lib64/openoffice.org/program/soffice: line 222: 23556 Segmentation fault
which happens every time when program exits.

I did not check what happens if exiting the program exits with anything
but an empty writer window; the above was "open-and-exit".

To see this with more detail one can try:
$ sh -x /usr/lib64/openoffice.org/program/soffice -writer
+ '[' -z ']'
+ export SAL_USE_VCLPLUGIN=gtk
+ SAL_USE_VCLPLUGIN=gtk
+ export SAL_ENABLE_NATIVE_XFONTS=0
+ SAL_ENABLE_NATIVE_XFONTS=0
+ SAL_ENABLE_FILE_LOCKING=1
+ export SAL_ENABLE_FILE_LOCKING
++ uname -s
+ sd_platform=Linux
++ uname -m
+ '[' Linux = Linux -a x86_64 = ppc ']'
++ pwd
+ sd_cwd=/root
+ '[' -h /usr/lib64/openoffice.org/program/soffice ']'
++ dirname /usr/lib64/openoffice.org/program/soffice
+ cd /usr/lib64/openoffice.org/program
++ pwd
+ sd_prog=/usr/lib64/openoffice.org/program
+ cd ..
++ basename /usr/lib64/openoffice.org/program/soffice
+ sd_binary=soffice.bin
++ pwd
+ sd_inst=/usr/lib64/openoffice.org
+ cd /root
+ case $sd_platform in
+ '[' ']'
+ LD_LIBRARY_PATH=/usr/lib64/openoffice.org/program
+ export LD_LIBRARY_PATH
+ for arg in '$@'
+ case "$arg" in
+ '[' -x /usr/lib64/openoffice.org/program/javaldx ']'
++ /usr/lib64/openoffice.org/program/javaldx
+ java_ld_library_path=
+ '[' '' '!=' '' ']'
+ OPENOFFICE_MOZILLA_FIVE_HOME=/usr/lib64/openoffice.org/program
+ export OPENOFFICE_MOZILLA_FIVE_HOME
+ unset XENVIRONMENT
+ for sd_arg in '${1+"$@"}'
+ case ${sd_arg} in
+ sd_binary=swriter.bin
+ break
+ '['
/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
']'
+
PATH=/usr/lib64/openoffice.org/program:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
+ export PATH
+ /usr/lib64/openoffice.org/program/swriter.bin -writer
+ trap 'kill -9 $!' TERM
+ wait 23556
GTK Accessibility Module initialized
libGL warning: 3D driver claims to not support visual 0x4b
GTK Accessibility Module shutdown
/usr/lib64/openoffice.org/program/soffice: line 222: 23556 Segmentation fault  
 "$sd_prog/$sd_binary" "$@"
+ '[' 139 -eq 79 ']'
+ exit

The above does not dump core even if 'ulimit' for the account sets
core size to unlimited.

With a script modified to run binaries under gdb this is not much more
illuminating:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912496327472 (LWP 23841)]
0x00002aaaaaf0225e in main ()
   from /usr/lib64/openoffice.org/program/libvclplug_gtk680lx.so
(gdb) where
#0  0x00002aaaaaf0225e in main ()
   from /usr/lib64/openoffice.org/program/libvclplug_gtk680lx.so
(gdb) c
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) q

I have no idea of a 32-bit version does the same or not.

Version-Release number of selected component (if applicable):
openoffice.org-2.2.0-5.1

How reproducible:
always

Comment 1 Caolan McNamara 2007-02-05 12:01:01 UTC
This is triggered by an at-spi change where there are some glib thread stuff is
now called in an atexit function. OOo has overridden the g_thread lock functions
and OOo tried to shutdown a11y before shutting down it's gtk vcl plugin which
destroys stuff which the g_thread_lock overrides requires but OOo can't cancel
the execution of the registered at-spi atexit which will try and use the thread
lockers. I can hack around this in the thread lockers to check to see if their
requirements have disappeared when they get called after the fact in the at-spi
shutdown but it's ugly.

caolanm->mclasen: I suspect you'll begin seeing upstream bugreports about
vanilla OOo crashing against the newer at-spis.

Comment 2 Caolan McNamara 2007-02-05 12:03:27 UTC
Created attachment 147348 [details]
OOo bandaid

Comment 3 Matthias Clasen 2007-02-05 13:47:33 UTC
the atexit function in atk-bridge/bridge.c has the following comment:

  /*
   *  FIXME: this may be incorrect for apps that do their own bonobo
   *  shutdown, until we can explicitly shutdown to get the ordering
   *  right.
   */

So at least there is some awareness of ordering issues. Did you file
an upstream bug for this ?


Comment 4 Caolan McNamara 2007-02-05 14:06:12 UTC
logged as http://bugzilla.gnome.org/show_bug.cgi?id=404592

Comment 5 Caolan McNamara 2007-02-06 11:09:02 UTC
Should be a non-crasher in openoffice.org-2.2.0-5.2


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