Bug 200366 - OO segfaults on start
Summary: OO segfaults on start
Keywords:
Status: CLOSED DUPLICATE of bug 200635
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: rawhide
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-07-27 06:46 UTC by Maxim Britov
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-08-03 09:11:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Maxim Britov 2006-07-27 06:46:22 UTC
$ gdb /usr/lib64/openoffice.org2.0/program/soffice.bin 
GNU gdb Red Hat Linux (6.5-3.fc6rh)
This GDB was configured as "x86_64-redhat-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib64/libthread_db.so.1".
(no debugging symbols found)

(gdb) run
Starting program: /usr/lib64/openoffice.org2.0/program/soffice.bin 
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 47838314617744 (LWP 14034)]
warning: Lowest section in /usr/lib64/libicudata.so.34 is .gnu.hash at
0000003a62200120
[New Thread 1082132800 (LWP 14039)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47838314617744 (LWP 14034)]
0x0000003a62f03909 in _dl_addr () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003a62f03909 in _dl_addr () from /lib64/libc.so.6
#1  0x0000003a6bc2d2f0 in osl_getModuleURLFromAddress (addr=0x0,
ppLibraryUrl=0x7fff72a16cf0) at module.c:264
#2  0x0000003a6bc38a5f in osl_bootstrap_getExecutableFile_Impl
(ppFileURL=0x7fff72a16cf0) at
/usr/src/debug/OOC680_m7/sal/osl/unx/process_impl.cxx:160
#3  0x0000003a6bc4946d in getIniFileName_Impl () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:184
#4  0x0000003a6bc4a4ac in get_static_bootstrap_handle () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:641
#5  0x0000003a6bc4a5d9 in rtl_bootstrap_get_from_handle (handle=0x0,
pName=0x2aaaaaac5d28, ppValue=0x7fff72a16e70, pDefault=0x0)
    at /usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:668
#6  0x0000003a6bc4a604 in rtl_bootstrap_get (pName=0x600a58, ppValue=0x0,
pDefault=0x401008) at /usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:717
#7  0x0000003a6bc4e37e in init () at
/usr/src/debug/OOC680_m7/sal/rtl/source/logfile.cxx:143
#8  0x0000003a6bc4e6f1 in rtl_logfile_longTrace (format=0x0) at
/usr/src/debug/OOC680_m7/sal/rtl/source/logfile.cxx:229
#9  0x0000003a758201c4 in sal_main (argc=<value optimized out>, argv=<value
optimized out>) at /usr/src/debug/OOC680_m7/desktop/source/app/main.cxx:73
#10 0x0000003a62e20aa4 in __libc_start_main () from /lib64/libc.so.6
#11 0x00000000004005f9 in _start ()

(gdb) frame 2
#2  0x0000003a6bc38a5f in osl_bootstrap_getExecutableFile_Impl
(ppFileURL=0x7fff72a16cf0) at
/usr/src/debug/OOC680_m7/sal/osl/unx/process_impl.cxx:160
160                     if (osl_getModuleURLFromAddress (addr, ppFileURL))
Current language:  auto; currently c++

(gdb) frame 3
#3  0x0000003a6bc4946d in getIniFileName_Impl () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:184
184         osl_bootstrap_getExecutableFile_Impl (ppFileURL);

(gdb) frame 4
#4  0x0000003a6bc4a4ac in get_static_bootstrap_handle () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:641
641                     OUString iniName (getIniFileName_Impl());

$ rpm -q openoffice.org-core
openoffice.org-core-2.0.3-7.5

Comment 1 Maxim Britov 2006-07-27 06:56:30 UTC
Forgotten

(gdb) frame 0
#0  0x0000003a62f03909 in _dl_addr () from /lib64/libc.so.6

(gdb) frame 1
#1  0x0000003a6bc2d2f0 in osl_getModuleURLFromAddress (addr=0x0,
ppLibraryUrl=0x7fff80065340) at module.c:264
264             if ((result = dladdr(addr, &dl_info)) != 0)

(gdb) frame 2
#2  0x0000003a6bc38a5f in osl_bootstrap_getExecutableFile_Impl
(ppFileURL=0x7fff80065340) at
/usr/src/debug/OOC680_m7/sal/osl/unx/process_impl.cxx:160
160                     if (osl_getModuleURLFromAddress (addr, ppFileURL))
Current language:  auto; currently c++


