Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ltr_extractor crashes in free_specs() from hashing.c #194

Open
berniyh opened this issue Mar 23, 2023 · 0 comments
Open

ltr_extractor crashes in free_specs() from hashing.c #194

berniyh opened this issue Mar 23, 2023 · 0 comments

Comments

@berniyh
Copy link

berniyh commented Mar 23, 2023

It seems that with an up2date linux system, the ltr_extractor is not working anymore, possibly due to a newer toolchain (i.e. glibc?).
Running ltr_extractor gives me:

Have e (101)
tir5v2.fw 106 10376 321d060cb7e0bcff6d194631531dd973 e3fb90114455a5b2ff350f49f67da63b79e7eb71
tir5v2.fw 72743 33248 5aeebac5fd168abb71acd75fb89dc2b3 bc4cbf49fa6d4e1c8006a5ce68193f0998ffe367
tir5v2.fw 36076 50651 a140a72d76517a3904d07ec31c1389fc dd01a9508d4874340e585fa4e42499cfed1845f5
tir5v2.fw 98 53803 2a996a9aa23c8762547b75b3249bee8e ce41d72ce4289c5a50b54866e42d5107a9c7ba52
tir5v2.fw 169289 61055 ec793a142481215fce4430c6bf24095e 01e6ea5b84d2958c82d4699a738c3bc7cd8434d6
tir5v2.fw 36145 63093 a2abd72e90decae4d3d4ba761b66e289 de378aad436d0ff8d1affcfbd22ef530712c9237
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/cpprest120_2_7.dll.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/Data.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/Help.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/License.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/NPClient64.dll.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/NPClient.dll.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/ProfileMap.dat.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/Profiles.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/Settings.xml.
Decoding game data.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/sgl.sig.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/simconnect.manifest.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/simconnectSP2.manifest.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/Styles.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/TIRMouse.exe.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/tirmouse.exe.manifest.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/TIRViews.dll.
Analyzing file /tmp/np/drive_c/Program Files (x86)/NaturalPoint/TrackIR5/TrackIR5.exe.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
  Written tir5v2.fw
    Packing the firmware 'tir5v2.fw'.
double free or corruption (out)
zsh: IOT instruction (core dumped)  ltr_extractor --extract 

The backtrace gathered from the coredumpctl tells me:

Core was generated by `./ltr_extractor --extract /tmp/np/drive_c/Program Files (x86)/NaturalPoint/Trac'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc/glibc/nptl/pthread_kill.c
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;                                                                                                                                                                                       
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fbeed08f953 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fbeed040ea8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fbeed02a53d in __GI_abort () at abort.c:79
#4  0x00007fbeed02b29e in __libc_message (fmt=fmt@entry=0x7fbeed1a277e "%s\n") at ../sysdeps/posix/libc_fatal.c:150
#5  0x00007fbeed099657 in malloc_printerr (str=str@entry=0x7fbeed1a55d8 "double free or corruption (out)") at malloc.c:5651
#6  0x00007fbeed09b7b0 in _int_free (av=0x7fbeed1e0aa0 <main_arena>, p=0x7ffd3c8ea430, have_lock=<optimized out>, have_lock@entry=0) at malloc.c:4574
#7  0x00007fbeed09de63 in __GI___libc_free (mem=<optimized out>) at malloc.c:3367
#8  0x00005649bd38a70c in free_specs () at hashing.c:317
#9  0x00005649bd389590 in main (argc=<optimized out>, argv=0x7ffd3c8eb1f8) at hashing.c:570

Edit: I should note that about 2-3 years ago, the firmware extraction still worked for me, with the exact same program, i.e. I didn't recompile it.
I did also check with a newly compiled ltr_extractor and it gives me the same result. So it's not fixed by recompilation either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant