Does not work on newer glibc (2.36)
baptisterajaut opened this issue · comments
Hey
I'm trying to use your workaround on a modern glibc (2.36) and it segfaults immediately.
It segfaults so hard valgrind doesnt even catch it :
poki@Poki-RedGyarados /opt/logmein-hamachi/bin % sudo -E valgrind ./hamachid
==23746== Memcheck, a memory error detector
==23746== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==23746== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==23746== Command: ./hamachid
==23746==
[1] 23745 segmentation fault sudo -E valgrind ./hamachid
139 poki@Poki-RedGyarados /opt/logmein-hamachi/bin %
I was able to run gdb with the debug symboles and this is what i got :
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
process 23863 is executing new program: /opt/logmein-hamachi/bin/hamachid.org
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7fd34d6 in do_lookup_x (undef_name=undef_name@entry=0x7ffff7ebe001 "free", new_hash=new_hash@entry=2090266759, old_hash=old_hash@entry=0x7fffff7ff138, ref=0x0, result=result@entry=0x7fffff7ff140, scope=<optimized out>, i=<optimized out>, version=0x0, flags=2, skip=<optimized out>, type_class=0, undef_map=0x7ffff7fc2000) at dl-lookup.c:416
Downloading 0.03 MB source file /usr/src/debug/glibc/elf/dl-lookup.c
416 sym = check_match (undef_name, ref, version, flags,
(gdb)
Do you have any idea what to do?
Many thanks