Log in

View Full Version : XviD Crashes at Random Points


atreya2011
16th April 2004, 12:00
I switched to VirtualDubMod 1.5.4.1. because I read in most of the posts that versions after that were kind of were unstable. I dont know if this is an XviD problem or an AviSynth Problem, although a similar problem has been reported in the XviD forum - http://forum.doom9.org/showthread.php?threadid=69582&highlight=xvidcore+crash
but that was for captured avis. I dont think my problem and that problem are related.

Every time I start to encode it crashes at a random point with another random memory error. I thought it was my RAM problem so I underclocked it. Encoding went smoothly for a few days after that, before it started to crash at random points again

Heres the AviSynth Script:

LoadPlugin("D:\Program Files\AviSynth\MPEG2Dec3dg.dll")
LoadPlugin("D:\Program Files\AviSynth\undot.dll")
mpeg2source("D:\RIPs\Underworld\Underworld.d2v")
crop(0,54,720,364)
BicubicResize(640,272,0,0.75)
Undot()

XviD Settings:
I am using XviD 1.0 RC4 Koepi's Build

adaptive quantization
qpel
bframe settings: 2,1.5,1 (default)
max i frame interval = 240

all the other settings are at default

Crashes only during second pass.

VirtualDub crash report -- build 2066 (release)
--------------------------------------

Disassembly:
03ddcbe0: 0a418b or al, [ecx-75]
03ddcbe3: 5c pop esp
03ddcbe4: 2404 and al, 04
03ddcbe6: 894c240c mov [esp+0c], ecx
03ddcbea: 43 inc ebx
03ddcbeb: ff442410 inc dword ptr [esp+10]
03ddcbef: 83fb08 cmp ebx, 08
03ddcbf2: 895c2404 mov [esp+04], ebx
03ddcbf6: 0f8c90fcffff jl 03ddc88c
03ddcbfc: 83c464 add esp, 64
03ddcbff: 5b pop ebx
03ddcc00: 5d pop ebp
03ddcc01: 5e pop esi
03ddcc02: 5f pop edi
03ddcc03: c3 ret
03ddcc04: 33c0 xor eax, eax
03ddcc06: ebce jmp 03ddcbd6
03ddcc08: 33d2 xor edx, edx
03ddcc0a: 89542458 mov [esp+58], edx
03ddcc0e: eb89 jmp 03ddcb99
03ddcc10: 33d2 xor edx, edx
03ddcc12: e92bffffff jmp 03ddcb42
03ddcc17: 33c9 xor ecx, ecx
03ddcc19: 894c2450 mov [esp+50], ecx
03ddcc1d: e9d1feffff jmp 03ddcaf3
03ddcc22: 33c9 xor ecx, ecx
03ddcc24: 894c2454 mov [esp+54], ecx
03ddcc28: e96efeffff jmp 03ddca9b
03ddcc2d: 33c9 xor ecx, ecx
03ddcc2f: 894c2444 mov [esp+44], ecx
03ddcc33: e908feffff jmp 03ddca40
03ddcc38: 33c9 xor ecx, ecx
03ddcc3a: 894c244c mov [esp+4c], ecx
03ddcc3e: e99cfdffff jmp 03ddc9df
03ddcc43: 33c9 xor ecx, ecx
03ddcc45: 894c2448 mov [esp+48], ecx
03ddcc49: e933fdffff jmp 03ddc981
03ddcc4e: 90 nop
03ddcc4f: 90 nop
03ddcc50: 57 push edi
03ddcc51: 56 push esi
03ddcc52: 55 push ebp
03ddcc53: 53 push ebx
03ddcc54: 83ec28 sub esp, 28
03ddcc57: 8b54243c mov edx, [esp+3c]
03ddcc5b: 8b442440 mov eax, [esp+40]
03ddcc5f: 8b4c2448 mov ecx, [esp+48]
03ddcc63: f7d9 neg ecx
03ddcc65: 83c110 add ecx, 10
03ddcc68: 0fb6d9 movzx ebx, cl
03ddcc6b: 33c9 xor ecx, ecx
03ddcc6d: 890c24 mov [esp], ecx
03ddcc70: 895c2404 mov [esp+04], ebx
03ddcc74: 89542410 mov [esp+10], edx
03ddcc78: 0fb610 movzx edx, byte ptr [eax] <-- FAULT
03ddcc7b: 03d2 add edx, edx
03ddcc7d: 8d5802 lea ebx, [eax+02]
03ddcc80: 0fb64802 movzx ecx, byte ptr [eax+02]
03ddcc84: 2bd1 sub edx, ecx
03ddcc86: 8d0c12 lea ecx, [edx+edx]
03ddcc89: 03c9 add ecx, ecx
03ddcc8b: 03c9 add ecx, ecx
03ddcc8d: 2bca sub ecx, edx
03ddcc8f: 034c2404 add ecx, [esp+04]
03ddcc93: 8d5001 lea edx, [eax+01]
03ddcc96: 0fb66801 movzx ebp, byte ptr [eax+01]
03ddcc9a: 8d742d00 lea esi, [ebp+ebp+00]
03ddcc9e: 03f6 add esi, esi
03ddcca0: 2bf5 sub esi, ebp
03ddcca2: 03f6 add esi, esi
03ddcca4: 03f6 add esi, esi
03ddcca6: 03f6 add esi, esi
03ddcca8: 2bf5 sub esi, ebp
03ddccaa: 03ce add ecx, esi
03ddccac: 8d7803 lea edi, [eax+03]
03ddccaf: 897c2418 mov [esp+18], edi
03ddccb3: 0fb66803 movzx ebp, byte ptr [eax+03]
03ddccb7: 8d742d00 lea esi, [ebp+ebp+00]
03ddccbb: 03f5 add esi, ebp
03ddccbd: 03ce add ecx, esi
03ddccbf: 8d6804 lea ebp, [eax+04]
03ddccc2: 896c2408 mov [esp+08], ebp
03ddccc6: 0fb66804 movzx ebp, byte ptr [eax+04]
03ddccca: 2bcd sub ecx, ebp
03ddcccc: c1f905 sar ecx, 05
03ddcccf: 85c9 test ecx, ecx
03ddccd1: 0f8c61030000 jl 03ddd038
03ddccd7: 81f9ff000000 cmp ecx, 000000ff
03ddccdd: 7e05 jle 03ddcce4
03ddccdf: b9 db b9