Comment 2 Maxim Britov 2006-07-27 07:11:38 UTC
update for frame 0. may be usefull, may be not :)

(gdb) frame 0
#0  *__GI__dl_addr (address=0x4005b0, info=0x7fff0ba9ccc0, mapp=0x0,
symbolp=0x0) at dl-addr.c:90
90              if ((ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL


Comment 3 Caolan McNamara 2006-07-27 12:14:09 UTC
On my rawhide x86_64 2.0.3-7.6 is working for me, so perhaps it's a selinux
imposed failure. (or maybe I'm not up to date yet enough to see the problem) 

What are your selinux details ? i.e. the output of /usr/sbin/sestatus might be
sufficient.

Comment 4 Maxim Britov 2006-07-27 17:12:29 UTC
Fixed with today's update. Thanks.

Comment 5 Maxim Britov 2006-08-03 08:45:16 UTC
Today new segv:

Starting program: /usr/lib64/openoffice.org2.0/program/swriter.bin 
[Thread debugging using libthread_db enabled]
[New Thread 47386732342656 (LWP 9842)]
warning: Lowest section in /usr/lib64/libicudata.so.34 is .gnu.hash at
0000003585200120
[New Thread 1082132800 (LWP 9846)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47386732342656 (LWP 9842)]
*__GI__dl_addr (address=0x4005d0, info=0x7fff9554a880, mapp=0x0, symbolp=0x0) at
dl-addr.c:90
90              if ((ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL
(gdb) bt
#0  *__GI__dl_addr (address=0x4005d0, info=0x7fff9554a880, mapp=0x0,
symbolp=0x0) at dl-addr.c:90
#1  0x0000003e3d22d2f0 in osl_getModuleURLFromAddress (addr=0x0,
ppLibraryUrl=0x7fff9554a930) at module.c:264
#2  0x0000003e3d238a5f in osl_bootstrap_getExecutableFile_Impl
(ppFileURL=0x7fff9554a930) at
/usr/src/debug/OOC680_m7/sal/osl/unx/process_impl.cxx:160
#3  0x0000003e3d24946d in getIniFileName_Impl () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:184
#4  0x0000003e3d24a4ac in get_static_bootstrap_handle () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:641
#5  0x0000003e3d24a5d9 in rtl_bootstrap_get_from_handle (handle=0x0,
pName=0x2aaaaaac5d58, ppValue=0x7fff9554aab0, pDefault=0x0)
    at /usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:668
#6  0x0000003e3d24a604 in rtl_bootstrap_get (pName=0x600a98, ppValue=0x72,
pDefault=0x401008) at /usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:717
#7  0x0000003e3d24e37e in init () at
/usr/src/debug/OOC680_m7/sal/rtl/source/logfile.cxx:143
#8  0x0000003e3d24e6f1 in rtl_logfile_longTrace (format=0x0) at
/usr/src/debug/OOC680_m7/sal/rtl/source/logfile.cxx:229
#9  0x0000003e47e1e014 in sal_main (argc=<value optimized out>, argv=<value
optimized out>) at /usr/src/debug/OOC680_m7/desktop/source/app/main.cxx:73
#10 0x0000003e33420aa4 in __libc_start_main (main=0x4005d0, argc=1,
ubp_av=0x7fff9554ad88, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff9554ad78) at libc-start.c:231
#11 0x0000000000400619 in _start ()
(gdb) frame 0
#0  *__GI__dl_addr (address=0x4005d0, info=0x7fff9554a880, mapp=0x0,
symbolp=0x0) at dl-addr.c:90
90              if ((ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL
(gdb) frame 1
#1  0x0000003e3d22d2f0 in osl_getModuleURLFromAddress (addr=0x0,
ppLibraryUrl=0x7fff9554a930) at module.c:264
264             if ((result = dladdr(addr, &dl_info)) != 0)
(gdb) frame 2
#2  0x0000003e3d238a5f in osl_bootstrap_getExecutableFile_Impl
(ppFileURL=0x7fff9554a930) at
/usr/src/debug/OOC680_m7/sal/osl/unx/process_impl.cxx:160
160                     if (osl_getModuleURLFromAddress (addr, ppFileURL))
Current language:  auto; currently c++
(gdb) frame 3
#3  0x0000003e3d24946d in getIniFileName_Impl () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:184
184         osl_bootstrap_getExecutableFile_Impl (ppFileURL);
(gdb) frame 4
#4  0x0000003e3d24a4ac in get_static_bootstrap_handle () at
/usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:641
641                     OUString iniName (getIniFileName_Impl());
(gdb) frame 5
#5  0x0000003e3d24a5d9 in rtl_bootstrap_get_from_handle (handle=0x0,
pName=0x2aaaaaac5d58, ppValue=0x7fff9554aab0, pDefault=0x0)
    at /usr/src/debug/OOC680_m7/sal/rtl/source/bootstrap.cxx:668
