Go Back   Winamp & Shoutcast Forums > Winamp > Winamp Technical Support

Reply
Thread Tools Search this Thread Display Modes
Old 3rd March 2015, 09:38   #1
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
How can I help diagnose a crash (Winamp + crossfader + SHOUTcast)?

I used to use the SqrSoft Advanced Crossfading Plugin (ACF) with Winamp and SHOUTcast, but had to abandon it in 2009 because of incompatibility with Winamp 5.5 & up.

The ACF developer has been releasing new betas recently, so I thought I'd give them a try. Unfortunately, they still crash Winamp when I try to use them with SHOUTcast.

The crash happens either after it runs successfully for a while, or sometimes when I close Winamp with the ACF+SHOUTcast running...so, not consistently, but often enough to make it useless.

The ACF is an output plugin which has its own DSP panel where you select the SHOUTcast DSP. So in Winamp, you don't select a DSP, you just select the ACF for output, and tell the ACF to use SHOUTcast.

I assume there's something amiss in the way the ACF interfaces with the DSP, and I reported it to the developer, but he's slow to respond and I'm not sure he knows what to look for. Also maybe I am assuming wrong, and it's actually something to fix in Winamp or SHOUTcast.

Is it worth sending the Winamp crash minidump for analysis by DrO or whoever, or is there something else I should be doing to help diagnose the issue? The crash log doesn't seem to say where the crash occurred, just some bytes. Not sure what I'm looking at though.
mjbrown is offline   Reply With Quote
Old 4th March 2015, 00:36   #2
djpete
Major Dude
 
djpete's Avatar
 
Join Date: Apr 2004
Location: Melbourne, Australia
Posts: 940
mrbrown pls check your PM

Cheers, Pete

Anything & Everything Winamp - All In One Place...
Winamp Enthusiasts Group
djpete is offline   Reply With Quote
Old 25th March 2015, 16:25   #3
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
I appreciate the offer of an old version of the crossfader, but that doesn't really help me. I tried it, and the old version just crashes Winamp (5.5 and newer) upon startup.

I guess I'll just post what I have. Here's some Dr. MingW output for a crash that happened when running the latest version of the crossfader. As I mentioned, these crashes come after running it in conjunction with SHOUTcast for a random amount of time, or when closing Winamp with the crossfader enabled. I don't recall what this particular crash's circumstances were, but it's interesting that gen_timerestore.dll was mentioned...

code:
winamp.exe caused an Unknown [0xC000041D] Exception at location 73574F11.

Registers:
eax=00000001 ebx=74e89679 ecx=00000000 edx=00000000 esi=06816588 edi=00000001
eip=74e89a6a esp=0230e624 ebp=0230e894 iopl=0 nv up ei pl zr na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00200246

AddrPC Params
74E89A6A 00030848 00000111 00000001 USER32.dll!DestroyWindow
74E862FA 0044E573 00030848 00000111 USER32.dll!gapfnScSendMessage
74E86D3A 00000000 0044E573 00030848 USER32.dll!GetThreadDesktop
74E90D27 0044E573 00030848 00000111 USER32.dll!GetClientRect
74E90D4D 0044E573 00030848 00000111 USER32.dll!CallWindowProcW
06484935 00030848 00000111 00000001 gen_timerestore.dll!winampUninstallPlugin
74E862FA 0648490A 00030848 00000111 USER32.dll!gapfnScSendMessage
74EAF943 00000000 0648490A 00030848 USER32.dll!GetCursor
74EAF784 00BC5440 00000000 00000111 USER32.dll!GetCursor
74EAF889 00030848 00000111 00000001 USER32.dll!GetCursor
74E862FA 74EAF860 00030848 00000111 USER32.dll!gapfnScSendMessage
74E86D3A 00000000 76E646B4 00030848 USER32.dll!GetThreadDesktop
74E8965E 00BC5440 00000000 76E646B4 USER32.dll!GetWindow
74E896C5 00030848 00000111 00000001 USER32.dll!SendMessageW
73184601 06816588 00000000 000606A6 COMCTL32.dll!GetEffectiveClientRect
73184663 50010001 00000001 00000000 COMCTL32.dll!GetEffectiveClientRect
731844ED 000606A6 00000202 00000000 COMCTL32.dll!GetEffectiveClientRect
74E862FA 7310B495 000606A6 00000202 USER32.dll!gapfnScSendMessage
74E86D3A 00000000 7310B495 000606A6 USER32.dll!GetThreadDesktop
74E877C4 7310B495 00000000 0230EDB8 USER32.dll!CharPrevW
74E8788A 0230EDEC 0230EDEC 023D4030 USER32.dll!DispatchMessageW
74EAC81F 00030848 00000000 74E905BA USER32.dll!IsDialogMessageW
0046EDAE 00000000 00000000 00000001 winamp.exe
00465980 00000001 0230FFD4 77059F72 winamp.exe
769A338A 00000001 7701E3A7 00000000 kernel32.dll!BaseThreadInitThunk
77059F72 00465286 00000001 00000000 ntdll.dll!RtlInitializeExceptionChain
77059F45 00465286 00000001 00000000 ntdll.dll!RtlInitializeExceptionChain

