Log in

View Full Version : VirtualDub keeps crashing on next job


psiko
4th July 2002, 04:40
Every time i try to encode I get an error after each pass. Please help. Here my crash info:
VirtualDub crash report -- build 13870
--------------------------------------

Disassembly:
77f51e40: fc cld
77f51e41: 7733 ja 77f51e76
77f51e43: db db db
77f51e44: 8b45fc mov eax, [ebp-04]
77f51e47: 6aff push ff
77f51e49: 99 cdq
77f51e4a: 68f0d8ffff push ffffd8f0
77f51e4f: 52 push edx
77f51e50: 50 push eax
77f51e51: e898e80200 call 77f806ee
77f51e56: 8945f4 mov [ebp-0c], eax
77f51e59: 8d45f4 lea eax, [ebp-0c]
77f51e5c: 50 push eax
77f51e5d: 6a01 push 01
77f51e5f: 8955f8 mov [ebp-08], edx
77f51e62: e8fcc80200 call 77f7e763
77f51e67: 85c0 test eax, eax
77f51e69: 75d9 jnz 77f51e44
77f51e6b: 57 push edi
77f51e6c: e8aec30200 call 77f7e21f
77f51e71: f6460c40 test [esi+0c], 40
77f51e75: 7412 jz 77f51e89
77f51e77: 895df4 mov [ebp-0c], ebx
77f51e7a: c745f800000080 mov dword ptr [ebp-08], 80000000
77f51e81: 57 push edi
77f51e82: e879c40200 call 77f7e300
77f51e87: ebbb jmp 77f51e44
77f51e89: a17851fc77 mov eax, [77fc5178]
77f51e8e: 83f801 cmp eax, 01
77f51e91: 0f87747a0200 ja 77f7990b
77f51e97: 391d7c51fc77 cmp [77fc517c], ebx
77f51e9d: 75e2 jnz 77f51e81
77f51e9f: 391d7451fc77 cmp [77fc5174], ebx
77f51ea5: 75da jnz 77f51e81
77f51ea7: e94ae50300 jmp 77f903f6
77f51eac: 55 push ebp
77f51ead: 8bec mov ebp, esp
77f51eaf: 53 push ebx
77f51eb0: 8b5d08 mov ebx, [ebp+08]
77f51eb3: 56 push esi
77f51eb4: 8b750c mov esi, [ebp+0c]
77f51eb7: 0fb74602 movzx eax, word ptr [esi+02]
77f51ebb: 57 push edi
77f51ebc: c1e003 shl eax, 03
77f51ebf: 8bfe mov edi, esi
77f51ec1: 2bf8 sub edi, eax
77f51ec3: 3bfe cmp edi, esi
77f51ec5: 740a jz 77f51ed1
77f51ec7: f6470501 test [edi+05], 01
77f51ecb: 0f84fa170000 jz 77f536cb
77f51ed1: f6460510 test [esi+05], 10
77f51ed5: 7512 jnz 77f51ee9
77f51ed7: 8b4510 mov eax, [ebp+10]
77f51eda: 8b00 mov eax, [eax]
77f51edc: 8d3cc6 lea edi, [esi+eax*8]
77f51edf: f6470501 test [edi+05], 01 <-- FAULT
77f51ee3: 0f843d020000 jz 77f52126
77f51ee9: 5f pop edi
77f51eea: 8bc6 mov eax, esi
77f51eec: 5e pop esi
77f51eed: 5b pop ebx
77f51eee: 5d pop ebp
77f51eef: c21000 ret 0010
77f51ef2: 55 push ebp
77f51ef3: 8bec mov ebp, esp
77f51ef5: 8b550c mov edx, [ebp+0c]
77f51ef8: 0fb70a movzx ecx, word ptr [edx]
77f51efb: 81f980000000 cmp ecx, 00000080
77f51f01: 8b4508 mov eax, [ebp+08]
77f51f04: 56 push esi
77f51f05: 8bb070010000 mov esi, [eax+170]
77f51f0b: 894d08 mov [ebp+08], ecx
77f51f0e: 720e jc 77f51f1e
77f51f10: ff886c010000 dec dword ptr [eax+16c]
77f51f16: 85f6 test esi, esi
77f51f18: 0f85ce310000 jnz 77f550ec
77f51f1e: 5e pop esi
77f51f1f: 5d pop ebp
77f51f20: c20800 ret 0008
77f51f23: 8b542404 mov edx, [esp+04]
77f51f27: 8b8270010000 mov eax, [edx+170]
77f51f2d: 53 push ebx
77f51f2e: 8b5c240c mov ebx, [esp+0c]
77f51f32: 66813b8000 db 81
77f51f37: 721b jc 77f51f54
77f51f39: 8d8a6c010000 lea ecx, [edx+16c]
77f51f3f: ff db ff

