PDA

View Full Version : VirtualDub Crashes from Compression Menu


TheTooleMan
12th December 2008, 18:34
When I open any file in VirtualDub 1.8.6 and click on "Compression" under the "Video" menu, VirtualDub stops working. Windows Vista Home Premium shows a message which says, "VirtualDub has stopped working."

I am able to use VirtualDub with scripts generated by AutoGK, running them scripts in a step-by-step fashion, so what's the difference with the interactive mode?
:thanks:

LoRd_MuldeR
12th December 2008, 18:38
I guess there's a "bad" video codec installed. As soon as VirtualDub tries to query information from that codec (to display in the list) a crash occurs.

Try to find the conflicting codec and uninstall/disable it.

Does Vista's crash dialog still allow you to see in which module it crashed? If so, this can give you a first hint.

Otherwise you'll need to fire up your debugger and do a stacktrace...

TheTooleMan
12th December 2008, 19:39
I looked at the Windows event logs and found a bunch of info, which I pasted below. It's not very helpful to me. Do you see anything that tells you what's going on?

Maybe the scripts I can run successfully in VirtualDub only load the necessary codecs, which is why they don't crash. Does that sound like a possible explanation to you? I was wondering if VirtualDub could not find any codecs to list in the Compression dialog. Where would it pull that list from?

There's no installation process per se for VirtualDub that I know of. I just unzipped the files into a folder and run it from there. Is that how it works or did I miss something important?

Here's the event log info:

Log Name: Application
Source: Application Error
Date: 12/12/2008 11:54:12 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: 4PZ7MG1
Description:
Faulting application VirtualDub.exe, version 1.8.6.0, time stamp 0x48d69b5b, faulting module unknown, version 0.0.0.0, time stamp 0x00000000, exception code 0xc0000096, fault offset 0x03ac2a3b, process id 0x1544, application start time 0x01c95c825ae21680.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2008-12-12T17:54:12.000Z" />
<EventRecordID>16735</EventRecordID>
<Channel>Application</Channel>
<Computer>4PZ7MG1</Computer>
<Security />
</System>
<EventData>
<Data>VirtualDub.exe</Data>
<Data>1.8.6.0</Data>
<Data>48d69b5b</Data>
<Data>unknown</Data>
<Data>0.0.0.0</Data>
<Data>00000000</Data>
<Data>c0000096</Data>
<Data>03ac2a3b</Data>
<Data>1544</Data>
<Data>01c95c825ae21680</Data>
</EventData>
</Event>

Poking around a little more led me to this information:

Version=1
EventType=APPCRASH
EventTime=128735767121520000
ReportType=2
Consent=1
UploadTime=128735767152930000
Response.BucketId=1052155333
Response.BucketTable=1
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=VirtualDub.exe
Sig[1].Name=Application Version
Sig[1].Value=1.8.6.0
Sig[2].Name=Application Timestamp
Sig[2].Value=48d69b5b
Sig[3].Name=Fault Module Name
Sig[3].Value=StackHash_beff
Sig[4].Name=Fault Module Version
Sig[4].Value=0.0.0.0
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=00000000
Sig[6].Name=Exception Code
Sig[6].Value=c0000096
Sig[7].Name=Exception Offset
Sig[7].Value=02ad2a3b
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.0.6001.2.1.0.768.3
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=beff
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=5d17bed428f015cbfc7c0d86a6e43719
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=30f6
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=0f1b168c12acbbd0401d6d34ca8467b0
UI[2]=C:\Users\Shaun Toole\Downloads\VirtualDub\VirtualDub-1.8.6\VirtualDub.exe
UI[3]=VirtualDub has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
State[0].Key=Transport.DoneStage1
State[0].Value=1
State[1].Key=DataRequest
State[1].Value=Bucket=1052155333/nBucketTable=1/nResponse=1/n
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=VirtualDub
AppPath=C:\Users\Shaun Toole\Downloads\VirtualDub\VirtualDub-1.8.6\VirtualDub.exe

LoRd_MuldeR
12th December 2008, 19:57
Faulting application VirtualDub.exe, version 1.8.6.0, time stamp 0x48d69b5b, faulting module unknown

That doesn't help much. Try running VirtaulDub in a Debugger and do a stacktrace on crash...

