Bug 202165 - openoffice.org segfaults on startup [incompatible /usr/local/lib/libstdc++]
Summary: openoffice.org segfaults on startup [incompatible /usr/local/lib/libstdc++]
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: 5
Hardware: athlon
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-08-11 07:44 UTC by Roberto Bagnara
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-04 14:29:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
As requested by Caolan. (326.53 KB, application/octet-stream)
2006-09-01 11:56 UTC, Roberto Bagnara
no flags Details
replacement (2.81 MB, application/octet-stream)
2006-09-01 12:48 UTC, Caolan McNamara
no flags Details
new replacement (2.87 MB, application/octet-stream)
2006-09-01 16:34 UTC, Caolan McNamara
no flags Details
new replacement (2.87 MB, application/octet-stream)
2006-09-01 16:37 UTC, Caolan McNamara
no flags Details
replacement simplereg.uno.so (269.91 KB, application/octet-stream)
2006-09-04 07:48 UTC, Caolan McNamara
no flags Details
/usr/lib/openoffice.org2.0/program/*.rdb files (1.22 MB, application/octet-stream)
2006-09-04 10:16 UTC, Roberto Bagnara
no flags Details
new replacement simplereg.uno.so (272.61 KB, application/octet-stream)
2006-09-04 10:32 UTC, Caolan McNamara
no flags Details
another different debugging library replacement (51.92 KB, application/octet-stream)
2006-09-04 11:19 UTC, Caolan McNamara
no flags Details


Links
System ID Private Priority Status Summary Last Updated
OpenOffice.org 69240 0 None None None Never

Description Roberto Bagnara 2006-08-11 07:44:34 UTC
Description of problem:

ooffice segfaults

Version-Release number of selected component (if applicable):

2.0.2-5.17.2

How reproducible:

Easily.

Steps to Reproduce:
1.

$ bash -x /usr/lib/openoffice.org2.0/program/soffice

2.

$ gdb /usr/lib/openoffice.org2.0/program/soffice.bin


Actual results:

1.

$ bash -x /usr/lib/openoffice.org2.0/program/soffice
+ '[' -f /etc/bashrc ']'
+ . /etc/bashrc
++ '[' 500 -gt 99 ']'
+++ id -gn
+++ id -un
++ '[' roberto = roberto ']'
++ umask 002
++ '[' '' ']'
++ shopt -q login_shell
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/ati-fglrx.sh ']'
++ . /etc/profile.d/ati-fglrx.sh
++++ uname -m
+++ '[' i686 = x86_64 ']'
+++ LIB=lib
+++ grep LD_LIBRARY_PATH /etc/profile
+++ grep /usr/X11R6/lib:/usr/X11R6/lib/modules
+++ '[' -w / ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/bash_completion.sh ']'
++ . /etc/profile.d/bash_completion.sh
+++ '[' -z '3.1.7(1)-release' -o -n '' ']'
+++ bash=3.1
+++ bmajor=3
+++ bminor=1
+++ '[' -n '' ']'
+++ unset bash bminor bmajor
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/colorls.sh ']'
++ . /etc/profile.d/colorls.sh
+++ alias 'll=ls -l'
+++ alias 'l.=ls -d .*'
+++ COLORS=/etc/DIR_COLORS
+++ '[' -e /etc/DIR_COLORS.xterm ']'
+++ COLORS=/etc/DIR_COLORS.xterm
+++ '[' -e /home/roberto/.dircolors ']'
+++ '[' -e /home/roberto/.dircolors.xterm ']'
+++ '[' -e /home/roberto/.dir_colors ']'
+++ '[' -e /home/roberto/.dir_colors.xterm ']'
+++ '[' -e /etc/DIR_COLORS.xterm ']'
++++ dircolors --sh /etc/DIR_COLORS.xterm
+++ eval
'LS_COLORS='\''no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'\'';'
export LS_COLORS
++++
LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
++++ export LS_COLORS
+++ '[' -z
'no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
']'
+++ egrep -qi '^COLOR.*none' /etc/DIR_COLORS.xterm
+++ alias 'll=ls -l --color=tty'
+++ alias 'l.=ls -d .* --color=tty'
+++ alias 'ls=ls --color=tty'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/cvs.sh ']'
++ . /etc/profile.d/cvs.sh
+++ export CVS_RSH=ssh
+++ CVS_RSH=ssh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/glib2.sh ']'
++ . /etc/profile.d/glib2.sh
+++ export G_BROKEN_FILENAMES=1
+++ G_BROKEN_FILENAMES=1
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/gnome-ssh-askpass.sh ']'
++ . /etc/profile.d/gnome-ssh-askpass.sh
+++ SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
+++ export SSH_ASKPASS
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/kde.sh ']'
++ . /etc/profile.d/kde.sh
+++ '[' -f /etc/sysconfig/prelink ']'
+++ '[' -z /usr ']'
+++ export KDEDIR
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/krb5.sh ']'
++ . /etc/profile.d/krb5.sh
+++ echo
/usr/kerberos/bin:/opt/intel/cc/9.1.042/bin:/opt/intel/idb/9.1.042/bin:.:/home/roberto/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/games:/opt/como/bin:/usr/local/distrib/eclipse/i386_linux/bin/i386_linux:/opt/jdk1.5.0_07/bin
+++ /bin/grep -q /usr/kerberos/bin
+++ echo
/usr/kerberos/bin:/opt/intel/cc/9.1.042/bin:/opt/intel/idb/9.1.042/bin:.:/home/roberto/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/games:/opt/como/bin:/usr/local/distrib/eclipse/i386_linux/bin/i386_linux:/opt/jdk1.5.0_07/bin
+++ /bin/grep -q /usr/kerberos/sbin
++++ /usr/bin/id -u
+++ '[' 500 = 0 ']'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/lang.sh ']'
++ . /etc/profile.d/lang.sh
+++ sourced=0
+++ for langfile in /etc/sysconfig/i18n '$HOME/.i18n'
+++ '[' -f /etc/sysconfig/i18n ']'
+++ . /etc/sysconfig/i18n
++++ LANG=en_US.UTF-8
++++ SUPPORTED=en_US.UTF-8:en_US:en
++++ SYSFONT=latarcyrheb-sun16
+++ sourced=1
+++ for langfile in /etc/sysconfig/i18n '$HOME/.i18n'
+++ '[' -f /home/roberto/.i18n ']'
+++ '[' -n '' ']'
+++ '[' 1 = 1 ']'
+++ '[' -n en_US.UTF-8 ']'
+++ export LANG
+++ '[' -n '' ']'
+++ unset LC_ADDRESS
+++ '[' -n '' ']'
+++ unset LC_CTYPE
+++ '[' -n '' ']'
+++ unset LC_COLLATE
+++ '[' -n '' ']'
+++ unset LC_IDENTIFICATION
+++ '[' -n '' ']'
+++ unset LC_MEASUREMENT
+++ '[' -n '' ']'
+++ unset LC_MESSAGES
+++ '[' -n '' ']'
+++ unset LC_MONETARY
+++ '[' -n '' ']'
+++ unset LC_NAME
+++ '[' -n '' ']'
+++ unset LC_NUMERIC
+++ '[' -n '' ']'
+++ unset LC_PAPER
+++ '[' -n '' ']'
+++ unset LC_TELEPHONE
+++ '[' -n '' ']'
+++ unset LC_TIME
+++ '[' -n '' ']'
+++ unset LC_ALL
+++ '[' -n '' ']'
+++ unset LANGUAGE
+++ '[' -n '' ']'
+++ unset LINGUAS
+++ '[' -n '' ']'
+++ unset _XKB_CHARSET
+++ '[' -n '' ']'
+++ '[' -n '' ']'
+++ '[' -n en_US.UTF-8 ']'
+++ case $LANG in
+++ '[' xterm = linux ']'
+++ unset SYSFONTACM SYSFONT
+++ unset sourced
+++ unset langfile
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/less.sh ']'
++ . /etc/profile.d/less.sh
+++ '[' -x /usr/bin/lesspipe.sh ']'
+++ export 'LESSOPEN=|/usr/bin/lesspipe.sh %s'
+++ LESSOPEN='|/usr/bin/lesspipe.sh %s'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/vim.sh ']'
++ . /etc/profile.d/vim.sh
+++ '[' -n '3.1.7(1)-release' -o -n '' -o -n '' ']'
+++ '[' -x /usr/bin/id ']'
++++ /usr/bin/id -u
+++ '[' 500 -le 100 ']'
+++ alias vi
+++ alias vi=vim
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/which-2.sh ']'
++ . /etc/profile.d/which-2.sh
+++ alias 'which=alias | /usr/bin/which --tty-only --read-alias --show-dot
--show-tilde'
++ unset i
++ unset pathmunge
+ unset LANG
+ alias 'ls=ls --color=auto'
+ '[' -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
++ uname -m
+ '[' Linux = Linux -a i686 = ppc ']'
++ pwd
+ sd_cwd=/tmp
+ '[' -h /usr/lib/openoffice.org2.0/program/soffice ']'
++ dirname /usr/lib/openoffice.org2.0/program/soffice
+ cd /usr/lib/openoffice.org2.0/program
++ pwd
+ sd_prog=/usr/lib/openoffice.org2.0/program
+ cd ..
++ basename /usr/lib/openoffice.org2.0/program/soffice
+ sd_binary=soffice.bin
++ pwd
+ sd_inst=/usr/lib/openoffice.org2.0
+ cd /tmp
+ '[' -x /usr/lib/openoffice.org2.0/program/javaldx ']'
++ /usr/lib/openoffice.org2.0/program/javaldx
+ java_ld_library_path=
+ '[' '' '!=' '' ']'
+ OPENOFFICE_MOZILLA_FIVE_HOME=/usr/lib/openoffice.org2.0/program
+ export OPENOFFICE_MOZILLA_FIVE_HOME
+ unset XENVIRONMENT
+ sd_pagein_args=@pagein-common
+ /usr/lib/openoffice.org2.0/program/pagein -L/usr/lib/openoffice.org2.0/program
@pagein-common
+ '['
/usr/kerberos/bin:/opt/intel/cc/9.1.042/bin:/opt/intel/idb/9.1.042/bin:.:/home/roberto/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/games:/opt/como/bin:/usr/local/distrib/eclipse/i386_linux/bin/i386_linux:/opt/jdk1.5.0_07/bin
']'
+
PATH=/usr/lib/openoffice.org2.0/program:/usr/kerberos/bin:/opt/intel/cc/9.1.042/bin:/opt/intel/idb/9.1.042/bin:.:/home/roberto/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin:/usr/games:/opt/como/bin:/usr/local/distrib/eclipse/i386_linux/bin/i386_linux:/opt/jdk1.5.0_07/bin
+ export PATH
+ /usr/lib/openoffice.org2.0/program/soffice.bin
/usr/lib/openoffice.org2.0/program/soffice: line 151:  2627 Segmentation fault 
   "$sd_prog/$sd_binary" "$@"
+ '[' 139 -eq 79 ']'
+ exit

2.

$ gdb /usr/lib/openoffice.org2.0/program/soffice.bin
GNU gdb Red Hat Linux (6.3.0.0-1.122rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /usr/lib/openoffice.org2.0/program/soffice.bin
Reading symbols from shared object read from target memory...(no debugging
symbols found)...done.
Loaded system supplied DSO at 0x41a000
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1217038656 (LWP 2631)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at 000000b4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217038656 (LWP 2631)]
0x004b04fd in cppu::BootstrapException::~BootstrapException$base ()
   from /usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3
(gdb) info stack
#0  0x004b04fd in cppu::BootstrapException::~BootstrapException$base ()
   from /usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3
#1  0x004b0b4d in cppu::BootstrapException::~BootstrapException$base ()
   from /usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3
#2  0x004b1062 in cppu::defaultBootstrap_InitialComponentContext ()
   from /usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3
#3  0x00479bcc in desktop::Desktop::CreateApplicationServiceManager ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#4  0x0046c2a5 in desktop::Desktop::Init ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#5  0x005cb6df in InitVCL ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#6  0x005cb832 in InitVCL ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#7  0x005cb8fd in SVMain ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#8  0x00467e53 in sal_main ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#9  0x00467e9f in main () from /usr/lib/openoffice.org2.0/program/libsoffice.so
#10 0x00126724 in __libc_start_main () from /lib/libc.so.6
#11 0x080484b1 in _start ()
(gdb)

Expected results:


Additional info:

Comment 1 Caolan McNamara 2006-08-11 07:51:57 UTC
Well, that's a crash on the very first UNO exception, which points to a selinux
related problem, what's the output of 

/usr/sbin/sestatus

Comment 2 Roberto Bagnara 2006-08-11 08:46:11 UTC
$ /usr/sbin/sestatus
SELinux status:                 disabled


Comment 3 Caolan McNamara 2006-08-11 09:19:39 UTC
that's a headscratcher then

Comment 4 Caolan McNamara 2006-08-29 19:19:07 UTC
Does this happen to you still, and on every start up ? Sometimes I wonder about
e.g. interrupted prelinking operations, if it was that, then removing OOo and
reinstalling it would clear the problem.

Otherwise I'll sit down and do a full valgrind of OOo startup

Comment 5 Roberto Bagnara 2006-09-01 09:54:14 UTC
It still happens, on every startup:

$ ooffice
/usr/lib/openoffice.org2.0/program/soffice: line 151: 20232 Segmentation fault 
   "$sd_prog/$sd_binary" "$@"

Is there a way to redu the prelinking without reinstalling?  Reinstalling, for
me and right now, would mean two days of download.

Concerning valgrind, should I use some specific options?  Without any option,
what I get is:

$ valgrind /usr/lib/openoffice.org2.0/program/soffice
==20243== Memcheck, a memory error detector.
==20243== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==20243== Using LibVEX rev 1606, a library for dynamic binary translation.
==20243== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==20243== Using valgrind-3.2.0, a dynamic binary instrumentation framework.
==20243== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==20243== For more details, rerun with: -v
==20243==
==20247==
==20247== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1)
==20247== malloc/free: in use at exit: 17,483 bytes in 617 blocks.
==20247== malloc/free: 1,020 allocs, 403 frees, 35,311 bytes allocated.
==20247== For counts of detected errors, rerun with: -v
==20247== searching for pointers to 617 not-freed blocks.
==20247== checked 109,488 bytes.
==20247==
==20247== LEAK SUMMARY:
==20247==    definitely lost: 0 bytes in 0 blocks.
==20247==      possibly lost: 0 bytes in 0 blocks.
==20247==    still reachable: 17,483 bytes in 617 blocks.
==20247==         suppressed: 0 bytes in 0 blocks.
==20247== Reachable blocks (those to which a pointer was found) are not shown.
==20247== To see them, rerun with: --show-reachable=yes
==20249==
==20249== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1)
==20249== malloc/free: in use at exit: 17,745 bytes in 636 blocks.
==20249== malloc/free: 1,201 allocs, 565 frees, 40,844 bytes allocated.
==20249== For counts of detected errors, rerun with: -v
==20249== searching for pointers to 636 not-freed blocks.
==20249== checked 109,832 bytes.
==20249==
==20249== LEAK SUMMARY:
==20249==    definitely lost: 0 bytes in 0 blocks.
==20249==      possibly lost: 0 bytes in 0 blocks.
==20249==    still reachable: 17,745 bytes in 636 blocks.
==20249==         suppressed: 0 bytes in 0 blocks.
==20249== Reachable blocks (those to which a pointer was found) are not shown.
==20249== To see them, rerun with: --show-reachable=yes
==20251==
==20251== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1)
==20251== malloc/free: in use at exit: 17,974 bytes in 650 blocks.
==20251== malloc/free: 1,308 allocs, 658 frees, 43,868 bytes allocated.
==20251== For counts of detected errors, rerun with: -v
==20251== searching for pointers to 650 not-freed blocks.
==20251== checked 110,068 bytes.
==20251==
==20251== LEAK SUMMARY:
==20251==    definitely lost: 0 bytes in 0 blocks.
==20251==      possibly lost: 0 bytes in 0 blocks.
==20251==    still reachable: 17,974 bytes in 650 blocks.
==20251==         suppressed: 0 bytes in 0 blocks.
==20251== Reachable blocks (those to which a pointer was found) are not shown.
==20251== To see them, rerun with: --show-reachable=yes
/usr/lib/openoffice.org2.0/program/soffice: line 151: 20254 Segmentation fault 
   "$sd_prog/$sd_binary" "$@"
==20243==
==20243== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 1)
==20243== malloc/free: in use at exit: 22,960 bytes in 691 blocks.
==20243== malloc/free: 2,315 allocs, 1,624 frees, 79,348 bytes allocated.
==20243== For counts of detected errors, rerun with: -v
==20243== searching for pointers to 691 not-freed blocks.
==20243== checked 114,632 bytes.
==20243==
==20243== LEAK SUMMARY:
==20243==    definitely lost: 0 bytes in 0 blocks.
==20243==      possibly lost: 0 bytes in 0 blocks.
==20243==    still reachable: 22,960 bytes in 691 blocks.
==20243==         suppressed: 0 bytes in 0 blocks.
==20243== Reachable blocks (those to which a pointer was found) are not shown.
==20243== To see them, rerun with: --show-reachable=yes
$

Please let me know if I can help with a slow Internet connection.


Comment 6 Caolan McNamara 2006-09-01 10:06:58 UTC
soffice is a script, so try...

valgrind /usr/lib/openoffice.org2.0/program/soffice.bin -writer

undoing prelink on the OOo binaries should (in theory) be possible as root with

prelink -u /usr/lib/openoffice.org2.0/program/*

Comment 7 Roberto Bagnara 2006-09-01 10:39:29 UTC
I did the prelink and it seemed not to change anything.
With valgrind I got the following:

$ valgrind /usr/lib/openoffice.org2.0/program/soffice.bin -writer
==21338== Memcheck, a memory error detector.
==21338== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==21338== Using LibVEX rev 1606, a library for dynamic binary translation.
==21338== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==21338== Using valgrind-3.2.0, a dynamic binary instrumentation framework.
==21338== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==21338== For more details, rerun with: -v
==21338== 
==21338== Syscall param write(buf) points to uninitialised byte(s)
==21338==    at 0x4254023: __write_nocancel (in /lib/libc-2.4.so)
==21338==    by 0x4F4950E: _X11TransWrite (in /usr/lib/libX11.so.6.2.0)
==21338==    by 0x4F4F436: (within /usr/lib/libX11.so.6.2.0)
==21338==    by 0x4F4F53A: _XReply (in /usr/lib/libX11.so.6.2.0)
==21338==    by 0x4F35351: XInternAtom (in /usr/lib/libX11.so.6.2.0)
==21338==    by 0x4F48FEB: XSetWMProperties (in /usr/lib/libX11.so.6.2.0)
==21338==    by 0x6EDE287: (within /usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6EE09E3: gdk_window_new (in /usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6EBDF4C: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6E9CAEE: gdk_display_open_default_libgtk_only (in
/usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6C7FBFE: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.800.20)
==21338==    by 0x6B19EB8: (within
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680li.so)
==21338==  Address 0x6A61870 is 128 bytes inside a block of size 16,384 alloc'd
==21338==    at 0x4020A06: calloc (vg_replace_malloc.c:279)
==21338==    by 0x4F3A1A6: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==21338==    by 0x6EBDE11: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6E9CAEE: gdk_display_open_default_libgtk_only (in
/usr/lib/libgdk-x11-2.0.so.0.800.20)
==21338==    by 0x6C7FBFE: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.800.20)
==21338==    by 0x6B19EB8: (within
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680li.so)
==21338==    by 0x6B18FDD: (within
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680li.so)
==21338==    by 0x6B1ACD0: create_SalInstance (in
/usr/lib/openoffice.org2.0/program/libvclplug_gtk680li.so)
==21338==    by 0x44E1FB0: (within
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x44E20B3: (within
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x43546C6:
InitVCL(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory>
const&) (in /usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x4354831: (within
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338== 
==21338== Invalid read of size 4
==21338==    at 0x4B1A4FD: (within
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4B1AB4C: (within
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4B1B061: cppu::defaultBootstrap_InitialComponentContext() (in
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4053BCB: desktop::Desktop::CreateApplicationServiceManager()
(in /usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x40462A4: desktop::Desktop::Init() (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x43546DE:
InitVCL(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory>
const&) (in /usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x4354831: (within
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x43548FC: SVMain() (in
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x4041E52: sal_main (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x4041E9E: main (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==21338== 
==21338== Process terminating with default action of signal 11 (SIGSEGV)
==21338==  Access not within mapped region at address 0x0
==21338==    at 0x4B1A4FD: (within
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4B1AB4C: (within
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4B1B061: cppu::defaultBootstrap_InitialComponentContext() (in
/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3)
==21338==    by 0x4053BCB: desktop::Desktop::CreateApplicationServiceManager()
(in /usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x40462A4: desktop::Desktop::Init() (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x43546DE:
InitVCL(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory>
const&) (in /usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x4354831: (within
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x43548FC: SVMain() (in
/usr/lib/openoffice.org2.0/program/libvcl680li.so)
==21338==    by 0x4041E52: sal_main (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338==    by 0x4041E9E: main (in
/usr/lib/openoffice.org2.0/program/libsoffice.so)
==21338== 
==21338== ERROR SUMMARY: 3 errors from 2 contexts (suppressed: 198 from 1)
==21338== malloc/free: in use at exit: 158,231 bytes in 1,803 blocks.
==21338== malloc/free: 2,667 allocs, 864 frees, 475,170 bytes allocated.
==21338== For counts of detected errors, rerun with: -v
==21338== searching for pointers to 1,803 not-freed blocks.
==21338== checked 2,511,932 bytes.
==21338== 
==21338== LEAK SUMMARY:
==21338==    definitely lost: 0 bytes in 0 blocks.
==21338==      possibly lost: 17,848 bytes in 33 blocks.
==21338==    still reachable: 140,383 bytes in 1,770 blocks.
==21338==         suppressed: 0 bytes in 0 blocks.
==21338== Reachable blocks (those to which a pointer was found) are not shown.
==21338== To see them, rerun with: --show-reachable=yes
Segmentation fault
$ 


Comment 8 Caolan McNamara 2006-09-01 10:50:58 UTC
ok, that's great work. I'll see if I can find this place now

Comment 9 Caolan McNamara 2006-09-01 11:13:15 UTC
Odd, that I'm still not seeing this, can you attach the file 

/usr/lib/openoffice.org2.0/program/libuno_cppuhelpergcc3.so.3

to this issue ?

Comment 10 Roberto Bagnara 2006-09-01 11:56:11 UTC
Created attachment 135374 [details]
As requested by Caolan.

Comment 11 Caolan McNamara 2006-09-01 12:48:18 UTC
Created attachment 135379 [details]
replacement

Your one still didn't crash it for me, or give valgrind warnings. This one has
some debuginfo as part of the lib. Perhaps replacing your one with this might
give some hint as to what is going on, especially with the output of...

gdb /usr/lib/openoffice.org/program/soffice.bin
(gdb) run -writer
(gdb) bt

Comment 12 Roberto Bagnara 2006-09-01 15:49:27 UTC
$ gdb /usr/lib/openoffice.org2.0/program/soffice.bin
GNU gdb Red Hat Linux (6.3.0.0-1.122rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r -writer
Starting program: /usr/lib/openoffice.org2.0/program/soffice.bin -writer
Reading symbols from shared object read from target memory...(no debugging
symbols found)...done.
Loaded system supplied DSO at 0xac1000
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1217755456 (LWP 28407)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at 000000b4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217755456 (LWP 28407)]
nestRegistries (baseDir=@0xbf8a0c6c, xSimRegFac=@0xbf8a0c30,
    xNesRegFac=@0xbf8a0c2c, csl_rdbs=@0xbf8a0c68, write_rdb=@0xbf8a0c64,
    forceWrite_rdb=0 '\0', bFallenBack=0 '\0', bootstrap=@0xbac538)
    at /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx:334
334     /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx: No such
file or directory.
        in /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx
Current language:  auto; currently c++
(gdb) bt
#0  nestRegistries (baseDir=@0xbf8a0c6c, xSimRegFac=@0xbf8a0c30,
    xNesRegFac=@0xbf8a0c2c, csl_rdbs=@0xbf8a0c68, write_rdb=@0xbf8a0c64,
    forceWrite_rdb=0 '\0', bFallenBack=0 '\0', bootstrap=@0xbac538)
    at /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx:334
#1  0x00b73b2d in defaultBootstrap_InitialComponentContext (
    bootstrap=@0xbac538)
    at /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx:419
#2  0x00b74042 in cppu::defaultBootstrap_InitialComponentContext ()
    at /usr/src/redhat/BUILD/OOB680_m5/cppuhelper/source/bootstrap.cxx:472
#3  0x00d42bcc in desktop::Desktop::CreateApplicationServiceManager ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#4  0x00d352a5 in desktop::Desktop::Init ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#5  0x003b26df in InitVCL ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#6  0x003b2832 in InitVCL ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#7  0x003b28fd in SVMain ()
   from /usr/lib/openoffice.org2.0/program/libvcl680li.so
#8  0x00d30e53 in sal_main ()
   from /usr/lib/openoffice.org2.0/program/libsoffice.so
#9  0x00d30e9f in main () from /usr/lib/openoffice.org2.0/program/libsoffice.so
#10 0x0020e724 in __libc_start_main () from /lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#11 0x080484b1 in _start ()
(gdb)

Comment 13 Caolan McNamara 2006-09-01 16:34:09 UTC
Created attachment 135389 [details]
new replacement

Thanks for your patience, this is all very strange. Here's a new replacement
which should cause OOo to spit out some text on stdout. Can you try this one
and report what it says. I'm thinking a possibly corrupt .rdb file somewhere.

Comment 14 Caolan McNamara 2006-09-01 16:37:27 UTC
Created attachment 135390 [details]
new replacement

Thanks for your patience, this is all very strange. Here's a new replacement
which should cause OOo to spit out some text on stdout. Can you try this one
and report what it says. I'm thinking a possibly corrupt .rdb file somewhere.

Comment 15 Roberto Bagnara 2006-09-01 17:39:38 UTC
$ ooffice
> implementation com.sun.star.comp.stoc.OServiceManagerWrapper supports:
com.sun.star.lang.MultiServiceFactory
> implementation com.sun.star.comp.stoc.DLLComponentLoader supports:
com.sun.star.loader.SharedLibrary
> implementation com.sun.star.comp.stoc.SimpleRegistry supports:
com.sun.star.registry.SimpleRegistry
> implementation com.sun.star.comp.stoc.NestedRegistry supports:
com.sun.star.registry.NestedRegistry
> implementation com.sun.star.comp.stoc.TypeDescriptionManager supports:
com.sun.star.reflection.TypeDescriptionManager
> implementation com.sun.star.comp.stoc.ImplementationRegistration supports:
com.sun.star.registry.ImplementationRegistration
> implementation com.sun.star.security.comp.stoc.AccessController supports:
com.sun.star.security.AccessController
> implementation com.sun.star.security.comp.stoc.FilePolicy supports:
com.sun.star.security.Policy
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_TYPES in env:
file:///usr/lib/openoffice.org2.0/program/types.rdb
simpleRegistry result is 0, expecting 1
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_SERVICES in env:
file:///usr/lib/openoffice.org2.0/program/services.rdb
Thread:      1 :cppuhelper::findBoostrapArgument - setting WRITERDB relative to
executable: file:///usr/lib/openoffice.org2.0/program/uno_writerdb.rdb

simpleRegistry result is 0, expecting 1
$ gdb /usr/lib/openoffice.org2.0/program/soffice.bin
GNU gdb Red Hat Linux (6.3.0.0-1.122rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run -writer
Starting program: /usr/lib/openoffice.org2.0/program/soffice.bin -writer
Reading symbols from shared object read from target memory...(no debugging
symbols found)...done.
Loaded system supplied DSO at 0x862000
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1217923392 (LWP 30875)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at 000000b4
> implementation com.sun.star.comp.stoc.OServiceManagerWrapper supports:
com.sun.star.lang.MultiServiceFactory
> implementation com.sun.star.comp.stoc.DLLComponentLoader supports:
com.sun.star.loader.SharedLibrary
> implementation com.sun.star.comp.stoc.SimpleRegistry supports:
com.sun.star.registry.SimpleRegistry
> implementation com.sun.star.comp.stoc.NestedRegistry supports:
com.sun.star.registry.NestedRegistry
> implementation com.sun.star.comp.stoc.TypeDescriptionManager supports:
com.sun.star.reflection.TypeDescriptionManager
> implementation com.sun.star.comp.stoc.ImplementationRegistration supports:
com.sun.star.registry.ImplementationRegistration
> implementation com.sun.star.security.comp.stoc.AccessController supports:
com.sun.star.security.AccessController
> implementation com.sun.star.security.comp.stoc.FilePolicy supports:
com.sun.star.security.Policy
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_TYPES in env:
file:///usr/lib/openoffice.org2.0/program/types.rdb
simpleRegistry result is 0, expecting 1
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_SERVICES in env:
file:///usr/lib/openoffice.org2.0/program/services.rdb
Thread:      1 :cppuhelper::findBoostrapArgument - setting WRITERDB relative to
executable: file:///usr/lib/openoffice.org2.0/program/uno_writerdb.rdb

simpleRegistry result is 0, expecting 1
[New Thread -1219658848 (LWP 30898)]
[New Thread -1230148704 (LWP 30899)]
[Thread -1230148704 (LWP 30899) exited]
[Thread -1219658848 (LWP 30898) exited]

Program exited normally.
(gdb) 

Comment 16 Caolan McNamara 2006-09-04 07:46:43 UTC
"simpleRegistry result is 0, expecting 1" 
is where our focus is now, on a working installation this should be have been
"simpleRegistry result is 1, expecting 1"

Comment 17 Caolan McNamara 2006-09-04 07:48:26 UTC
Created attachment 135483 [details]
replacement simplereg.uno.so

can you make a backup of simplereg.uno.so, and copy this one in instead. Also
can you zip up /usr/lib/openoffice.org2.0/program/*.rdb (the registry files
which may be corrupt of something like that, thus causing this), and attach
that zip here.

Comment 18 Roberto Bagnara 2006-09-04 10:09:30 UTC
Here is what I get with the replacement simplereg.uno.so:

$ ooffice
> implementation com.sun.star.comp.stoc.OServiceManagerWrapper supports:
com.sun.star.lang.MultiServiceFactory
> implementation com.sun.star.comp.stoc.DLLComponentLoader supports:
com.sun.star.loader.SharedLibrary
> implementation com.sun.star.comp.stoc.SimpleRegistry supports:
com.sun.star.registry.SimpleRegistry
> implementation com.sun.star.comp.stoc.NestedRegistry supports:
com.sun.star.registry.NestedRegistry
> implementation com.sun.star.comp.stoc.TypeDescriptionManager supports:
com.sun.star.reflection.TypeDescriptionManager
> implementation com.sun.star.comp.stoc.ImplementationRegistration supports:
com.sun.star.registry.ImplementationRegistration
> implementation com.sun.star.security.comp.stoc.AccessController supports:
com.sun.star.security.AccessController
> implementation com.sun.star.security.comp.stoc.FilePolicy supports:
com.sun.star.security.Policy
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_TYPES in env:
file:///usr/lib/openoffice.org2.0/program/types.rdb
SimpleRegistry_CreateInstance
simpleRegistry result is 0, expecting 1
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_SERVICES in env:
file:///usr/lib/openoffice.org2.0/program/services.rdb
Thread:      1 :cppuhelper::findBoostrapArgument - setting WRITERDB relative to
executable: file:///usr/lib/openoffice.org2.0/program/uno_writerdb.rdb

SimpleRegistry_CreateInstance
simpleRegistry result is 0, expecting 1

Comment 19 Roberto Bagnara 2006-09-04 10:16:54 UTC
Created attachment 135486 [details]
/usr/lib/openoffice.org2.0/program/*.rdb files

Comment 20 Caolan McNamara 2006-09-04 10:32:21 UTC
Created attachment 135487 [details]
new replacement simplereg.uno.so

Those are exactly the same as mine, and work for me. 

This is quite bizarre. Do you know of anything unusual that may have occured at
any stage. I attach yet another simplereg.uno.so which will trace things down a
bit further, clearly the correct SimpleRegistry_CreateInstance is being called,
but is not returning a registry object, so something is failing here.

Comment 21 Caolan McNamara 2006-09-04 10:43:30 UTC
a nfs-mounted homedir ?

Comment 22 Roberto Bagnara 2006-09-04 11:03:14 UTC
No, I have no nfs-mounted directories anywhere in the system.  Nothing unusual
occurred as far as I know: openoffice worked until the day I upgraded from FC4
to FC5.  In /root/upgrade.log there is nothing that gives an indication
something may have gone wrong in the process.

Here is what I get with the new replacement simplereg.uno.so:

$ ooffice
> implementation com.sun.star.comp.stoc.OServiceManagerWrapper supports:
com.sun.star.lang.MultiServiceFactory
> implementation com.sun.star.comp.stoc.DLLComponentLoader supports:
com.sun.star.loader.SharedLibrary
> implementation com.sun.star.comp.stoc.SimpleRegistry supports:
com.sun.star.registry.SimpleRegistry
> implementation com.sun.star.comp.stoc.NestedRegistry supports:
com.sun.star.registry.NestedRegistry
> implementation com.sun.star.comp.stoc.TypeDescriptionManager supports:
com.sun.star.reflection.TypeDescriptionManager
> implementation com.sun.star.comp.stoc.ImplementationRegistration supports:
com.sun.star.registry.ImplementationRegistration
> implementation com.sun.star.security.comp.stoc.AccessController supports:
com.sun.star.security.AccessController
> implementation com.sun.star.security.comp.stoc.FilePolicy supports:
com.sun.star.security.Policy
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_TYPES in env:
file:///usr/lib/openoffice.org2.0/program/types.rdb
SimpleRegistry_CreateInstance
RegistryLoader doesn't work
simpleRegistry result is 0, expecting 1
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_SERVICES in env:
file:///usr/lib/openoffice.org2.0/program/services.rdb
Thread:      1 :cppuhelper::findBoostrapArgument - setting WRITERDB relative to
executable: file:///usr/lib/openoffice.org2.0/program/uno_writerdb.rdb

SimpleRegistry_CreateInstance
RegistryLoader doesn't work
simpleRegistry result is 0, expecting 1

Comment 23 Caolan McNamara 2006-09-04 11:19:00 UTC
Created attachment 135490 [details]
another different debugging library replacement

Well "RegistryLoader doesn't work" is our problem, so lets go a little more
deeper! This is (yet another) replacement lib which will take us another level
closer to the cause.

Have you got a libreg.so.3 in /usr/lib/openoffice.org2.0/program ?
and (if you have it installed) what does
objdump -T /usr/lib/openoffice.org2.0/program/libreg.so.3 | grep
initRegistry_Api
say ?

Comment 24 Roberto Bagnara 2006-09-04 12:02:37 UTC
$ ls -l /usr/lib/openoffice.org2.0/program/libreg.so
lrwxrwxrwx 1 root root 11 Aug 11 03:10
/usr/lib/openoffice.org2.0/program/libreg.so -> libreg.so.3
$ md5sum /usr/lib/openoffice.org2.0/program/libreg.so.3
b1a454c7e7f8e952b83a288a83837bd7  /usr/lib/openoffice.org2.0/program/libreg.so.3
$ objdump -T /usr/lib/openoffice.org2.0/program/libreg.so.3 | grep initRegistry_Api
0000c9ac g    DF .text  00000016  UDK_3_0_0   initRegistry_Api

Here is what I get with the replacement libuno_salhelpergcc3.so.3:

$ ooffice
> implementation com.sun.star.comp.stoc.OServiceManagerWrapper supports:
com.sun.star.lang.MultiServiceFactory
> implementation com.sun.star.comp.stoc.DLLComponentLoader supports:
com.sun.star.loader.SharedLibrary
> implementation com.sun.star.comp.stoc.SimpleRegistry supports:
com.sun.star.registry.SimpleRegistry
> implementation com.sun.star.comp.stoc.NestedRegistry supports:
com.sun.star.registry.NestedRegistry
> implementation com.sun.star.comp.stoc.TypeDescriptionManager supports:
com.sun.star.reflection.TypeDescriptionManager
> implementation com.sun.star.comp.stoc.ImplementationRegistration supports:
com.sun.star.registry.ImplementationRegistration
> implementation com.sun.star.security.comp.stoc.AccessController supports:
com.sun.star.security.AccessController
> implementation com.sun.star.security.comp.stoc.FilePolicy supports:
com.sun.star.security.Policy
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_TYPES in env:
file:///usr/lib/openoffice.org2.0/program/types.rdb
SimpleRegistry_CreateInstance
looking for function initRegistry_Api in module libreg.so.3
failed to find module libreg.so.3
RegistryLoader doesn't work
simpleRegistry result is 0, expecting 1
Thread:      1 :cppuhelper::findBoostrapArgument - found UNO_SERVICES in env:
file:///usr/lib/openoffice.org2.0/program/services.rdb
Thread:      1 :cppuhelper::findBoostrapArgument - setting WRITERDB relative to
executable: file:///usr/lib/openoffice.org2.0/program/uno_writerdb.rdb

SimpleRegistry_CreateInstance
looking for function initRegistry_Api in module libreg.so.3
failed to find module libreg.so.3
RegistryLoader doesn't work
simpleRegistry result is 0, expecting 1


Comment 25 Caolan McNamara 2006-09-04 12:14:37 UTC
ok, we're getting somewhere, we failed to find libreg.so.3 for some reason, but
your md5sum matches mine, so can you do...

ldd /usr/lib/openoffice.org2.0/program/libreg.so.3 and insert the output,
perhaps something it depends on has gone missing
also the output of
echo $LD_LIBRARY_PATH
and
echo $LD_ASSUME_KERNEL
and 
ls -asl /usr/lib/openoffice.org2.0/program/libreg.so.3
in case it's permissions of it or something.


Comment 26 Roberto Bagnara 2006-09-04 12:30:05 UTC
$ ldd /usr/lib/openoffice.org2.0/program/libreg.so.3
/usr/lib/openoffice.org2.0/program/libreg.so.3: /usr/local/lib/libgcc_s.so.1:
version `GCC_4.2.0' not found (required by
/usr/lib/openoffice.org2.0/program/libstore.so.3)
        linux-gate.so.1 =>  (0x009e3000)
        libuno_sal.so.3 => /usr/lib/openoffice.org2.0/program/libuno_sal.so.3
(0x00111000)
        libuno_salhelpergcc3.so.3 =>
/usr/lib/openoffice.org2.0/program/libuno_salhelpergcc3.so.3 (0x00f1e000)
        libstore.so.3 => /usr/lib/openoffice.org2.0/program/libstore.so.3
(0x00c50000)
        libdl.so.2 => /lib/libdl.so.2 (0x00ea3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00778000)
        libstlport_gcc.so =>
/usr/lib/openoffice.org2.0/program/libstlport_gcc.so (0x008ba000)
        libstdc++.so.6 => /usr/local/lib/libstdc++.so.6 (0x00656000)
        libm.so.6 => /lib/libm.so.6 (0x00fb4000)
        libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x0031c000)
        libc.so.6 => /lib/libc.so.6 (0x00327000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x0054f000)
        /lib/ld-linux.so.2 (0x009e4000)
$ echo $LD_LIBRARY_PATH

$ echo $LD_ASSUME_KERNEL

$ ls -asl /usr/lib/openoffice.org2.0/program/libreg.so.3
112 -rwxr-xr-x 1 root root 109680 Jul 15 01:26
/usr/lib/openoffice.org2.0/program/libreg.so.3

$ rpm -q gcc
gcc-4.1.1-1.fc5


Comment 27 Caolan McNamara 2006-09-04 12:46:56 UTC
Aha! what's this ->
        libstdc++.so.6 => /usr/local/lib/libstdc++.so.6 (0x00656000)
/usr/local/lib has a libstdc++ in it, and we're linking against that one, and
not against /usr/lib/libstdc++ like we should be.

Do you have a /usr/lib/libstdc++.so.6 ?
ls -asl /usr/lib/libstdc++.so.6
should link to e.g. /usr/lib/libstdc++.so.6.0.8
and rpm -qf /usr/lib/libstdc++.so.6 should say basically something like...
libstdc++-4.1.1-1.fc5

Either the normal libstdc++ isn't installed, in which case installing it will
likely fix this problem, or there's a newer locally installed libstdc++ into
/usr/local/lib which is causing the problem, in which case move it out of the
way or delete it.

Comment 28 Roberto Bagnara 2006-09-04 13:26:21 UTC
Yes, there is /usr/local/lib/libstdc++.so.6 because I need to use GCC 4.0.3 for
my development work.  But I have also /us/lib/libstdc++.so.6:

$ ls -asl /usr/lib/libstdc++.so.6
0 lrwxrwxrwx 1 root root 18 Aug 11 02:55 /usr/lib/libstdc++.so.6 ->
libstdc++.so.6.0.8
$ rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.1.1-1.fc5

However, how is it that the one in /usr/local/lib is selected?

$ ls -asl /usr/local/lib/libstdc++.so.6
0 lrwxrwxrwx 1 root root 18 Apr  7 10:31 /usr/local/lib/libstdc++.so.6 ->
libstdc++.so.6.0.7

Do I really need to remove the one in /usr/local/lib?  Why is the "wrong"
version selected?  I mean, if openoffice is dependent on libstdc++.so.6.0.8
otherwise it dies badly, why is libstdc++.so.6.0.7 picked up?

$ echo $LD_LIBRARY_PATH

$ cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/kerberos/lib
/usr/lib/qt-3.1/lib
/usr/lib/mysql
/usr/X11R6/lib
/usr/local/lib

Comment 29 Caolan McNamara 2006-09-04 13:39:19 UTC
Add /usr/lib above /usr/local/lib in ld.so.conf, rerun ldconfig and then try
again. If I understand correctly stuff explictly listed in the ld.so.conf will
get searched in first, before the other locations.

Comment 30 Roberto Bagnara 2006-09-04 14:07:33 UTC
Thanks Caolan.  The problem is now solved.  However, I wonder if dying like that
was the right behavior for OOo.

Comment 31 Caolan McNamara 2006-09-04 14:29:33 UTC
Well, dying should be avoided, and we should at least have noticed that loading
libreg.so.3 failed and exit more gracefully. I've submitted that patch upstream,
hence closed->upstream as the actual crash is avoided.

I'll also add checking for what libstdc++ got used to the crash-reporting script
to detect this problem a bit sooner in the bug triage process if a similiar
problem arises again.

But as to whether OOo itself can do much about this I don't really think so, I'm
not sure what mismatch really caused this problem. I'd be tempted to blame
libstdc++ for having an ABI difference between the one OOo was compiled against,
and the one you have in /usr/local/lib which caused the problem, but that
libstdc++ is out of my control, so I can't really say in which one the problem lies.


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