Windows 5.1 (Win2000 build 2600) []

EAX = 0000fff7
EBX = 00bc0000
ECX = 7ffde000
EDX = 00bc0608
EBP = 0012f880
DS:ESI = 0023:00bd6240
ES:EDI = 0023:00c561f8
SS:ESP = 0023:0012f874
CS:EIP = 001b:77f51edf
FS = 003b
GS = 0000
EFLAGS = 00010246

MM0 = 0070007000700070
MM1 = 00f000f000f000f0
MM2 = 0000003800490066
MM3 = 00000078009d00da
MM4 = 0f7fa5e78f92adea
MM5 = 8000000000000000
MM6 = d000000000000000
MM7 = 8000000000000000
Crash reason: Access Violation

Thread 00000378 (Main thread)
T:\projects\VirtualDub_old\main\Init.cpp(116)
T:\projects\VirtualDub_old\main\Init.cpp(135)
T:\projects\VirtualDub_old\main\Init.cpp(153)
T:\projects\VirtualDub_old\main\FilterSystem.cpp(427)
T:\projects\VirtualDub_old\main\FilterSystem.cpp(561)


77f51edf: ntdll!RtlpUnWaitCriticalSection [77f50000+1cea+1f5]
77f51fbf: ntdll!RtlpUnWaitCriticalSection [77f50000+1cea+2d5]
77f52dbb: ntdll!RtlTimeToTimeFields [77f50000+2a1d+39e]
77f5180b: ntdll!RtlAllocateHeap [77f50000+16f8+113]
00b99c8c: mpeg2dec!?Copyeven@CMPEG2Decoder@@IAEXPAE0HH@Z [00b80000+182f0+199c]
77f7e54f: ntdll!NtClose [77f50000+2e543+c]
00b98233: mpeg2dec!?Close@CMPEG2Decoder@@QAEXXZ [00b80000+18110+123]
00b854e3: mpeg2dec!??4CMPEG2Decoder@@QAEAAV0@ABV0@@Z [00b80000+17b0+3d33]
00b853e8: mpeg2dec!??4CMPEG2Decoder@@QAEAAV0@ABV0@@Z [00b80000+17b0+3c38]
00b23ed8: avisynth!00003ed8
00b34876: avisynth!DllCanUnloadNow [00b20000+f352+5524]
00b34841: avisynth!DllCanUnloadNow [00b20000+f352+54ef]
00b23ed8: avisynth!00003ed8
00b28e59: avisynth!CreateScriptEnvironment [00b20000+6084+2dd5]
00b28e24: avisynth!CreateScriptEnvironment [00b20000+6084+2da0]
00b23ed8: avisynth!00003ed8
00b34876: avisynth!DllCanUnloadNow [00b20000+f352+5524]
00b34841: avisynth!DllCanUnloadNow [00b20000+f352+54ef]
00b23ed8: avisynth!00003ed8
00b2c9be: avisynth!CreateScriptEnvironment [00b20000+6084+693a]
00b2c989: avisynth!CreateScriptEnvironment [00b20000+6084+6905]
00b23ed8: avisynth!00003ed8
00b34876: avisynth!DllCanUnloadNow [00b20000+f352+5524]
00b34841: avisynth!DllCanUnloadNow [00b20000+f352+54ef]
00b23ed8: avisynth!00003ed8
00b25180: avisynth!00005180
00b256c5: avisynth!000056c5
00b256b3: avisynth!000056b3
00b252d2: avisynth!000052d2
00b25291: avisynth!00005291
00b2f6ac: avisynth!DllCanUnloadNow [00b20000+f352+35a]
00b2f54a: avisynth!DllCanUnloadNow [00b20000+f352+1f8]
73b553df: AVIFIL32!AVIFileRelease [73b50000+53d5+a]
0040ea30: AVIReadHandler::_destruct()
0040eb01: AVIReadHandler::Release()
0041511c: InputFileAVI::~InputFileAVI()
00416778: InputFileAVI::(special)()
0045134d: CloseAVI()
10001b28: Sylia!_CreateScriptInterpreter@0 [10000000+11d0+958]
77f516b3: ntdll!RtlFreeHeap [77f50000+1597+11c]
10002c0a: Sylia!_CreateScriptInterpreter@0 [10000000+11d0+1a3a]
10001546: Sylia!_CreateScriptInterpreter@0 [10000000+11d0+376]
10001252: Sylia!_CreateScriptInterpreter@0 [10000000+11d0+82]
0045a367: ?$Vector::reserve()
004621a6: RunScriptMemory()
77d488cc: USER32!IsDialogMessageW [77d40000+8518+3b4]
00458099: VDJob::Run()
00458c0c: VDJob::RunAll()
00457be6: ParseCommandLine()
77d4c1d9: USER32!EnableMenuItem [77d40000+c1b3+26]
00457629: Init()
0045a65b: WinMain@16()
77dd247d: ADVAPI32!RegQueryValueExA [77dd0000+23d7+a6]
77dd24ac: ADVAPI32!RegQueryValueExA [77dd0000+23d7+d5]
00489e9e: _msize()
77f5281e: ntdll!RtlAcquirePebLock [77f50000+27f6+28]
77f52827: ntdll!RtlAcquirePebLock [77f50000+27f6+31]
77dd191b: ADVAPI32!RegCloseKey [77dd0000+189a+81]
77f52837: ntdll!RtlReleasePebLock [77f50000+2828+f]
77e61a53: kernel32!GetStartupInfoA [77e60000+177a+2d9]
77e619eb: kernel32!GetStartupInfoA [77e60000+177a+271]
0048214f: atexit()
00483498: WinMainCRTStartup()
77f52837: ntdll!RtlReleasePebLock [77f50000+2828+f]
77e7eb69: kernel32!CreateProcessInternalW [77e60000+1d9f2+1177]
77f52837: ntdll!RtlReleasePebLock [77f50000+2828+f]

