Am 22.02.2019 um 04:51 schrieb Eugene Grosbein:
21.02.2019 22:27, Harry Schmalzbauer wrote:

The object is clearly corrupted.

Thanks to your hint to readelf, I found out that it gets corrupted during 
dump(8) (or resotore, not yet analyzed).
The obj tree contains the good version, the dump archive not.
The dump archive is used as source for the ISO, hence the described errors.
Now I have to dig in 10 years old deployment scripts to track down and 
reproduce the corruption.  No explanation so far, but for sure no rtld-elf 
problem :-)
And also not a problem in the FreeBSD make chain, building stable/12 on 
stable/11 works as intended and doesn't produce the mutilated libcrypto.so.111!

You may find useful reading trail of this PR 
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228174

Long story short: dump(8) will read inconsistent data (or even garbage) from 
mounted file system
unless used with -L to make and dump a snapshot. And UFS snapshots are not 
compatible with SU+J UFS
created with installer by default in some versions of FreeBSD.

Thanks a lot for that additional relevant information. I'm aware about the -L & SU+J problem. And I'm not conviced, the default installer settings handle this situation correctly, at least not for the root filesystem!

My issue was unrelated though.
I dump(8)ed a unmounted md(4), but restore(8) hasn't had enough space (only view bytes, so size of the corrupted file wasn't obviously wrong) and the deployment script hasn't checked the return status at all. Fixed the script and now the restore(8)ed libcrypto.so.111 works.

Thanks,

-harry

_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to