Windows 5.1 (Windows XP build 2600) [Service Pack 1]

EAX = 14a9b37f
EBX = 00000010
ECX = 00000000
EDX = 049310b0
EBP = 14a8067f
DS:ESI = 0023:14a9b37f
ES:EDI = 0023:0001ad00
SS:ESP = 0023:05bcd144
CS:EIP = 001b:03ddcc78
FS = 003b
GS = 0000
EFLAGS = 00010246
FPUCW = ffff027f
FPUTW = ffffaaaa

MM0 = 2526262624212227
MM1 = 1213131311101114
MM2 = 0101000001010101
MM3 = 0100010000010000
MM4 = 3130302f2f2e2f2f
MM5 = 1d1d1d1d1d1c1d1d
MM6 = 0100010000010000
MM7 = 0101010101010101

Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'xvidcore'...

...while compressing frame 28614 from 032f0000 to 03cd0020 (VideoSequenceCompressor.cpp:375)...

...while running thread "Processing" (thread.cpp:105).

Thread traces:

Thread 000000d8 (Main thread)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(320)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(350)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(368)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(431)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(307)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(346)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(617)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(645)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(660)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1807)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1828)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(666)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(683)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(424)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(721)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(560)
Thread 0000015c (FastWriteStream)
Thread 00000184 (Processing)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4580)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4226)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4231)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(373)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(388)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4396)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4580)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4226)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4231)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(373)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(388)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4396)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4580)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4226)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(4231)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(373)
Thread 000005bc (Dub-I/O)

