From: Evgeny Sinelnikov <sin@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] ldd segfault at verify-elf // samba-4.14.11-alt3: Sisyphus/x86_64 test rebuild failed Date: Wed, 9 Feb 2022 05:43:41 +0400 Message-ID: <CAK42-GrAJ0D+8KCnUSmeyujtG0hFZUqvQrKyiEDjrr7PJquDBQ@mail.gmail.com> (raw) In-Reply-To: <YgMUjPpZeZPia874@glebfm.altlinux.org> ср, 9 февр. 2022 г. в 05:11, Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>: > > On Wed, Feb 09, 2022 at 04:51:32AM +0400, Evgeny Sinelnikov wrote: > > ср, 9 февр. 2022 г. в 03:39, Dmitry V. Levin <ldv@altlinux.org>: > > > > > > On Wed, Feb 09, 2022 at 03:34:57AM +0400, Evgeny Sinelnikov wrote: > > > > Доброй ночи, > > > > > > > > честно говоря, я даже не знаю как к этой проблеме подступиться. > > > > > > > > Вот вышел очередной CVE: > > > > https://git.altlinux.org/tasks/295057/build/200/x86_64/log > > > > > > > > Теперь для его закрытия нужно сделать что? > > > > Раскопать где в недрах waf задаётся правильная линковка? > > > > > > > > Я даже не уверен, что понимаю о чём идёт речь в плане правильная/неправильная. > > > > > > > > Прошу помочь разобраться со следующим: > > > > > > > > 1) Как воспроизвести проверку локально? > > > > Вот я смотрел-смотрел сюда и хотел уже было заплакать, но решил написать: > > > > https://sourceware.org/bugzilla/show_bug.cgi?id=28868 > > > > > > > > 2) Где про всё это можно почитать так, чтобы было понятно? > > > > Я не понимаю как диагностировать и решать данную проблему. > > > > > > Цитирую цитату: > > > > Спасибо, я перечитал. Понял, что не особо понял что будет дальше. > > Поясню. Сборку запустил, ожидаю сам не знаю чего. Не уверен, что > > verify-elf, запускающий ldd со старым алгоритмом сортировки библиотек, > > будет информативнее, что то, что имеется... > > > > Я ведь не понимаю, что ожидается. Как мне догадаться то получилось, > > что имелось в виду как "список ошибок" или нет? > > Ожидается, что при работе verify-elf динамический загрузчик не упадёт и > verify-elf сможет вывести всё, что он должен вывести. > > > > > пн, 7 февр. 2022 г. в 19:12, Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>: > > > [...] > > > > > В данном случае тут и проблема в samba и бага (см. [1]) в новой glibc > > > > > 2.35. Если бы в glibc не было бы баги, то samba (вместе с бы просто > > > > > оказалась во вчерашнем списке пакетов с library not found[2]. > > > > > > > > > > Чтобы посмотреть на список ошибок в упаковке библиотек samba, можно > > > > > добавить export GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1 в конец секции > > > > > %install, чтобы verify-elf запустил ldd со старым алгоритмом сортировки > > > > > библиотек. > > > > Вот такой diff: > > > > sin@xdt samba $ git diff | cat > > diff --git a/samba4.spec b/samba4.spec > > index 759d45b8525..aec070bbea2 100644 > > --- a/samba4.spec > > +++ b/samba4.spec > > @@ -1088,6 +1088,8 @@ install -m755 script/traffic_replay > > %buildroot%_bindir/traffic_replay > > %find_lang pam_winbind > > %find_lang net > > > > +export GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1 > > + > > %if_with testsuite > > %check > > TDB_NO_FSYNC=1 %make_build test V=2 -Onone > > > > > > Вот такой вывод: > > > > ... > > Где-то выше был вывод verify-elf, в нём есть сообщения о том, что при > проверке некоторых ELF-ов не были найдены необходимые библиотеки. > > > Processing files: samba-libs-4.14.12-alt1 > > warning: File listed twice: /usr/lib64/samba/pdb > > Finding Provides (using /usr/lib/rpm/find-provides) > > Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.0jr7RN > > find-provides: running scripts > > (alternatives,debuginfo,gir,lib,pam,perl,pkgconfig,python,python3,shell,typelib,vala) > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libdcerpc-binding.so.0: > > 227 symbols, 18 bpp > > lib.prov: WARNING: > > /usr/src/tmp/samba-buildroot/usr/lib64/libdcerpc-samr.so.0: no symbols > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libdcerpc-server-core.so.0: > > 53 symbols, 16 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libdcerpc.so.0: 169 > > symbols, 18 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libnetapi.so.0: 716 > > symbols, 20 bpp > > warning: hash collision: NetWkstaGetInfo_r ndr_pull_WKSTA_INFO_100 > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsamba-credentials.so.1: > > 109 symbols, 17 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsamba-hostconfig.so.0: > > 582 symbols, 20 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsamba-passdb.so.0: > > 307 symbols, 19 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsamdb.so.0: 44 > > symbols, 16 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsmbconf.so.0: 1133 > > symbols, 21 bpp > > lib.prov: /usr/src/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2: 33 > > symbols, 16 bpp > > Finding Requires (using /usr/lib/rpm/find-requires) > > Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.qVAaY1 > > find-requires: running scripts > > (cpp,debuginfo,files,gir-js,gir-python,gir,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services,typelib,vala) > > /usr/lib/rpm/ldd: line 100: 3544681 Segmentation fault > > LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now > > LD_DEBUG=$debug LD_LIBRARY_VERSION=$verify_out > > LD_PRELOAD="$rtld_preload" "$rtld" --library-path "$rpath" > > "$rtld_target" > > ldd: ERROR: /usr/src/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0: > > trace failed > > Если бы не ошибка в glibc, в этом месте была бы ошибка с указанием того, > какой именно библиотеки не нашлось при обработке библиотеки > libsmbldap.so.2.1.0, но к счастью verify-elf уже диагностировал это выше. sin@xdt samba $ head verify-elf.log Verifying ELF objects in /usr/src/tmp/samba-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=relaxed) verify-elf: WARNING: ./usr/lib/ctdb/ctdb-eventd: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb_mutex_fcntl_helper: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb-config: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb-event: RPATH entry found: /usr/lib64/samba versin@xdt samba $ wc -l verify-elf.log 1167 verify-elf.logify-elf: WARNING: ./usr/lib/ctdb/ctdb_lock_helper: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb-path: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb_recovery_helper: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb_takeover_helper: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib/ctdb/ctdb_killtcp: RPATH entry found: /usr/lib64/samba sin@xdt samba $ wc -l verify-elf.log 1167 verify-elf.log sin@xdt samba $ grep libsmbldap verify-elf.log verify-elf: WARNING: ./usr/lib64/samba/libsmbldaphelper-samba4.so: RPATH entry found: /usr/lib64/samba verify-elf: WARNING: ./usr/lib64/samba/libsmbldaphelper-samba4.so: undefined symbol: decode_account_policy_name verify-elf: WARNING: ./usr/lib64/samba/libsmbldaphelper-samba4.so: undefined symbol: account_policy_get_default verify-elf: WARNING: ./usr/lib64/samba/libsmbldaphelper-samba4.so: undefined symbol: algorithmic_rid_base verify-elf: WARNING: ./usr/lib64/samba/libsmbldaphelper-samba4.so: undefined symbol: get_account_policy_attr verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldaphelper-samba4.so: RPATH entry found: /usr/lib64/samba-dc verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldaphelper-samba4.so: undefined symbol: decode_account_policy_name verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldaphelper-samba4.so: undefined symbol: account_policy_get_default verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldaphelper-samba4.so: undefined symbol: algorithmic_rid_base verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldaphelper-samba4.so: undefined symbol: get_account_policy_attr verify-elf: WARNING: ./usr/lib64/samba-dc/libsmbldap.so.2.1.0: RPATH entry found: /usr/lib64/samba-dc verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-debug-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libreplace-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-security-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsmbd-shim-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libgenrand-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsocket-blocking-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-debug-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libtime-basic-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsys-rw-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libreplace-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libutil-reg-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libmessages-util-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba3-util-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-debug-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libdbwrap-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsys-rw-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libserver-id-db-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libreplace-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-security-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libtalloc-report-printf-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libiov-buf-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsocket-blocking-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libmessages-dgm-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libinterfaces-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-sockets-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libCHARSET3-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsmbd-shim-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-cluster-support-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libutil-tdb-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libtime-basic-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libtdb-wrap-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libgenrand-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libutil-setid-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libserver-role-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libreplace-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-debug-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libgenrand-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libtime-basic-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libreplace-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libserver-role-samba4.so verify-elf: WARNING: ./usr/lib64/libsmbldap.so.2.1.0: not found: libsamba-debug-samba4.so [builder@localhost SPECS]$ ldd ~/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0 linux-vdso.so.1 (0x00007fff8ddfa000) libsamba-util.so.0 => not found libsmbconf.so.0 => not found libsamba-debug-samba4.so => not found libreplace-samba4.so => not found libsamba-security-samba4.so => not found libsmbd-shim-samba4.so => not found libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f24730ab000) liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f2473097000) libtalloc.so.2 => /usr/lib64/libtalloc.so.2 (0x00007f247308a000) libtevent.so.0 => /usr/lib64/libtevent.so.0 (0x00007f2473075000) libc.so.6 => /lib64/libc.so.6 (0x00007f2472e6e000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2472e58000) libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f2472e39000) libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f2472da2000) libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f2472aca000) /lib64/ld-linux-x86-64.so.2 (0x00007f2473126000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2472ac5000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2472a8e000) libz.so.1 => /lib64/libz.so.1 (0x00007f2472a6f000) [builder@localhost SPECS]$ readelf -a ~/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0 |grep RPATH [builder@localhost SPECS]$ readelf -a ~/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0 |grep RPATH [builder@localhost SPECS]$ readelf -a ~/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0 |less [builder@localhost SPECS]$ readelf -a ~/tmp/samba-buildroot/usr/lib64/libsmbldap.so.2.1.0 |grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libsamba-util.so.0] 0x0000000000000001 (NEEDED) Shared library: [libsmbconf.so.0] 0x0000000000000001 (NEEDED) Shared library: [libsamba-debug-samba4.so] 0x0000000000000001 (NEEDED) Shared library: [libreplace-samba4.so] 0x0000000000000001 (NEEDED) Shared library: [libsamba-security-samba4.so] 0x0000000000000001 (NEEDED) Shared library: [libsmbd-shim-samba4.so] 0x0000000000000001 (NEEDED) Shared library: [libldap-2.4.so.2] 0x0000000000000001 (NEEDED) Shared library: [liblber-2.4.so.2] 0x0000000000000001 (NEEDED) Shared library: [libtalloc.so.2] 0x0000000000000001 (NEEDED) Shared library: [libtevent.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] Где же счастье? > > Я не понимаю как мне интерпретировать этот вывод, чтобы что-то понять > > мне требуется воспроизвести проблему руками. В упор, не понимаю как > > мне это сделать. > > -- > glebfm > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel -- Sin (Sinelnikov Evgeny)
next prev parent reply other threads:[~2022-02-09 1:43 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-07 5:41 Ivan A. Melnikov 2022-02-07 15:11 ` Gleb Fotengauer-Malinovskiy 2022-02-08 23:34 ` Evgeny Sinelnikov 2022-02-08 23:39 ` Dmitry V. Levin 2022-02-09 0:51 ` Evgeny Sinelnikov 2022-02-09 1:10 ` Gleb Fotengauer-Malinovskiy 2022-02-09 1:43 ` Evgeny Sinelnikov [this message] 2022-02-09 1:42 ` Dmitry V. Levin 2022-02-09 1:47 ` Evgeny Sinelnikov 2022-02-09 2:04 ` Dmitry V. Levin 2022-02-09 17:43 ` Gleb Fotengauer-Malinovskiy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAK42-GrAJ0D+8KCnUSmeyujtG0hFZUqvQrKyiEDjrr7PJquDBQ@mail.gmail.com \ --to=sin@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git