|Summary:||prelink assertion failure|
|Product:||Gentoo Linux||Reporter:||delta407 <delta407>|
|Component:||[OLD] Unspecified||Assignee:||Stefan Jones (RETIRED) <cretin>|
|Package list:||Runtime testing required:||---|
Description delta407 2003-01-13 17:53:37 UTC
This bug is also being tracked in the forums at: http://forums.gentoo.org/viewtopic.php?t=29816 prelink-20021002-r1, (`prelink --version` reads 1.0) and the lastest packages in the Portage tree as of today, January 13 reports the following when attempting to prelink any file: # prelink -a prelink: dso.c:306: fdopen_dso: Assertion `j == k' failed. Aborted This happens on my laptop which was purchased two weeks ago, my desktop which has been fully upgraded over time from Gentoo 1.0_rc6 back in the day, and a server which is about three weeks old.
Comment 1 delta407 2003-02-21 15:08:58 UTC
This problem is due to a UPX-compressed executable in a directory that is being prelinked. firstname.lastname@example.org, the prelink author, has been informed of this matter. Consider adding such a notice to the Gentoo prelink guide.
Comment 2 Stefan Jones (RETIRED) 2003-02-21 15:53:01 UTC
OOh, many thanks I would have never found this one out. Will add it to the howto asap. Many thanks for the info. Stefan
Comment 3 Rusty Phillips 2003-03-02 01:29:18 UTC
I'm not sure about that... I'm getting that bug and I don't have UPX installed at all. Here's an example which fails with that error: prelink -vmR /usr/bin/ls Something tells me it might be more fundamental than that. Do you think 'ls' could possibly linked to a UPX compressed executable?
Comment 4 delta407 2003-03-02 17:02:54 UTC
It's probably just a matter that prelink doesn't recognize the executable format and handles it less than gracefully. I would suggest running `emerge strace`, running `strace -o prelink.log prelink -vmR /usr/bin/ls`, and attaching the resultant prelink.log. This should help find the exact failure condition(s).
Comment 5 Rusty Phillips 2003-03-03 01:21:52 UTC
Okay, the trace gave away the problem. It failed to understand the binary from my antivirus client, which is distributed in binary only format. When I masked it (by masking /usr/local/bin), prelink started to work! Perhaps something should be written about using strace to identify exactly what file is causing a problem?
Comment 6 Stefan Jones (RETIRED) 2003-04-13 06:13:49 UTC
It's in the howto (about the UPX exe) Closing