Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 118522
Summary: | prelink segfault (runs from cron) | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Neal Becker <ndbecker2> | |
Component: | prelink | Assignee: | Jakub Jelinek <jakub> | |
Status: | CLOSED ERRATA | QA Contact: | ||
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | rawhide | CC: | eirik.thorsnes, pmacedo | |
Target Milestone: | --- | |||
Target Release: | --- | |||
Hardware: | athlon | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | prelink-0.3.2-1 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 595557 (view as bug list) | Environment: | ||
Last Closed: | 2004-05-12 10:08:10 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 114963 | |||
Attachments: |
Description
Neal Becker
2004-03-17 12:59:03 UTC
It certainly works for me, so I need your help to find out what's going on. Please download and install prelink-debuginfo-0.3.1-1 (or upgrade both to 0.3.1-2), look into /var/log/prelink.log what options have been passed to prelink (first line in the log) and run gdb /usr/sbin/prelink set args -av -mR -q # (or whatever options you see there) run and if that segfaults, I'd be interested in seeing backtrace (bt), and later other details too. I want to check if the problem disappeared after yesterday's massive update. Where would I look? /var/log/prelink.log shows nothing interesting.. If it segfaulted, root will get mail that the cron job failed. Same problem here. FC2T3 all updated , with prelink and prelink-debuginfo. Result from gdb: parameters: /usr/sbin/prelink -av -mR -f prelink: cxx.c:68: find_cxx_sym: Assertive `n < ndeps' failed. Program received signal SIGABRT, Aborted. 0x080ad391 in kill () (gdb) bt #0 0x080ad391 in kill () #1 0x080ad128 in raise () #2 0x00000006 in ?? () #3 0xfeeefa08 in ?? () #4 0x0808db1a in abort () Previous frame inner to this frame (corrupt stack?) (gdb) Anything else I can provide to help? Confirm same problem. FC2T3 updated, prelink and prelink-debuginfo = 0.3.1-2. selinux=0 on boot (if it matters) parameters: /usr/sbin/prelink -av -mR -q but get same result without the -m and -q (although it seems to prelink more libs before abort) gdb: [snip] Prelinking /usr/bin/ksmserver Detaching after fork from child process 17505. prelink: cxx.c:68: find_cxx_sym: Assertion `n < ndeps' failed. Program received signal SIGABRT, Aborted. 0x080ad391 in kill () (gdb) bt #0 0x080ad391 in kill () #1 0x080ad128 in raise () #2 0x00000006 in ?? () #3 0xfef46428 in ?? () #4 0x0808db1a in abort () Previous frame inner to this frame (corrupt stack?) (gdb) Can I ask you for tarball created by: tar cjhf /tmp/ksmserver.tar.bz2 `LD_TRACE_PRELINKING=1 LD_WARN= /usr/bin/ksmserver | awk '{print $3}'` (or replace /usr/bin/ksmserver by whatever program you get this on)? Also, please add -vvvv to prelink opts and see the messages printed before the abort (). Thanks. Created attachment 99880 [details]
complete log of screen session when running prelink in gdb with args -aR -vvvv
Attached file uncompresses to 13MB textfile.
The ksmserver.tar.bz2 created from command in comment #6, is too large to attach (7MB). Uploaded here: http://www.pki.uib.no/images/ksmserver.tar.bz2 Do you want similar ones for other programs that fails? Unfortunately, I cannot reproduce this. ksmserver is prelinked just fine with: prelink -vmR -c ./prelink.conf --ld-library-path . --dynamic-linker ././/ld-linux.so.2 ./ksmserver (modified ksmserver, so that interpreter is ././/ld-linux.so.2). So, can you please install prelink-debuginfo, run prelink under gdb with the arguments you used and put a breakpoint: b cxx.c:68 if n < ndeps ? Then if that breakpoint gets hit, p info->dso->filename p addr p ndeps p n Then print info->dso[N] for N 0 through ndeps - 1 and info->dso->base and info->dso->end? Thanks. Created attachment 99885 [details]
screenlog of gdb session (snipped of some error msg) args: -aR -v
If you try once more, does it die on info->dso->filename /usr/bin/kdcop as well? If yes, can you build a tarball with kdcop and its dependencies instead of ksmserver? Created attachment 99891 [details]
screenlog of gdb session reproducing fault at kdcop file
kdcop.tar.bz2 created from similar command as in comment #6 uploaded here: http://www.pki.uib.no/images/kdcop.tar.bz2 Can you please try ftp://people.redhat.com/jakub/prelink/prelink*0.3.1-2.0.2*.rpm ? It solves the prelink: cxx.c:68: find_cxx_sym: Assertive `n < ndeps' failed. problem for Ingo Molnar who saw this problem on his box as well. Thanks. Confirms that prelink from comment #14 fixes problem for me. I was just about to post that adding -q to the command and running many times (20+) makes it able to finish the prelinking. Prelink from comment #14 completes run with args: -amvRf without "ndeps" errors or aborts. An errata has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2004-386.html |