Re: port binary dumping core on recent head in poudriere

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 24 Nov 2024 23:35:03 UTC
On Nov 24, 2024, at 14:59, Mark Millard <marklmi@yahoo.com> wrote:

> Dimitry Andric <dim_at_FreeBSD.org> wrote on
> Date: Sun, 24 Nov 2024 17:18:51 UTC :
> 
>> On 24 Nov 2024, at 18:07, Guido Falsi <mad@madpilot.net> wrote:
>>> 
>>> . . .
>> 
>> Probably best to create a bugzilla ticket, but as I said before, I cannot reproduce this. So you would have to come up with some scenario on why it is reproducible for you, but not for other people. :)
> 
> I'll remind that I've been reporting that got the failure in my
> context. It is not only Guido that gets it.
> 
> The best evidence that I've reported so far was:
> 
> QUOTE (well, slightly reworded)
> I finally looked in a better place for finding a
> significant difference:
> 
> The good /usr/local/lib/libsass.so.1.0.0 in my context (the
> one in the PkgBase based chroot area) has:
> 
> Contents of section .got.plt:
> 2bed60 78ba2b00 00000000 00000000 00000000  x.+.............
> 2bed70 00000000 00000000 86a62a00 00000000  ..........*.....
> 2bed80 96a62a00 00000000 a6a62a00 00000000  ..*.......*.....
> 2bed90 b6a62a00 00000000 c6a62a00 00000000  ..*.......*.....
> 2beda0 d6a62a00 00000000 e6a62a00 00000000  ..*.......*.....
> 2bedb0 f6a62a00 00000000 06a72a00 00000000  ..*.......*.....
> 2bedc0 16a72a00 00000000 26a72a00 00000000  ..*.....&.*.....
> 2bedd0 36a72a00 00000000 46a72a00 00000000  6.*.....F.*.....
> 2bede0 56a72a00 00000000 66a72a00 00000000  V.*.....f.*.....
> 2bedf0 76a72a00 00000000 86a72a00 00000000  v.*.......*.....
> 2bee00 96a72a00 00000000 a6a72a00 00000000  ..*.......*.....
> 2bee10 b6a72a00 00000000 c6a72a00 00000000  ..*.......*.....
> 2bee20 d6a72a00 00000000 e6a72a00 00000000  ..*.......*.....
> 2bee30 f6a72a00 00000000 06a82a00 00000000  ..*.......*.....
> . . .
> 
> The bad one built in my personal environment has blocks of
> zeros instead (not necessarily all zeros for the section):
> 
> Contents of section .got.plt:
> 2bed60 00000000 00000000 00000000 00000000  ................
> 2bed70 00000000 00000000 00000000 00000000  ................
> 2bed80 00000000 00000000 00000000 00000000  ................
> 2bed90 00000000 00000000 00000000 00000000  ................
> 2beda0 00000000 00000000 00000000 00000000  ................
> 2bedb0 00000000 00000000 00000000 00000000  ................
> 2bedc0 00000000 00000000 00000000 00000000  ................
> 2bedd0 00000000 00000000 00000000 00000000  ................
> 2bede0 00000000 00000000 00000000 00000000  ................
> 2bedf0 00000000 00000000 00000000 00000000  ................
> 2bee00 00000000 00000000 00000000 00000000  ................
> 2bee10 00000000 00000000 00000000 00000000  ................
> 2bee20 00000000 00000000 00000000 00000000  ................
> 2bee30 00000000 00000000 00000000 00000000  ................
> . . .
> 
> So a libsass.so.1.0.0 file-generation time issue, not a
> load-time issue.
> 
> Not that I've any clue why yet.
> END QUOTE
> 
>> For example, do you use any particular make.conf or src.conf settings? CPUTYPE? That kind of thing, anything that is non-default.
> 
> The environment that I got the failure in is my personal one.
> I've not gotten the failure from any official build from
> FreeBSD that I've installed.
> 
> Unfortunately, my personal build is not an example of having
> just one specific thing that is different and I've yet to
> issolate anything that controls the variation in behavior.

Another interesting point is where the bad .got.plt stops being
different from the content in the good file:

Bad .got.polt:

. . .
 2befc0 00000000 00000000 00000000 00000000  ................
 2befd0 00000000 00000000 00000000 00000000  ................
 2befe0 00000000 00000000 00000000 00000000  ................
 2beff0 00000000 00000000 00000000 00000000  ................
 2bf000 96ab2a00 00000000 a6ab2a00 00000000  ..*.......*.....
 2bf010 b6ab2a00 00000000 c6ab2a00 00000000  ..*.......*.....
 2bf020 d6ab2a00 00000000 e6ab2a00 00000000  ..*.......*.....
 2bf030 f6ab2a00 00000000 06ac2a00 00000000  ..*.......*.....
. . .

Good .got.plt:

. . .
 2befc0 16ab2a00 00000000 26ab2a00 00000000  ..*.....&.*.....
 2befd0 36ab2a00 00000000 46ab2a00 00000000  6.*.....F.*.....
 2befe0 56ab2a00 00000000 66ab2a00 00000000  V.*.....f.*.....
 2beff0 76ab2a00 00000000 86ab2a00 00000000  v.*.......*.....
 2bf000 96ab2a00 00000000 a6ab2a00 00000000  ..*.......*.....
 2bf010 b6ab2a00 00000000 c6ab2a00 00000000  ..*.......*.....
 2bf020 d6ab2a00 00000000 e6ab2a00 00000000  ..*.......*.....
 2bf030 f6ab2a00 00000000 06ac2a00 00000000  ..*.......*.....
. . .

Matching starting with 2bf000 looks like a possibly-relevant
alignment oddity.

The output is from commands that are examples of the structure:

# objdump -hs /usr/local/lib/libsass.so.1.0.0 | less

===
Mark Millard
marklmi at yahoo.com