Thread call stack:03ddcc78: xvidcore!0000cc78
03e08abc: xvidcore!xvid_encore [03dd0000+1b7e4+1d2d8]
03e0787b: xvidcore!xvid_encore [03dd0000+1b7e4+1c097]
03e06c2a: xvidcore!xvid_encore [03dd0000+1b7e4+1b446]
03dedd1e: xvidcore!xvid_encore [03dd0000+1b7e4+253a]
03ded85b: xvidcore!xvid_encore [03dd0000+1b7e4+2077]
77d4ce65: USER32!ClientThreadSetup [77d40000+ce2d+38]
77d8a492: USER32!MenuItemFromPoint [77d40000+4a476+1c]
77d46202: USER32!SendMessageW [77d40000+61be+44]
77d5d5c6: USER32!IsDlgButtonChecked [77d40000+1d5a6+20]
03ca7ac6: xvidvfw!DriverProc [03ca0000+6428+169e]
03deb82d: xvidcore!xvid_encore [03dd0000+1b7e4+49]
03ca6812: xvidvfw!DriverProc [03ca0000+6428+3ea]
77f7e358: ntdll!RtlInvertRangeList [77f50000+2e26c+ec]
77f7e358: ntdll!RtlInvertRangeList [77f50000+2e26c+ec]
77e7b063: kernel32!GetModuleFileNameA [77e60000+1ada9+2ba]
77e7b085: kernel32!GetModuleFileNameA [77e60000+1ada9+2dc]
77e7aeb7: kernel32!GetModuleFileNameA [77e60000+1ada9+10e]
77f944a8: ntdll!RtlRemoteCall [77f50000+442ea+1be]
77f944a8: ntdll!RtlRemoteCall [77f50000+442ea+1be]
77f57d70: ntdll!RtlAllocateHeap [77f50000+7bae+1c2]
77f58a3a: ntdll!RtlAllocateHeap [77f50000+7bae+e8c]
77f944a8: ntdll!RtlRemoteCall [77f50000+442ea+1be]
77f944a8: ntdll!RtlRemoteCall [77f50000+442ea+1be]
77f57f98: ntdll!RtlAllocateHeap [77f50000+7bae+3ea]
77f58a3a: ntdll!RtlAllocateHeap [77f50000+7bae+e8c]
77f944a8: ntdll!RtlRemoteCall [77f50000+442ea+1be]
77f5b554: ntdll!NtAllocateVirtualMemory [77f50000+b548+c]
77f834de: ntdll!RtlSizeHeap [77f50000+33316+1c8]
77f596da: ntdll!RtlFreeHeap [77f50000+8a3e+c9c]
77f576f1: ntdll!LdrGetDllHandle [77f50000+718e+563]
77f58497: ntdll!RtlAllocateHeap [77f50000+7bae+8e9]
77f57f98: ntdll!RtlAllocateHeap [77f50000+7bae+3ea]
77f58a3a: ntdll!RtlAllocateHeap [77f50000+7bae+e8c]
77fb172e: ntdll!RtlConvertUlongToLargeInteger [77f50000+616c0+6e]
77fb1700: ntdll!RtlConvertUlongToLargeInteger [77f50000+616c0+40]
77f9790d: ntdll!RtlUnhandledExceptionFilter [77f50000+47865+a8]
771256e2: oleaut32!SafeArrayCopyData [77120000+53c7+31b]
77e7a6e5: kernel32!LocalAlloc [77e60000+1a682+63]
77f75dba: ntdll!KiUserExceptionDispatcher [77f50000+25dac+e]
77f5b644: ntdll!NtContinue [77f50000+b638+c]
77f75dc8: ntdll!KiUserExceptionDispatcher [77f50000+25dac+1c]
73bd181d: MSVFW32!ICSendMessage [73bd0000+17f4+29]
73bd4789: MSVFW32!ICCompress [73bd0000+4728+61]
0049e9f6: VideoSequenceCompressor:: packFrame()
004778c0: Dubber::WriteVideoFrame()
77e7a652: kernel32!WaitForSingleObjectEx [77e60000+1a5a2+b0]
77e7ac21: kernel32!WaitForSingleObject [77e60000+1ac12+f]
00517692: VDSignalBase::wait()
0046b377: AVIPipe::getReadBuffer()
00478495: Dubber::ThreadRun()
77e73887: kernel32!RaiseException [77e60000+13837+50]
77f5b884: ntdll!NtDuplicateObject [77f50000+b878+c]
77e7f01b: kernel32!DuplicateHandle [77e60000+1efb6+65]
77e7f02b: kernel32!DuplicateHandle [77e60000+1efb6+75]
77e7f02b: kernel32!DuplicateHandle [77e60000+1efb6+75]
005175b9: VDThread::StaticThreadStart()
0054f4ca: _threadstartex@4()
77e7d33b: kernel32!RegisterWaitForInputIdle [77e60000+1d2f8+43]

