pixop / video-compare

Split screen video comparison tool using FFmpeg and SDL2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pre-built windows binary crashed while loading

mkane7 opened this issue · comments

I downloaded video-compare-20220812-win10-x86_64.zip from the Releases section.
When ran video-compare.exe on Windows 10 the application crashed while loading. Below is the output from the Debug option.
I know the crash info is not much to go on but does anyway one know how I can overcome this problem?

'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\video-compare.exe'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libgcc_s_seh-1.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\SDL2_ttf.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\SDL2.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libstdc++-6.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libwinpthread-1.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\avformat-59.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\avutil-57.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\crypt32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\bcrypt.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbase.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ole32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\win32u.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\gdi32full.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\combase.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\msvcp_win.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\avcodec-59.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ws2_32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libfreetype-6.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\oleaut32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\swscale-6.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\IPHLPAPI.DLL'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ncrypt.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\swresample-4.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\mfplat.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\userenv.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\cfgmgr32.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\SHCore.dll'.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\iconv.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libbz2-1.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\zlib1.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\util\video-compare\libpng16-16.dll'. Module was built without symbols.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\version.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\winmm.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\cryptbase.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\cryptsp.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\rsaenh.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\bcryptprimitives.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\kernel.appcore.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\RTWorkQ.dll'.
'video-compare.exe' (Win32): Loaded 'C:\Windows\System32\ntasn1.dll'.
The thread 0x3c84 has exited with code 0 (0x0).
Unhandled exception at 0x00000001400113F6 in video-compare.exe: 0xC000001D: Illegal Instruction.

--
Here is the dissambly

00000001400113B5 mov rax,qword ptr [rsp+80h]
00000001400113BD mov rbx,rcx
00000001400113C0 mov rcx,rdx
00000001400113C3 mov rdx,r8
00000001400113C6 mov r8d,dword ptr [rsp+90h]
00000001400113CE vmovq xmm2,r9
00000001400113D3 vmovq xmm3,rcx
00000001400113D8 mov qword ptr [rsp+48h],0
00000001400113E1 mov dword ptr [rbx+20h],r8d
00000001400113E5 vpinsrq xmm1,xmm2,rax,1
00000001400113EB vpinsrq xmm0,xmm3,rdx,1
00000001400113F1 mov dword ptr [rsp+28h],r8d
00000001400113F6 vinserti128 ymm0,ymm0,xmm1,1
00000001400113FC mov r8d,dword ptr [rsp+88h]
0000000140011404 mov qword ptr [rsp+40h],0
000000014001140D mov qword ptr [rsp+38h],0
0000000140011416 mov dword ptr [rsp+30h],4
000000014001141E mov dword ptr [rsp+20h],eax
0000000140011422 vmovdqu ymmword ptr [rbx],ymm0
0000000140011426 vzeroupper
0000000140011429 call 00000001400185E0
000000014001142E mov qword ptr [rbx+28h],rax
0000000140011432 add rsp,50h
0000000140011436 pop rbx
0000000140011437 ret

Hey @mkane7,

I'm sorry to hear the executable crashes while loading. Thanks for supplying disassembly - it makes debugging a bit easier.

From your dump I notice several AVX and AVX2 instructions. Does your CPU support AVX2? You can check with a tool like CPU-Z.

I see AVX but not AVX2 in the instructions reported by CPU-Z
image

OK, makes sense the executable crashed while executing vinserti128 on your system then (it's an AVX2 instruction).

I'll lower the requirements to just plain old AVX for the next release.

I hope to have time to put it up tomorrow.

Hey @mkane7,

So I've just released a new version compiled to use AVX. Let me know if 20220816 works on your machine.

Yes, the 20220816 release runs on my machine. Thank you.