-- End of report

BeerMan240
4th July 2002, 15:11
I believe I'm having the same problem. I just signed up here and waiting 5 days to be able to post I typed up something to be as descriptive as possible...

I don’t know if I’m posting this in the right place or not…. I’m having a problem converting MPEG2 to Divx 5.02. I’m also kinda new to this so I could be missing something… I use virtualdub and set a bunch to encode in the job list, but after each job it crashes. It’s kind of strange, from watching it, it’s ALWAYS at the end of the pass. It will say it’s 100% done and then either Vdub will pop open an error window where I can save the info, or it will just close completely. When I open Vdub again and look at the job list it will say the job was “Aborted”. I checked and there are the log files for divx and the first pass AVI I made. They always crash at 100% of pass one, so I just decided to move on and do pass two and it worked and encoded perfect. It’s no big deal because like I said it will encode perfect, but it is annoying when you set 10 things to encode that will take about 20 hours and go to work or sleep and wake to find it crashed on the very first one….

Argrghghgh…

Any help would be good and I’ll try anything to fix this as I said it’s frustrating. These

are the steps I take to convert…

1. Capture 640x480 MPEG2
2. PVAStrumento
3. DVD2AVI, make a *.d2v and a *.mpa (32khz)
4. Besweet MPA --> WAV (no resample, just convert to WAV)
5. Load *.avs in vdub.
6. Remove commercials in Vdub, set audio to direct stream copy, set divx at 600kpbs, GMC, Bi, 2 pass first pass…
7. Save as AVI in job list, then just change the divx config to, 2 pass, second pass
8. I do this for about 10 captures I’ve done, all about 20mins long