668                 handle = get_static_bootstrap_handle();


Comment 6 Maxim Britov 2006-08-03 08:51:21 UTC
additional valgrind:

$ G_SLICE=always-malloc valgrind /usr/lib64/openoffice.org2.0/program/swriter.bin
==9909== Memcheck, a memory error detector.
==9909== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==9909== Using LibVEX rev 1634, a library for dynamic binary translation.
==9909== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==9909== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation framework.
==9909== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==9909== For more details, rerun with: -v
==9909== 
==9909== Invalid read of size 1
==9909==    at 0x3E335039E9: _dl_addr (dl-addr.c:90)
==9909==    by 0x3E3D22D2EF: osl_getModuleURLFromAddress (module.c:264)
==9909==    by 0x3E3D238A5E: osl_bootstrap_getExecutableFile_Impl
(process_impl.cxx:160)
==9909==    by 0x3E3D24946C: getIniFileName_Impl() (bootstrap.cxx:184)
==9909==    by 0x3E3D24A4AB: get_static_bootstrap_handle() (bootstrap.cxx:641)
==9909==    by 0x3E3D24A5D8: rtl_bootstrap_get_from_handle (bootstrap.cxx:668)
==9909==    by 0x3E3D24A603: rtl_bootstrap_get (bootstrap.cxx:717)
==9909==    by 0x3E3D24E37D: (anonymous namespace)::init() (logfile.cxx:143)
==9909==    by 0x3E3D24E6F0: rtl_logfile_longTrace (logfile.cxx:229)
==9909==    by 0x3E47E1E013: sal_main (main.cxx:73)
==9909==    by 0x3E33420AA3: (below main) (libc-start.c:231)
==9909==  Address 0x40100C is not stack'd, malloc'd or (recently) free'd
==9909== 
==9909== Process terminating with default action of signal 11 (SIGSEGV)
==9909==  Access not within mapped region at address 0x40100C
==9909==    at 0x3E335039E9: _dl_addr (dl-addr.c:90)
==9909==    by 0x3E3D22D2EF: osl_getModuleURLFromAddress (module.c:264)
==9909==    by 0x3E3D238A5E: osl_bootstrap_getExecutableFile_Impl
(process_impl.cxx:160)
==9909==    by 0x3E3D24946C: getIniFileName_Impl() (bootstrap.cxx:184)
==9909==    by 0x3E3D24A4AB: get_static_bootstrap_handle() (bootstrap.cxx:641)
==9909==    by 0x3E3D24A5D8: rtl_bootstrap_get_from_handle (bootstrap.cxx:668)
==9909==    by 0x3E3D24A603: rtl_bootstrap_get (bootstrap.cxx:717)
==9909==    by 0x3E3D24E37D: (anonymous namespace)::init() (logfile.cxx:143)
==9909==    by 0x3E3D24E6F0: rtl_logfile_longTrace (logfile.cxx:229)
==9909==    by 0x3E47E1E013: sal_main (main.cxx:73)
==9909==    by 0x3E33420AA3: (below main) (libc-start.c:231)
==9909== 
==9909== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 801100 from 1)
==9909== malloc/free: in use at exit: 2,120 bytes in 47 blocks.
==9909== malloc/free: 64 allocs, 17 frees, 5,776 bytes allocated.
==9909== For counts of detected errors, rerun with: -v
==9909== searching for pointers to 47 not-freed blocks.
==9909== checked 14,127,280 bytes.
==9909== 
==9909== LEAK SUMMARY:
==9909==    definitely lost: 160 bytes in 4 blocks.
==9909==      possibly lost: 288 bytes in 1 blocks.
==9909==    still reachable: 1,672 bytes in 42 blocks.
==9909==         suppressed: 0 bytes in 0 blocks.
==9909== Use --leak-check=full to see details of leaked memory.

Comment 7 Caolan McNamara 2006-08-03 09:11:30 UTC
Yeah, turns out to be bug 200635

*** This bug has been marked as a duplicate of 200635 ***


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