uhulinux / ub-ubk3

64bit-only repo
1 stars 0 forks source link

valgrind defekt #6

Closed attuska closed 6 years ago

attuska commented 6 years ago

synaptic debug...

UBK2/64

attila@attila-pc:~$ valgrind synaptic ==1164== Memcheck, a memory error detector ==1164== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==1164== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==1164== Command: synaptic ==1164== attila@attila-pc:~$

UBK3/64

attila@attila-pc:~$ valgrind synaptic ==1018== Memcheck, a memory error detector ==1018== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==1018== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==1018== Command: synaptic ==1018==

valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind:
valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strlen valgrind: in an object with soname matching: ld-linux-x86-64.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 valgrind:
valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind:
valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind:
valgrind: Cannot continue -- exiting now. Sorry.

attila@attila-pc:~$

attuska commented 6 years ago

Ez glibc hiba lehet, valószínűleg a synaptic esete is ilyesmi lehet.

UBK3

A /lib64 egy szimlink a /lib mappára lib64 -> lib

UBK2

A /lib64 egy valós mappa, benne két szimlink van. ld-linux-x86-64.so.2 -> ../lib/ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 -> ../lib/d-linux-x86-64.so.2

A /lib mappában ld-linux-x86-64.so.2 -> ld-2.26.so

UBK3 -on ld-lsb-x86-64.so.3 szimlink nincs, ezt létrehozva semmi változás.

rezso commented 6 years ago

A fullrebuild vége előtt tök felesleges ilyeneken rugózni. Ugyanez a synaptic esetében is.

attuska commented 6 years ago

A fullrebuild nem oldotta meg. Ugyanez a synaptic esetében is.

attuska commented 6 years ago

A glibc-ben UBK2 és UBK3 közt egy nagy különbség van.

UBK3: ld-2.26.so: ELF 64-bit LSB pie executable x86-64, version 1 (SYSV), dynamically linked, stripped

UBK2: ld-2.26.so: ELF 64-bit LSB pie executable x86-64, version 1 (SYSV), dynamically linked, not stripped

attuska commented 6 years ago

És igen! Nem szabad strippelni! A glibc verziója UBK2 és UBK3 esetén azonos. A régebbi, full rebuild előtti UBK3 telepítményre másolva az UBK2/64 "not stripped" ld-2.26.so fájlját, fut a valgrind!

attila@attila-pc:~$ valgrind synaptic ==936== Memcheck, a memory error detector ==936== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==936== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==936== Command: synaptic ==936== Error in `synaptic': double free or corruption (fasttop): 0x00000000022340e0 attila@attila-pc:~$

Ez a valgrind gondot ugyan megoldja majd, de a synaptic ettől még vacak.

attuska commented 6 years ago

Feltelepítve a nem strippelt glibc csomagot (options fájl: skip-strip) működik. A synaptic nem.

attuska commented 6 years ago

Full-rebuild (újabb glibc) megoldotta.