richardlehane / siegfried

signature-based file format identification
http://www.itforarchivists.com/siegfried
Apache License 2.0
214 stars 30 forks source link

Crash on Windows 7 #240

Closed sergeevabc closed 2 weeks ago

sergeevabc commented 5 months ago

Windows 7 x64, siegfried 1.11

$ sf.exe
Exception 0xc0000005 0x8 0x0 0x0
PC=0x0

runtime.asmstdcall()
        C:/hostedtoolcache/windows/go/1.21.5/x64/src/runtime/sys_windows_amd64.s:65 +0x75 fp=0x22fca0 sp=0x22fc80 pc=0x468ab5
rax     0x0
rbx     0xabac00
rcx     0xb0e980
rdi     0x7fffffde000
rsi     0x22fea0
rbp     0x22fde0
rsp     0x22fc78
r8      0x0
r9      0x22fee0
r10     0xae0798
r11     0x21
r12     0x22fec0
r13     0x1
r14     0xaba5a0
r15     0x0
rip     0x0
rflags  0x10293
cs      0x33
fs      0x53
gs      0x2b

It crashes because @golang developers cut off (betrayed) Windows 7 users in Go 1.21.

richardlehane commented 5 months ago

Thanks for this detailed report!

Siegfried builds with versions of go from 1.18+ so a workaround would be to install golang 1.20 and do go install github.com/richardlehane/siegfried/cmd/sf@latest to build the sf executable.

If there's an interest, I could also add a windows 7 option to the releases page

sergeevabc commented 4 months ago

@richardlehane, I strongly believe that your file format detector app, Siegfried, which supports various signatures, is able to decompress and hash files, and outputs even in CSV and JSON, should serve a wider audience, including Windows 7 users like me.

sergeevabc commented 4 months ago

Hmm, it doesn't seem to be difficult at all: see examples of Croc and Nexttrace.

richardlehane commented 2 weeks ago

I've added a new github action to build a Win7 release that uses the 1.20 compiler. This will be available from the next release, due in about a week. If you'd like to test it, there's a release candidate available here: https://github.com/richardlehane/siegfried/releases/tag/v1.11.1-rc4

Please re-open if any issues with the new Win7 build. Thanks for the report!