TheTooleMan
12th December 2008, 20:21
That doesn't help much. Try running VirtaulDub in a Debugger and do a stacktrace on crash...
Any particular debugger? I don't know of any...

setarip_old
12th December 2008, 20:26
@TheTooleMan

Hi!

1) Have you tried simply deleting and reinstalling VirtualDub v.1.8.6?

2) Have you previously been able to successfully use VirtualDub v.1.8.6 in the same mode?

TheTooleMan
12th December 2008, 20:41
@TheTooleMan

Hi!

1) Have you tried simply deleting and reinstalling VirtualDub v.1.8.6?

2) Have you previously been able to successfully use VirtualDub v.1.8.6 in the same mode?
1) No, I have not tried reinstalling. But what is there to the installation? I've only downloaded and unzipped the compressed files and run VirtualDub.exe from the folder where I unzipped it. Is there more to the installation process?

2) I have tried to use VirtualDub 1.8.5 and it has not worked either. Nor do any versions of VirtualDubMod when run from the GUI.

LoRd_MuldeR
12th December 2008, 20:56
Any particular debugger? I don't know of any...

What about GDB (https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20507) ???

You use it like this from "VirtualDub" folder:
C:\gdb\bin\gdb.exe VirtualDub.exe

Type "run" to launch the app, type "bt" to get a stacktrace after the crash...

TheTooleMan
12th December 2008, 21:37
What about GDB (https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20507) ???

You use it like this from "VirtualDub" folder:
C:\gdb\bin\gdb.exe VirtualDub.exe

Type "run" to launch the app, type "bt" to get a stacktrace after the crash...
What do you mean by

"from VirtualDub folder?"

Do I run gdb in a command window or does it have a gui?

LoRd_MuldeR
12th December 2008, 21:45
What do you mean by

"from VirtualDub folder?"

Do I run gdb in a command window or does it have a gui?

From the shell, that is "cmd.exe". First switch to VirtualDub folder, then call the debugger on VirtualDub.exe ;)

cd \
cd "Program Files (x86)\VirtualDub"
c:\gdb\bin\gdb.exe VirtualDub.exe
[...]
run

Adjust the paths were necessary. Type "c" to continue when the program breaks. And type "bt" as soon as it has crashed...

TheTooleMan
12th December 2008, 21:58
Ok, that helps. Thanks.

After a few tries, I've made it bomb on the Compression menu. I highlighted the errors in red, but there are also warnings which may/may not be pertinent.

The messages say:

C:\Users\Shaun Toole\Downloads\VirtualDub\VirtualDub-1.8.6>c:\gdb\bin\gdb.exe virtualdub.exe
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32"...
(no debugging symbols found)
(gdb) run
Starting program: C:\Users\Shaun Toole\Downloads\VirtualDub\VirtualDub-1.8.6/virtualdub.exe
[New thread 3716.0x106c]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New thread 3716.0x141c]
[New thread 3716.0x14e0]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .reloc
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .reloc
(no debugging symbols found)
(no debugging symbols found)
Error: dll starting at 0x72660000 not found.
(no debugging symbols found)
[New thread 3716.0x1280]
(no debugging symbols found)
[New thread 3716.0x13e8]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New thread 3716.0x174c]
(no debugging symbols found)
(no debugging symbols found)
[New thread 3716.0xab8]
[New thread 3716.0x179c]
[New thread 3716.0x14e8]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Error: dll starting at 0x679e0000 not found.
(no debugging symbols found)
(no debugging symbols found)
BFD: C:\Windows\System32\WMVCORE.DLL: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .reloc
BFD: C:\Windows\System32\WMVCORE.DLL: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .reloc
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
warning: %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%
s%s%s%s%s%s%s%s%s
warning: %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%
s%s%s%s%s%s%s%s%s
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGILL, Illegal instruction.
0x03832a3b in ?? ()
(gdb) bt
#0 0x03832a3b in ?? ()
#1 0x0000009c in ?? ()
#2 0x0012e62c in ?? ()
#3 0x0012d574 in ?? ()
#4 0x038329f9 in ?? ()
#5 0x029ab13b in ?? ()
#6 0x0385d968 in ?? ()
#7 0x0000009c in ?? ()
#8 0x0012cea0 in ?? ()
#9 0x0012d54c in ?? ()
#10 0x0012e62c in ?? ()
#11 0x0012e62c in ?? ()
#12 0x03853180 in ?? ()
#13 0x03854598 in ?? ()
#14 0x00000000 in ?? ()
(gdb) c
Continuing.