AVS Script:
LoadPlugin("C:\Program Files\Encode\avisynth\MPEG2DEC.dll")
LoadPlugin("C:\Program Files\Encode\avisynth\decomb.dll")
VIDEO=mpeg2source("C:\Program Files\Encode\temp\10.d2v")
AUDIO=WAVSOURCE("C:\Program Files\Encode\temp\10.wav")
AUDIODUB(VIDEO,AUDIO)
Telecide()
Decimate(cycle=5)

Things I’ve tried to narrow down the problem…

-Deleting the MV and other log files divx creates from past encodes and even name each one

differently for each encode
-turned off MP4 tools in the Divx config (GMC and Bidirectional)
-turned off the log file, under
-Installed Nemo codec’s… just stretching for anything….
-reinstalled Divx 5.02 (maybe I’m installing it wrong, it’s the PRO version on a computer

with NO internet access)
-Encoded with NO audio
-Scanned for errors with the menu option in Vdub and found none
-Saved as an Uncompressed AVI (Raw RGB) and it saved at a 26gig file, re-encoded 2 pass again and it worked! However, this isn’t a solution. I do have 240gig available on a RAID 0 array, but I use 100gig for capture and 50gig for other things and don’t have the room to save ten 26gig files… But, why did this work?

I use:
Vdub 1.4.10
AviSynth 1b7d
DVD2AVI 1.76
BeSweet 1.3RC2
Divx 5.02 Pro
PVAStrumento 2.0.19


Whoa! This has gotten way too long. Sorry everyone and thanks for anyone that has taken the time to read all of this, like I said I’m kinda a newbie and I’m completely stuck. I do have the crash info that Vdub made if anyone wants to look at it.

psiko, if you have the HD space and need someting small encoded right away, like I said if you convert to uncompressed RGB first, then both passes will work. Or just try opening VDub again and just hit start it will start the next pass ok

Milky Man
5th July 2002, 16:29
Try to encode 1-pass only. Try add sound as wav in VirtualDub (direct strema copy, of course). Try to don't use dicimate() function. One more thing. I found, that VirtualDub work not good under Win2K. It does not support Job list, for example. So may be everything will work fine under XP. Right now no more idias... :)

BeerMan240
6th July 2002, 02:48
I'll try 1-pass encoding and see if it works, and I'll try removing the Decimate() also from the AVS, I do want to use 2-pass and do an IVTC on the capture I made into divx though. As far as the audio, I did try removing the audio from the AVS file and just added it in Vdub and still got a crash after both passes. ( I also tried no audio and it crashed...) I never thought of trying it without the job list though, I'm going to try that next I think (Just save pass one, let it encode and then save pass two). That's also something I don't really want to be stuck doing, but if it will narrow down the problem...

Oh, one thing to note about my post above, when I do save as an uncompressed AVI (from the AVS script above) it will crash when it's done. But when I take the Uncompressed AVI (26gigs) it will run both passes from the joblist ok and not crash at all.

I think I may post this question on the Avisynth fourm, (*to me*) it's looking like that's where the problem is comming from, because both passes work ok when I'm not using Avisynth to serve out the video.