Avidemux Forum

Avidemux => Windows => Topic started by: mm0359 on August 23, 2016, 06:41:24 AM

Title: [Windows XP] v2.6.12 (to v2.6.18) hangs when trying to convert audio
Post by: mm0359 on August 23, 2016, 06:41:24 AM
Windows: XP. (win32)

"avidemux.exe",

v2.6.8v2,
v2.6.9v2 + usp10.dll,
v2.6.10 + usp10.dll,
v2.6.11 + usp10.dll:
work fine.

v2.6.12 + usp10.dll,
v2.6.13 + usp10.dll,
v2.6.14:
Audio "Copy" works fine.
But converting mp2 + ts to Faac/MP3 (for example) + ts/mp4 (for example) starts, then immediately hangs (0% cpu). Need to kill avidemux.exe process.

Issue 1: Do not hang.
Issue 2: Convert audio.

Windows Vista works fine:
Windows XP only issue.
Title: Re: [Windows XP] v2.6.12 (and .13) hangs when trying to convert audio
Post by: mm0359 on August 24, 2016, 11:47:58 PM
Quote from: mm0359 on August 23, 2016, 06:41:24 AM
v2.6.12 + usp10.dll,
v2.6.13 + usp10.dll:
[...] immediately hangs (0% cpu). Need to kill avidemux.exe process.