Program received signal SIGILL, Illegal instruction.
0x03832a3b in ?? ()
(gdb)

Hope that helps.

TheTooleMan
12th December 2008, 22:01
Oops - it gave me one more bit of info:

Program exited with code 0377.

LoRd_MuldeR
12th December 2008, 22:11
Hope that helps.

Not really. I was hoping to see the module name in the stacktracke, but there's nothing.
And we don't see the function names, because you aren't using a debug build of VirtualDub.
Guess you'd need to obtain/make a debug build.

However "Illegal instruction" means that either VirtualDub or one of the Codecs tries to call an instruction that isn't supported by your CPU.
For example try to call a SSE instruction on an old Pentium II CPU ...

squid_80
12th December 2008, 22:45
Actually from the Application Error report the unhandled exception is 0xC0000096 - Privileged Instruction. That's different to an Illegal Instruction exception, the only time I've seen it is with old programs that try to access hardware ports directly. No idea which codec is responsible or what it could be attempting to do.
What you could do is right-click My Computer->Properties->Hardware Tab->Device Manager->Sound, video and game controllers->Video Codecs (double-click)->Properties Tab and list all the codecs shown there.

EDIT: After thinking about it for more than half a minute, it's probably DEP related.

TheTooleMan
13th December 2008, 01:09
However "Illegal instruction" means that either VirtualDub or one of the Codecs tries to call an instruction that isn't supported by your CPU.
For example try to call a SSE instruction on an old Pentium II CPU ...
I'm wondering if this is some kind of Vista-centric problem. I'm running an Intel Core2 Quad CPU Q6600@2.4GHz


What you could do is right-click My omputer->Properties->Hardware Tab->Device Manager->Sound, video and game controllers->Video Codecs (double-click)->Properties Tab and list all the codecs shown there.

EDIT: After thinking about it for more than half a minute, it's probably DEP related.
What's DEP?

The only thing under Sound, video and game controllers in Device Manager is my sound card. Where would I find the codecs listed?

LoRd_MuldeR
13th December 2008, 01:12
I'm wondering if this is some kind of Vista-centric problem. I'm running an Intel Core2 Quad CPU Q6600@2.4GHz

I'm running the same CPU on Windows XP x64-Edition. Runs like a charm, including VirtualDub. No need to mess with Vista, really.

Nevertheless I'm not aware of a general incompatibility between Vista and VirtualDub. We'd see more people complain about that issue, that's for sure ;)

What's DEP?

http://en.wikipedia.org/wiki/Data_Execution_Prevention

Goto "My Computer" -> Right-click -> "Properties" -> "Advanced" -> "Performance" -> "Settings" -> "Data Execution Prevention"
Then select "Turn on DEP for essential Window programs and services only", click OK two times and then reboot.

http://img120.imageshack.us/img120/5672/dataexecutionpreventionpg4.th.png (http://img120.imageshack.us/img120/5672/dataexecutionpreventionpg4.png)


The only thing under Sound, video and game controllers in Device Manager is my sound card. Where would I find the codecs listed?

You find it in the "Device Manager" under "Sound, video and game controllers" -> "Video Codecs"

http://img354.imageshack.us/img354/584/videocodecspropertiesye9.th.png (http://img354.imageshack.us/img354/584/videocodecspropertiesye9.png)

TheTooleMan
13th December 2008, 02:36
You find it in the "Device Manager" under "Sound, video and game controllers" -> "Video Codecs"

http://img354.imageshack.us/img354/584/videocodecspropertiesye9.th.png (http://img354.imageshack.us/img354/584/videocodecspropertiesye9.png)
Vista is different. As I said, all I have under "Sound, video and game controllers" is "Envy24 Family Audio Controller WDM." So I wonder where I'd find the codecs...?

I already had DEP set to "Turn on DEP for all programs and services except those I select." (I think "turn on" in Vista lingo means "allow to run." I get a message about DEP being off whenever I boot.) I have "COM Surrogate" in the exceptions list. Just tried removing "COM Surrogate" from the list and running VirtualDub. Same damn thing.