mjbrown is offline   Reply With Quote
Old 25th March 2015, 16:35   #4
DrO
 
Join Date: Sep 2003
Posts: 27,873
you need to start with being on the patched Winamp version (http://forums.winamp.com/showthread....74929#download), provide an info tool report (http://forums.winamp.com/showthread....161361#plugins) and provide a crash report from Winamp (and if that isn't happening, you'll need to try the procdump method from http://forums.winamp.com/showpost.ph...86&postcount=6).

though i suspect most of the issues are all 3rd party related (probably even including some of mine based on stack trace above).
DrO is offline   Reply With Quote
Old 25th March 2015, 17:45   #5
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
Thanks. Winamp's own crash report does get generated for some of the crashes.

I'll post the info tool report along with a crash report in the next couple of days.

I was going to say I use the patched version of Winamp already, but I actually don't use in_mp3 and gen_jumpex at all. Instead of in_mp3/mp4/flac/wave, I use in_ffsox. This is in order to work around Winamp's terrible resampler and too-late ReplayGain processing. I use gen_yas (which is incompatible with gen_jumpex for some reason) to improve shuffling. And obviously I use gen_timerestore as well. That's it for the 3rd-party plugins, I think.

These combos can run forever without crashing:
  • gen_timerestore, in_ffsox, gen_yas
  • gen_timerestore, in_ffsox, gen_yas, SHOUTcast
  • gen_timerestore, in_ffsox, gen_yas, crossfader

As soon as I enable SHOUTcast in the crossfader, it's no longer stable.
mjbrown is offline   Reply With Quote
Old 25th March 2015, 17:56   #6
DrO
 
Join Date: Sep 2003
Posts: 27,873
I insist on a patched Winamp version irrespective of what you do or do not use out of it, that's the only version I've got all of the debug files for the build to work with.

your issues with Winamp's native aspects will most likely never be changed - and why jtfe doesn't work with gen_yas has been covered in that plug-ins thread a year or so back.

so if the issue (as i'm pretty certain) is just 3rd party specific, it'll be down to getting those authors to fix things. but without seeing some sort of decent crash dump that I can check, we won't know for certain. and the Source DSP has never been intended to run inside of a plug-in stacker, but if there's failings, it's most likely that which is leading to issues.
DrO is offline   Reply With Quote
Old 26th March 2015, 03:46   #7
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
Yep, that's my thought, too, and is why I am focusing on "how can we help the plugin developer(s) pinpoint the problem area of their code?" rather than assuming something is necessarily wrong with Winamp core.

I am doing a clean install of the patched version today and will make sure the crashes are reproducible without in_ffsox & gen_yas in the mix.

Re: gen_yas vs. jtfe, I don't see anything in the original thread about why there's an incompatibility. There's just some acknowledgement that the problem exists. He asked for help, but it was bad timing with the pending shutdown of the site.
mjbrown is offline   Reply With Quote
Old 26th March 2015, 10:32   #8
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
OK, as promised, I'm now running a clean install of the fully patched version. No new plugins were added except the crossfader and SHOUTcast. As before, they work fine independently, but running together, I can always get a crash when closing Winamp. I didn't let it run long enough to see if it would crash on its own after a while, but I assume it would.

So when closing Winamp, the crash reporter tries to run, but its window only appears on-screen for a split second, and I do mean like the blink of an eye. I think it said "analyzing settings". No dump is actually created.

So I then tried the ProcDump method, and as ProcDump produced its dump, Winamp's crash reporter window stayed open and got as far as "Generating dump file..." with the green progress bar at about 10%. It then froze there when ProcDump finished and exited. I waited a few minutes and then killed the winamp.exe process from Process Explorer. The _crash.dmp file was empty but there was a _crash.log which I am including along with the ProcDump dump.
Attached Files
File Type: zip acf+sc_crash.zip (343.9 KB, 89 views)
File Type: zip Winamp_Info_Report_03-26-2015.zip (13.6 KB, 145 views)
mjbrown is offline   Reply With Quote
Old 26th March 2015, 14:12   #9
DrO
 
Join Date: Sep 2003
Posts: 27,873
remove gen_acf.dll from the Winamp\Plugins folder (as i doubt you're even needing to use that).

the crash on close appears to be when in_dshow.dll is asked to stop. so try moving that out of the Winamp\Plugins folder and try again.

also you can probably move gen_crasher.dll out of the Winamp\Plugins folder as well if the procdump method is the one that works.
DrO is offline   Reply With Quote
Old 26th March 2015, 19:23   #10
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
Well, gen_acf is the crossfader, so I only moved in_dshow and gen_crasher. Crash report attached.
Attached Files
File Type: zip acf+sc_crash_nodshow.zip (318.8 KB, 80 views)
mjbrown is offline   Reply With Quote
Old 27th March 2015, 03:31   #11
Aminifu
Forum King
 
Aminifu's Avatar
 
Join Date: Aug 2011
Location: Phoenix, AZ
Posts: 4,658
Hi mjbrown,

Whar version of gen_acf are you using? djpete swears by version 1.72

http://176.31.226.182/showthread.php?t=322078

You could also try thinktink's plug-in for crossfading.

http://forums.winamp.com/showthread.php?t=379988

Winamp Pro v5.666.3516 fully-patched - Komodo X Touchscreen v1.0 by Victhor skin
Windows 10 Home 64-bit v1809 desktop - Logitech Z906 5.1 speaker system
Aminifu is offline   Reply With Quote
Old 27th March 2015, 03:57   #12
DrO
 
Join Date: Sep 2003
Posts: 27,873
without those other plug-ins present, it's very uncertain what is crashing, though there is a mention of a hook.

the Source DSP hooks Winamp to be able to do it's things (as the DSP api sucks and doesn't provide a marshalled wndproc to it). so maybe SqrSoft isn't allowing the Source DSP to remove itself correctly, and thus is leading to the crashes. and as it's only happening when loading via SqrSoft, then that seems like the most likely explanation.

plus i didn't think the gen_acf plug-in is actually needed and it's just the output plug-in that's needed.

as for what version of SqrSoft to use, anything which cannot load 5.5+ style DSP plug-ins is not worth it even if there's apparently 'issues' with how SqrSoft works in newer versions imho. but each to their own.
DrO is offline   Reply With Quote
Old 27th March 2015, 04:08   #13
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
Quote:
Originally Posted by DrO View Post
the Source DSP hooks Winamp to be able to do it's things (as the DSP api sucks and doesn't provide a marshalled wndproc to it). so maybe SqrSoft isn't allowing the Source DSP to remove itself correctly, and thus is leading to the crashes. and as it's only happening when loading via SqrSoft, then that seems like the most likely explanation.
I'll write to Mariano again and see if this is enough for him to go on. Is there anything else I should tell him? Docs to point to?

Quote:
Originally Posted by DrO View Post
plus i didn't think the gen_acf plug-in is actually needed and it's just the output plug-in that's needed.
Ohhhh! Of course you are right. gen_acf is the fancy control panel / status window for out_sqr. It's not really needed. I have moved it out and the crossfading works fine without it.

Interestingly, I closed Winamp in order to remove that DLL, and did not get a crash this time. Then I shut it down while running without gen_acf, and got the crash (dump attached).

Maybe there's a race between the app and plugins as they shut down, and sometimes the timing is more favorable than usual? (Wild speculation on my part)

The crossfader apparently has to empty its buffer before it exits, so when you close Winamp while something is playing, the windows disappear but the music keeps on going and winamp.exe doesn't actually get to exit until however long it takes to empty the buffer, probably up to 30 seconds.

I will use this combo for a while and see how long it can go without crashing. Next step will be to re-add the time restore plugin. I will hold off on re-adding in_ffsox and gen_yas because, well, obvious reasons.

Quote:
Originally Posted by DrO View Post
as for what version of SqrSoft to use, anything which cannot load 5.5+ style DSP plug-ins is not worth it
Agree 100%.

By the way, when running via ProcDump, I see a lot of these errors:
code:
Exception: E06D7363.PAVMP4Error@@

They happen when Winamp is reading metadata on AAC files (.m4a) which I had created with the Nero AAC Encoder around 2009. The files aren't tagged, so I wonder what the problem is with them.

The errors don't trigger a crash. If they're of any concern, I can supply a sample file.


Quote:
Originally Posted by Aminifu View Post
Whar version of gen_acf are you using? djpete swears by version 1.72
Yeah, 1.7.2 is what he recommended, but when I tried it, Winamp just crashed immediately upon launch. I don't see how he could be successfully using any out_sqr written prior to the release of Winamp 5.5. The recent 1.7.9 release is the only one that kinda works with 5.5-and-up's new plugin architecture.

Re: that other crossfader—wow, thanks! I hadn't seen that one. I look forward to giving it a try. Will wait until completely giving up on the SquareSoft one though.
Attached Files
File Type: zip acf+sc+crash_nodshow_nogenacf.zip (319.6 KB, 75 views)

Last edited by mjbrown; 27th March 2015 at 04:43. Reason: Added attachment and more text
mjbrown is offline   Reply With Quote
Old 27th March 2015, 04:13   #14
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally Posted by mjbrown View Post
By the way, when running via ProcDump, I see a lot of these errors:
code:
Exception: E06D7363.PAVMP4Error@@
...
The errors don't trigger a crash. If they're of any concern, I can supply a sample file.
that's normal for how the library used works.
DrO is offline   Reply With Quote
Old 27th March 2015, 15:12   #15
DrO
 
Join Date: Sep 2003
Posts: 27,873
the newest crash report shows something funky going on when ml_history is trying to do it's closing action.

but that could be a red-herring and your timing thing is a valid idea as a ML plug-in shutdown is called by gen_ml when it's told to shutdown and that should not be affected by output plug-ins which are unloaded later than gen plug-ins (unless they're doing some weird hooking into things which might lead to weirdness in the gen / ml plug-in unload).

