Old 13th January 2015, 07:40   #1
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,930
Send a message via Skype™ to thinktink
Very strange call stack on floating point exception.

So I just got a floating point error in _CIpow being called apparently by in_wm.dll while doing some updates for in_bpxfade.dll.


However, I wasn't playing any media that in_wm.dll handles, just WAV and MP3 files.

The even stranger thing is it's getting called through an output plugin.
Here's the call stack:


Here's a portion of my source code where it starts (at least from the perspective of my plugin.)


...and here's an assembly view of the entry point into the first Windows API call from in_wm.dll.


As far as I know the output plugin does NOT load any of the input plugins. Only thing I can think of is maybe in_wm.dll is hooking the active output plugin for copyright protection reasons or some kind of heap got corrupted.

As usual, MSVCR90.dll is the bane of my existence. Any thoughts?
Attached Thumbnails
Click image for larger version

Name:	Weird0.png
Views:	414
Size:	7.1 KB
ID:	51623   Click image for larger version

Name:	Weird1.png
Views:	418
Size:	25.4 KB
ID:	51624   Click image for larger version

Name:	Weird2.png
Views:	551
Size:	33.8 KB
ID:	51625   Click image for larger version

Name:	Weird3.png
Views:	394
Size:	20.1 KB
ID:	51626  
thinktink is offline   Reply With Quote
Old 18th January 2015, 16:38   #2
DrO
 
Join Date: Sep 2003
Posts: 27,880
Quote:
Originally Posted by thinktink View Post
As far as I know the output plugin does NOT load any of the input plugins. Only thing I can think of is maybe in_wm.dll is hooking the active output plugin for copyright protection reasons or some kind of heap got corrupted.
in_wm provides instances of out_ds and out_wave as you've guessed. you can tell if that version is being used if there's a (d) on the end of the plug-in name in the preferences. so due to that, it can be tricky to work out why it's failing. but if i have to guess, it'd be something to do with the bitrate / sample-rate not being correctly passed on which will lead to weird things (like a divide by zero issue present in a number of the input plug-ins as-is, but has been fixed internally). as for the specific cause in this case, i don't.
DrO is offline   Reply With Quote
Old 20th January 2015, 05:37   #3
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,930
Send a message via Skype™ to thinktink
Oh wow, I had no idea what the (d) is for. Shows you how much I know...

I renamed in_wm.dll and now every time I start Winamp my desktop and all my folder windows refresh as if it's redoing the file extension associations, which can be a bit annoying if you're debugging procedure includes running a batch file you want to always have selected to move/copy files around before starting the debug. I do have the [Restore file associations on Winamp start] checkbox unchecked though so I don't know what really going on for sure. When I rename in_wm.dll back it stops refreshing when I start Winamp. Is there a way to find out what's causing that?
thinktink is offline   Reply With Quote
Old 20th January 2015, 21:27   #4
DrO
 
Join Date: Sep 2003
Posts: 27,880
is probably jtfe and it's shell handling doing things - the soon that's removed from that plug-in the better.
DrO is offline   Reply With Quote
Old 27th January 2015, 05:05   #5
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,930
Send a message via Skype™ to thinktink
Quote:
Originally Posted by DrO View Post
is probably jtfe...
I just had a look and it looks like it's not installed.
thinktink is offline   Reply With Quote
Old 27th January 2015, 13:51   #6
DrO
 
Join Date: Sep 2003
Posts: 27,880
then it's probably some other validation going on (all of that handling is somewhat of a mess). only obvious thing is to look for config_extlist in winamp.ini and remove any file extensions which are associated with in_wm from the that config option and see if that helps.
DrO is offline   Reply With Quote
Old 27th January 2015, 21:56   #7
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,930
Send a message via Skype™ to thinktink
Ah, ok. Will check it out soon as I can.
thinktink is offline   Reply With Quote
Old 28th January 2015, 05:14   #8
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: On the streets of Kings County, CA.
Posts: 2,930
Send a message via Skype™ to thinktink
Quote:
Originally Posted by DrO View Post
then it's probably some other validation going on (all of that handling is somewhat of a mess). only obvious thing is to look for config_extlist in winamp.ini and remove any file extensions which are associated with in_wm from the that config option and see if that helps.
Confirmed, that did it. I removed the only extension entry I found associated with in_wm.dll (which was WMA) and it stopped refreshing my Explorer folder views and desktop every time I started Winamp.

Thanks.
thinktink is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Developer Center > Winamp Development

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