NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Application runs on 4.0, crashes with 5.0 ld.elf_so



In article <gun5u3$2fj$1%ger.gmane.org@localhost>, Gary Duzan  
<gary%duzan.org@localhost> wrote:
>    I've been using finance/kmymoney2 on a NetBSD/i386 4.0-branch server 
>  box successfully for quite some time. A while back I tried running it 
>on  my NetBSD/amd64 5.0-branch workstation, but it would always core 
>during  startup. I was concerned, but I wasn't clear whether it was an 
>OS or an  architecture problem, and I never did track down the specific 
>cause. Now  I have finally gotten around to getting Xen going on my 
>workstation so I  am more free to play with it, and here is what I'm 
>getting.
>
>    I start out with a minimally modified image of the server file 
>systems (4.0 userland) in the DOMU with a 5.0/i386/XEN3PAE_DOMU kernel.
>
>    * Full upgrade by ISO to 5.0 -> kmymoney2 cores
>    - Restore image to start state
>    * Plain boot with 4.0 userland -> fine
>    * Replace /{usr/,}lib/lib*.so (from ldd list) with 5.0 -> fine
>    * Replace /libexec/ld.elf_so with 5.0 -> kmymoney2 cores
>    * Restore original 4.0 /libexec/ld.elf_so -> fine
>
>
>    So something in the new ld.elf_so is causing problems for this 
>program. Here is the stack trace from the last core:
>
>> Core was generated by `kmymoney2'.
>> Program terminated with signal 11, Segmentation fault.
>> #0  0xba64a021 in QString::QString () from /usr/pkg/qt3/lib/libqt-mt.so.3
>> (gdb) where
>> #0  0xba64a021 in QString::QString () from /usr/pkg/qt3/lib/libqt-mt.so.3
>> #1  0x080e9ec2 in QValueListPrivate<QString>::insert ()
>> #2  0xba65db40 in QStringList::split () from /usr/pkg/qt3/lib/libqt-mt.so.3
>> #3  0xbb7cd1e4 in __static_initialization_and_destruction_0 () from
>/usr/pkg/lib/libkmm_mymoney.so.0
>> #4  0xbb7d8b62 in __do_global_ctors_aux () from
>/usr/pkg/lib/libkmm_mymoney.so.0
>> #5  0xbb79543d in _init () from /usr/pkg/lib/libkmm_mymoney.so.0
>> #6  0xbb7f5579 in _rtld_call_init_functions () from /usr/libexec/ld.elf_so
>> #7  0xbad73e60 in ?? ()
>> #8  0xbb7febe0 in ?? () from /usr/libexec/ld.elf_so
>> #9  0xbb7ff444 in _rtld_debug () from /usr/libexec/ld.elf_so
>> #10 0xbb7ff328 in _rtld_objtail () from /usr/libexec/ld.elf_so
>> #11 0xbb7f59e8 in _rtld () from /usr/libexec/ld.elf_so
>> #12 0x00000000 in ?? ()
>> (gdb)
>
>    The stack trace I get from my 5.0/amd64 box is quite similar:
>
>> Core was generated by `kmymoney2'.
>> Program terminated with signal 11, Segmentation fault.
>> #0  QString (this=0x7f7ff6001bd0, s=@0x9c28d0) at tools/qshared.h:49
>> 49      tools/qshared.h: No such file or directory.
>>         in tools/qshared.h
>> (gdb) where
>> #0  QString (this=0x7f7ff6001bd0, s=@0x9c28d0) at tools/qshared.h:49
>> #1  0x00000000004bdaf2 in QValueListPrivate<QString>::insert ()
>> #2  0x00007f7ff9bcb03e in QStringList::split (sep=@0x7f7fffffd570, 
>>     str=@0x7f7fffffd560, allowEmptyEntries=true) at tools/qvaluelist.h:526
>> #3  0x00007f7ffdc4a6ea in __static_initialization_and_destruction_0 ()
>>    from /usr/pkg/lib/libkmm_mymoney.so.0
>> #4  0x00007f7ffdc55feb in __do_global_ctors_aux ()
>>    from /usr/pkg/lib/libkmm_mymoney.so.0
>> #5  0x00007f7ffdc1395e in _init () from /usr/pkg/lib/libkmm_mymoney.so.0
>> #6  0x00007f7ffdf0f908 in _rtld_objlist () from /usr/libexec/ld.elf_so
>> #7  0x00007f7ffde04a52 in _rtld_call_init_functions ()
>>    from /usr/libexec/ld.elf_so
>> #8  0x00007f7ffde04eaf in _rtld () from /usr/libexec/ld.elf_so
>> #9  0x00007f7ffde039ef in .rtld_start () from /usr/libexec/ld.elf_so
>> #10 0x00007f7fffffffe0 in ?? ()
>> #11 0x0000000000000000 in ?? ()
>> Current language:  auto; currently c++
>> (gdb)
>
>    Any ideas where to look next? I'd really like to upgrade the server 
>to 5.0, but I can't until I'm sure kmymoney2 is going to work.

Compile ld.so with all debugging on and setenv LD_DEBUG 1

christos



Home | Main Index | Thread Index | Old Index