but removing gen_acf seems to have made things somewhat cleaner in what I can interpret from the crash report. so still somewhat inconclusive but with that crash report, if might be a Winamp issue now due to where ml_history is crashing, but I'm really not 100% sure as i've seen such crashes before and it was due to something else messing things up.
DrO is offline   Reply With Quote
Old 27th March 2015, 16:00   #16
MrSinatra
Forum King
 
MrSinatra's Avatar
 
Join Date: Dec 2004
Location: WKPS, State College
Posts: 5,625
Send a message via AIM to MrSinatra
mj, what happens if u remove ml_history too?

PENN STATE Radio or http://www.LION-Radio.org/
--
BUG #1 = Winamp skips short tracks
Wish #1 = Multiple Column Sorting
Wish #2 = Add TCMP/Compilation editing
MrSinatra is offline   Reply With Quote
Old 28th March 2015, 08:19   #17
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
A new crash report is attached. Unlike the others which happened during shutdown, this is a spontaneous crash that happened at a song transition after running for about 10 minutes shy of 24 hours. I was listening at the time...the current song faded out several minutes early, which indicates the crash had happened mid-song (the crossfader does a fadeout if Winamp closes while playing). There was nothing unusual about the song, and it played fine upon restart.

I will run without gen_ml and ml_history next.
Attached Files
File Type: zip crash_while_running.zip (493.1 KB, 79 views)
mjbrown is offline   Reply With Quote
Old 28th March 2015, 08:59   #18
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
Shutdown crash after removing gen_ml: acf+sc_shutdown_nogenml.zip

Shutdown crash after also removing ml_history: acf+sc_shutdown_nogenml_nomlhistory.zip
Attached Files
File Type: zip acf+sc_shutdown_nogenml.zip (296.0 KB, 73 views)
File Type: zip acf+sc_shutdown_nogenml_nomlhistory.zip (283.0 KB, 79 views)
mjbrown is offline   Reply With Quote
Old 4th April 2015, 21:22   #19
mjbrown
Senior Member
 
Join Date: Aug 2001
Posts: 114
This combination ran smoothly for a week. Then when I checked in on it today, Winamp was using 3 GB of memory and not playing anything, window unresponsive, but the process still doing something. I ended up just killing it, but if that happens again, is there something different I should do?
mjbrown is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Winamp > Winamp Technical Support

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump