stsaz / fmedia

fast audio player/recorder/converter
BSD 2-Clause "Simplified" License
212 stars 20 forks source link

fmedia has crashed, Signal:3221225501 #80

Closed ghost closed 2 years ago

ghost commented 2 years ago

Greetings.

I haven't used fmedia for months. When I needed it this time, it crashes as soon as I launch fmedia.exe.

fmedia has crashed: C:\Users\USER\AppData\Local\Temp\fmedia-crashdump-62cc6cda.txt
fmedia (win-x64) v
Signal:3221225501  Address:0x0000000000000000  Flags:0  Thread:1cd4
#0: 0x00007ff7389d8a8d +8a8d D:\USER\Portable\Programs\fmedia\fmedia\fmedia.exe [0x00007ff7389d0000]
#1: 0x00007ff7389d3adf +3adf D:\USER\Portable\Programs\fmedia\fmedia\fmedia.exe [0x00007ff7389d0000]
#2: 0x00007ff88f51ff27 +10ff27 C:\Windows\System32\KERNELBASE.dll [0x00007ff88f410000]
#3: 0x00007ff8918751b0 +a51b0 C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]
#4: 0x00007ff89185c766 +8c766 C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]
#5: 0x00007ff89187209f +a209f C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]
#6: 0x00007ff891821454 +51454 C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]
#7: 0x00007ff891870bce +a0bce C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]
#8: 0x00007ff86b459cb2 +9cb2 D:\USER\Portable\Programs\fmedia\fmedia\mod\core.dll [0x00007ff86b450000]
#9: 0x00007ff86b45a1c8 +a1c8 D:\USER\Portable\Programs\fmedia\fmedia\mod\core.dll [0x00007ff86b450000]
#10: 0x00007ff86b45ea77 +ea77 D:\USER\Portable\Programs\fmedia\fmedia\mod\core.dll [0x00007ff86b450000]
#11: 0x00007ff7389e0bd5 +10bd5 D:\USER\Portable\Programs\fmedia\fmedia\fmedia.exe [0x00007ff7389d0000]
#12: 0x00007ff7389d13c1 +13c1 D:\USER\Portable\Programs\fmedia\fmedia\fmedia.exe [0x00007ff7389d0000]
#13: 0x00007ff7389d14f6 +14f6 D:\USER\Portable\Programs\fmedia\fmedia\fmedia.exe [0x00007ff7389d0000]
#14: 0x00007ff8902a7034 +17034 C:\Windows\System32\KERNEL32.DLL [0x00007ff890290000]
#15: 0x00007ff891822651 +52651 C:\Windows\SYSTEM32\ntdll.dll [0x00007ff8917d0000]

Here are the ways I've tried.

It doesn't matter how or where I launch it, it crashes with this strange error output. It used to work in 1.25.3betabeta. Not anymore, neither with the latest version 1.28.

I had disabled swapfile, pagefile, superfetch, and prefetch while trying to launch fmedia. So I reenabled them, and rebooted before trying again, same result.

I launched this from another drive. So I placed it into C drive when it used to work, same result.

Placed in Program Files, same result.

Launching the fmedia gui shows up no window, and crashes silently.

Fmedia doesn't look like it needs any prerequisites like vcredist dependencies or anything as far as I can see from the install guide.

At this point I'm out of ideas, perhaps the devs might able to figure out from the crash log?

Thank you!

stsaz commented 2 years ago

Hello! First of all, thank you for reporting this bug! The reason why it happens on your PC is because your CPU doesn't support SSE4.1 instruction set. Can you tell me what CPU you have? I overlooked this problem when I first enabled sse4.2 compilation flag several months ago (for faster text processing in some cases). But since all modern amd64 CPUs support sse4.2, it would be a shame not to use it in fmedia. So I guess I can just rebuild fmedia without sse4 for you and the others who use old CPUs. I think I can do it this weekend, so please wait.

ghost commented 2 years ago

Ahh, that makes sense now.

I remember reporting this: https://github.com/stsaz/fmedia/issues/62 I used the old versions and 1.25.2beta, I remember these worked. I just tested and indeed they do!

That explains why my return discovered my fmedia directory looks strangely new. I forgot that I updated fmedia by downloading 1.25.3beta a few months ago, unpacked, and just left it there without launching it. So I had no idea it has sse4.2 enabled.

My cpu is: AMD Phenom(tm) II X4 925 Processor, 2800 Mhz, 4 Core(s), 4 Logical Processor(s)

It doesn't support SSE4.2 as you guessed.

Thank you for the response and kindly for taking into consideration for us users without sse4.2!

stsaz commented 2 years ago

I rebuilt the v1.28 packages for the CPU without SSE4.2. When downloading from the official site, select pre-2011 package (those that have x64old or amd64old suffix) - it should work for your particular CPU.

Just for history: SSE4.1/2 is first appeared in Intel Nehalem (2008) and AMD Bulldozer (2011). SSE4.2 gives new CPU instructions that speed up text-parsing algorithms (they parse 16bytes of data per 1 instruction). I planned to use them for fmedia.conf & fmedia.gui parsers (but still haven't found the time to actually do it) and broke fmedia for all old CPUs by compiling it with -msse42 flag without any good reason. I'm still not sure what's the best solution, but for now there will be just different fmedia packages.