-- End of report

jimmy basushi
16th April 2004, 12:10
maybe your ram is faulty, someone posted about problems with that awhile back.. they also suggested to use a ram tester

Dragon Shenron
16th April 2004, 12:46
You might check your source for bad (unreadable) frames. I sometimes got a similar error with a damaged video stream.
You could try another codec to see if XviD is the problem.

atreya2011
16th April 2004, 12:58
maybe your ram is faulty, someone posted about problems with that awhile back.. they also suggested to use a ram tester

RAM Tester? Any good tester you can recommend?

You might check your source for bad (unreadable) frames. I sometimes got a similar error with a damaged video stream.

The source isnt bad since I already did a 2 cd rip and now I am trying a 1 CD encode.

RexManning
16th April 2004, 15:06
Try Memtest86 (http://www.memtest86.com/).

regards,
rex

Asmodian
17th April 2004, 00:34
Also running prime95 for ~24 hours is a good general system stability test (if it keeps running prime95 for 24 hours then you most likely don't have a hardware problem).

http://www.mersenne.org/freesoft.htm

atreya2011
18th April 2004, 05:20
Sorry for the late reply, but Memtest86 is supposed to be Intel i386 architecture(whatever that means) and I am using AMD Athlon. Is it safe to use it with my AMD?

jang0
18th April 2004, 13:40
short answer: yes

longer answer: i can say that for sure, already tried it with my athlon. Intel and AMD use the same processor architecture, only the newer AMDs use an extension of it called AMD64, but i think it's backwards compatible to i386.

atreya2011
20th April 2004, 18:41
Ok I finally found some time to do a memory test and my RAM seems to be working fine. And ofcourse, the crashes still occur and I am completely baffled by the fact that I finished an 1CD encode successfully and when I tried the same encode again, it crashed (5 attempts and 5 crashes at random points).

Sumster
12th May 2004, 03:40
I'm having almost identical crashes with XVIDCORE on my Athlon system. Tried memtest... no problem. Tried Prime95... no problem for over 2 days. Even did burn-in test for hours and no problems.

Clean install, latest updates and drivers.

Interesting... been using GordianKnot and DIVX for a LONG time and never had instability problems before (over 100 movies). First time using AutoGK and XVID and boom.... XVIDCORE crashes at random points throughout.

Sumster

Birdy1
1st June 2004, 13:33
I also have random crashes in XVIDCORE, but only when I set deringing and deblocking on in the decoder.

celtic_druid
1st June 2004, 14:59
If you have a dering option then you are either running a cvs head compile or I guess an old beta where the GUI still had deringing options even though they did nothing.

Perhaps try upgrading or downgrading.

Koepi
1st June 2004, 15:28
XviD stresses your cpu and memory more than you'd image - even if memtest et al. don't find anything with your system, XviD is able to knock harder.

Try better cooling, reattaching your CPU-cooler (be careful with the thermal paste please!), or a more stable PSU(!).

Regards
Koepi

Sumster
1st June 2004, 23:02
koepi,

you were right... I ran memtest86 and i found a few errors on test #5. Ironically, I had run Prime 95, Burn-in Test, and did 100's of DIVX encodes with no problem.

Anyways, I found 2 things that would consistently cause a crash --> transcoding a long AC3 to MP3 in Besweet and using XVIDCORE.

I simply set my FSB down to 130 from 133 with lower memory timings (plus upped the voltage a touch) --> no problems on Memtest. I've encoded 12 movies with XVID and not a single crash. It was hardware... I admit it :).

Thanks,

Sumster

Pen-Pen
2nd June 2004, 06:51
downclocking *shouldn't* be required

I had the same problem some time ago, until I realised my CPU fan & cooler were as dirty as hell... I cleaned them and temperature got down about 20°C :)

To be sure I also bought a pair of 3000 RPM case fans, now my Athlon XP 2000+ hardly ever goes over 50°C when encoding :D

EDIT : yeah, I forgot to mention : now it sounds like I'm living close to an airport but hey... life's about compromises, isn't it ? ^^