v2.6.12 + usp10.dll,
avidemux_2.6.13_r160823_win32.exe nightly (http://www.avidemux.org/nightly/win32/) + usp10.dll
admlog.txt ends with (2) EXCEPTION_ACCESS_VIOLATION
...
[FF] Saving
[saveLoop] avg fps=50000
[initUI] Muxer, creating UI, video duration is 00:16:59,240
Paint event
Paint event
Paint event
[startThread] Starting thread...
[startThread] Thread created and started
Saving crash file to ...\avidemux\crash.py
Scripting video streams
Scripting segments
Scripting markers
Scripting post-processing
Scripting video encoder
Scripting video filters
Scripting audio tracks
Scripting muxer
EXCEPTION_ACCESS_VIOLATION
wscanf  [msvcrt.dll]
Crash Dump for ExceptionFilter
EXCEPTION_ACCESS_VIOLATION
wscanf  [msvcrt.dll]
ADM_setCrashHook  [libADM_core6.dll]
ADM_setCrashHook  [libADM_core6.dll]
XcptFilter  [msvcrt.dll]
endthreadex  [msvcrt.dll]
GetModuleFileNameA  [kernel32.dll]

Title: Re: [Windows XP] v2.6.12 (and .13) hangs when trying to convert audio
Post by: mm0359 on August 26, 2016, 08:46:06 PM
v2.6.12 + usp10.dll, on WinXP:
ftr, copying avidemux.exe + libADM_core6.dll from v2.6.11,
works around this issue.
At least, this narrows down (somewhat) where the issue actually is.

v2.6.13 + usp10.dll, on WinXP:
More dlls would need to be copied, I gave up for the time being.
Title: Re: [Windows XP] v2.6.12 (and .13) hangs when trying to convert audio
Post by: mm0359 on August 27, 2016, 03:47:07 AM
Quote from: mm0359 on August 26, 2016, 08:46:06 PM
v2.6.12 + usp10.dll, on WinXP:
ftr, copying avidemux.exe + libADM_core6.dll from v2.6.11,
works around this issue.
At least, this narrows down (somewhat) where the issue actually is.

Works
  Avidemux v2.6.11 (0)  // Release (2016.01.29)

Crashes
  Avidemux v2.6.11 (160210_f4e7b7ff081)  // Debug nightly (http://www.avidemux.org/nightly/win32_debug/)
admlog.txt ends with
...
[FF] Saving
[saveLoop] avg fps=50000
[initUI] Muxer, creating UI, video duration is 00:16:59,240
[startThread] Starting thread...
[startThread] Thread created and started


SysInternals Process Monitor confirms last actions:
1- Create a thread. (From avidemux + 0x9b88 > mx_ffTS + 0x18f2 > coreMuxer6 + 0x36ef > coreAudio6 + 0x1d0c > coreUtils6 + 0x99f7.)
2- Write the end of admlog.txt.
3- Crashes.


Ftr, copying avidemux.exe (only) from v2.6.11,
works around this issue.
At least, this narrows down (somewhat more) where the issue actually is.




(Currently,) Starting at
https://github.com/mean00/avidemux2/commits/master?page=12 (https://github.com/mean00/avidemux2/commits/master?page=12)

Commits on Feb 9, 2016

[i]f4e7b7f[/i]
    [Muxer/webm] Also allow VP9 and Opus
    mean committed Feb 9, 2016

    [win/installer] Add webm
    mean committed Feb 9, 2016

    [muxer] Add webm
    mean committed Feb 9, 2016

    [core/ffmpeg] Enable webm muxer
    mean committed Feb 9, 2016

Commits on Feb 8, 2016

    [jobs] Use the right signal
    mean committed Feb 8, 2016

Commits on Feb 7, 2016

    [editor/audio] Display in 00:00:22.22 rather than in microseconds
    mean committed Feb 7, 2016

    [Demux/ts/Audio] dont take dts unknown as valid seek point
    mean committed Feb 7, 2016

    [Demux/Ts] Cosmetic
    mean committed Feb 7, 2016

Commits on Feb 6, 2016

    [build] We are not in release mode anymore
    mean committed Feb 6, 2016

Commits on Feb 5, 2016

    [bootStrap] Set the env variable so that qtselect picks the right flaââ,¬Â¦
    mean committed Feb 5, 2016

    [ffmpeg] Remove 2.7.2
    mean committed Feb 5, 2016

Commits on Feb 2, 2016

[i]dd4a5e0[/i]
    [core] update ffmpeg to 2.7.6
    mean committed Feb 2, 2016

Commits on Jan 29, 2016

[i]372a52b[/i]
    [installer] update whats new
    mean committed Jan 29, 2016

[i]a75a7e1[/i]
    [2.6.11] Release
    mean committed Jan 29, 2016


Likely(!?) trigger/culprit: FFmpeg 2.7.2 to 2.7.6 upgrade.
Is it possible to rebuild a win32_debug 2.6.11_r160202, to test&confirm?

Ftr, in case it would be related/relevant,
FFmpeg (https://ffmpeg.org/) doesn't seem to say which Windows versions were/are supported...
Windows XP Support And Intel QSV (https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=2&t=2937)
Making Zeranoe builds work under XP & XP builds by rogerdpack (https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=13&t=3572)
Vista support also dropped? (https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=3728)

"Or", is it a (triggered) compiler issue (here) too?
Title: Re: [Windows XP] v2.6.12 (and .13) hangs when trying to convert audio
Post by: mm0359 on August 28, 2016, 11:33:36 PM
Quote from: mm0359 on August 24, 2016, 11:47:58 PM
admlog.txt ends with (2) EXCEPTION_ACCESS_VIOLATION

Ftr, switch(++) to clang from gcc would not fix this issue (yet).

Minor change in stack:
first ADM_setCrashHook become UnhandledExceptionFilter + installSigHandler()

  Avidemux v2.6.13 (160827_3bbe49d1383) .
  Avidemux v2.6.13 (160828_bc4c29c4e69) .

...
Scripting muxer
EXCEPTION_ACCESS_VIOLATION
wscanf  [msvcrt.dll]
Crash Dump for ExceptionFilter
EXCEPTION_ACCESS_VIOLATION
wscanf  [msvcrt.dll]
ADM_setCrashHook  [libADM_core6.dll]
installSigHandler()  [libADM_core6.dll]
UnhandledExceptionFilter  [kernel32.dll]
XcptFilter  [msvcrt.dll]
endthreadex  [msvcrt.dll]
GetModuleFileNameA  [kernel32.dll]

Title: Re: [Windows XP] v2.6.12 (and .13) hangs when trying to convert audio
Post by: mm0359 on August 29, 2016, 11:35:20 PM
Ftr, upgrade(++) of gcc to 4.9.4 from 4.8.3 would not fix this issue (yet).
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mean on October 03, 2016, 01:18:52 PM
The underlying problem is probably 16 bytes stack alignment
It is workarounded more or less successfully on win32

Works by design on all 64 bits OS
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mm0359 on October 04, 2016, 12:49:21 AM
Quote from: mean on October 03, 2016, 01:18:52 PM
The underlying problem is probably 16 bytes stack alignment

Fwiw,

Windows Data Alignment on IPF, x86, and x64 (https://msdn.microsoft.com/en-us/library/aa290049%28v=vs.71%29.aspx)
QuoteWith that said, there are situations on the x86 and x64 platform where unaligned access will generate a general-protection exception. (Note that these are general-protection exceptions, not alignment-check exceptions.) This is when the misalignment occurs on a 128-bit typeââ,¬â€specifically, SSE/SSE2-based types.

The WinXP computer I'm using has MMX(EXT) and SSE(2), but no (S)SSE3.
Setting cpu mask to 0 doesn't help.

Do you think it's SSE(2)-related? If yes, shouldn't mask=0 work around it?
Is it "expected" that Vista/(S)SSE3 succeeds?
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mm0359 on October 24, 2016, 10:43:30 PM
(Still) Crashes
  Avidemux v2.6.14 (0)  // release (http://www.fosshub.com/Avidemux.html/avidemux_2.6.14_win32.exe)

(Still) Crashes
  Avidemux v2.6.14 (161024_8b5bfb9baa1) .  // nightly (http://www.avidemux.org/nightly/win32/)
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mm0359 on October 29, 2016, 05:24:32 AM
Quote from: mm0359 on October 24, 2016, 10:43:30 PM
(Still) Crashes
  Avidemux v2.6.14 (161024_8b5bfb9baa1) .  // nightly (http://www.avidemux.org/nightly/win32/)

Work:
Copy/FDK/Dummy
Copy/Faac/Dummy
null/Faac/Dummy (very slow(er), but anyway)

Hang with exception:
Copy/FDK/MP4
Copy/Faac/TS

Fwiw, the Dummy Muxer works (around?) this issue.
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mm0359 on October 29, 2016, 04:55:28 PM
Fwiw, same exception after upgrading Windows XP to SP3 (from "SP2").
Title: Re: [Windows XP] v2.6.12 (to v2.6.14) hangs when trying to convert audio
Post by: mm0359 on October 31, 2016, 06:57:45 AM
Installed Debug Diagnostic Tool 1.2:


  Avidemux v2.6.14 (161024_8b5bfb9baa1) .


Type of Analysis Performed   Crash Analysis

Thread 8 - System ID 5588
Entry point   msvcrt!_endthreadex+3a

Full Call Stack

Function     Arg 1     Arg 2     Arg 3     Arg 4   Source
msvcrt!_output+655     082cfc98     0061eb14     082cfce8     00000000   
msvcrt!_vsnprintf+2f     65755980     000003ff     0061eb14     082cfce8   
libADM_core6!ADM_info2+27     0061ec99     0061eb14     00000000     030156b0   
avidemux!ZN25ADM_edAudioTrackFromVideo12getPCMPacketEPfjPjPy+2dc     7c90d04c     7c90e43f     082cfd30     00000001   
ntdll!_LdrpInitialize+246     082cfe0c     00000023     00000023     05f3a8a0   
avidemux!ZN22AUDMAudioFilter_Bridge4fillEjPfP10AUD_Status+35     082cfe54     7c90e900     04ff3108     082cfecc   
ntdll!RtlFreeHeap+1e9     04ff39f8     040fbc38     65741b50     082cfef8   
libADM_core6!ZN8admMutex6unlockEv+13     05f3a8a0     00414951     05fb6090     082cff24   
avidemux!ZN22ADM_audioAccess_thread9runActionEv+b1     05ffafe8     05f3a8a0     0000ca3f     05f32c90   
msvcrt!_endthreadex+a9     05f32c90     05f3a8a0     0000ca3f     05f32c90   
kernel32!BaseThreadStart+37     77c3a341     05f32c90     00000000     00000000   

Exception Information
...
the assembly instruction at msvcrt!_output+655 in ...\msvcrt.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x00000000 on thread 8

Symbol File Name:  ...\msvcrt.pdb\7BCF30D8C91B4F1B85FA4E55896250111\msvcrt.pdb


NB: This example is with my LoadTst.ts file.

PS: "getPCMPacket", as in the playing issue ;->
Title: Re: [Windows XP] v2.6.12 (to v2.6.18) hangs when trying to convert audio
Post by: mm0359 on January 27, 2017, 09:26:53 AM
Ftr, "same" crash with win32/avidemux_2.6.18_r170113_win32.exe (http://www.avidemux.org/nightly/win32/avidemux_2.6.18_r170113_win32.exe)
Title: Re: [Windows XP] v2.6.12 (to v2.6.18) hangs when trying to convert audio
Post by: mm0359 on January 27, 2017, 09:28:13 AM
Fixed by
[edAudio] simplify debug statements, may help on win32 (https://github.com/mean00/avidemux2/commit/7e566f0b9804d90e296d8716d313b9b669c39a30)
in
win32/avidemux_2.6.18_r170127_win32.exe (http://www.avidemux.org/nightly/win32/avidemux_2.6.18_r170127_win32.exe)