LoRd_MuldeR
13th December 2008, 02:46
I already had DEP set to "Turn on DEP for all programs and services except those I select."

Exactly that may be the reason for VirtualDub (or one of the Codecs it loads) to crash!

Please change it to "Turn on DEP for essential Window programs and services only" then reboot and try again!

(DEP tends to "block" some applications that were not developed/tested with DEP in mind)

Vista is different. As I said, all I have under "Sound, video and game controllers" is "Envy24 Family Audio Controller WDM." So I wonder where I'd find the codecs...?

I'm not on Vista, so I can't tell you ;)

TheTooleMan
13th December 2008, 03:07
Exactly that may be the reason for VirtualDub (or one of the Codecs it loads) to crash!

Please change it to "Turn on DEP for essential Window programs and services only" then reboot and try again!

(DEP tends to "block" some applications that were not developed/tested with DEP in mind)
I think Microsoft is using some negative logic (or backward thinking) in their descriptions of DEP's function, but I'll change it, reboot, and give it a try... tomorrow. I'll post back then.


I'm not on Vista, so I can't tell you ;)
Lucky you! :p

LoRd_MuldeR
13th December 2008, 03:26
I think Microsoft is using some negative logic (or backward thinking) in their descriptions of DEP's function, but I'll change it, reboot, and give it a try... tomorrow. I'll post back then.

Why? DEP is a restriction (protection) that is put on applications.

If you enable DEP for "all programs and services" then it will be in enabled for VirtualDub too (and potentially causes problems).
And if DEP is enabled for "essential Window programs and services only" then VirtualDub can't be effected by DEP.

Lucky you! :p

Lucky me has MSDNAA access and got WindowsXP, WindowsXP x64 and Vista (32-Bit/64-Bit) for free.

So I took the least painful one :D

setarip_old
13th December 2008, 04:34
@TheTooleManWhen I open any file in VirtualDub 1.8.6 and click on "Compression" under the "Video" menu, VirtualDub stops working.If you select "Direct Stream Copy" instead of "Compression", does the same thing happen?

squid_80
13th December 2008, 15:45
Vista is different. As I said, all I have under "Sound, video and game controllers" is "Envy24 Family Audio Controller WDM." So I wonder where I'd find the codecs...?So it's yet another thing to add to the "Why did they break this in Vista?" list. AFAIK there's no other native method that will show all installed VFW codecs unless you want to go digging in the registry.
I already had DEP set to "Turn on DEP for all programs and services except those I select." (I think "turn on" in Vista lingo means "allow to run." I get a message about DEP being off whenever I boot.) I have "COM Surrogate" in the exceptions list. Just tried removing "COM Surrogate" from the list and running VirtualDub. Same damn thing.You can leave it set to "Turn on DEP for all programs and services except those I select", just add virtualdub to the exception list.

I have a hunch that it's some commerical codec using bad reverse-engineering protection (the "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s" debug output is a dead giveaway). Do you remember installing any extra codecs/codec packs?

TheTooleMan
13th December 2008, 16:54
Why? DEP is a restriction (protection) that is put on applications.

If you enable DEP for "all programs and services" then it will be in enabled for VirtualDub too (and potentially causes problems).
And if DEP is enabled for "essential Window programs and services only" then VirtualDub can't be effected by DEP.

Congratulations! You were right. It was ME who was thinking backward. :rolleyes:

@TheTooleManIf you select "Direct Stream Copy" instead of "Compression", does the same thing happen?
No, direct stream copy works, and I was able to mux files and other minimal stuff. As you see now, it was DEP that was preventing execution of some called routine. Damn security stuff screws up all the fun... :devil:


Lucky me has MSDNAA access and got WindowsXP, WindowsXP x64 and Vista (32-Bit/64-Bit) for free.

So I took the least painful one :D
I used to handle the MSDN stuff for a department where I worked, and I have MCSD certification from 1995, which wouldn't buy me a cup of coffee these days. But I did get a Delft-blue "Microsoft Certified Professional" superhero cape at a conference I attended about 10 years ago, and it still hangs on my wall. (It means I know how to ask for help from guys like you.)

Thanks again, and off I go to the next challenge. :D