Invalid Floating Point Operation

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Stefan2, white, sheep, Hacker

Post Reply
wayfinder
Junior Member
Junior Member
Posts: 20
Joined: 2009-07-23, 10:08 UTC

Invalid Floating Point Operation

Post by *wayfinder » 2009-08-10, 01:33 UTC

Code: Select all

---------------------------
Total Commander 7.50PB8
---------------------------
Invalid floating point operation.

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000090
Stack trace:
0D7892CA
602D7A  615A5A  417C76  41C13A  >41C59C  443BAD
413E90  443193  413E90  4193F8  69B62B  
Raw:
4075F7  664418  602D7A  615A5A  41C3E8  41B484
41C4E0  417C76  417B97  6137BE  41C13A  41C4E0
41C59C  444F7F  444FC8  441C7D  443E6D  415B6C
443255  443BAD  413E90  443193  413E90  4193F8
4194DF  419544  4196FE  69B62B  
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes   No   
---------------------------
Got this when I was previewing a .WAV file in Lister (using the mmedia plugin which is playing it in windows media player)

wayfinder
Junior Member
Junior Member
Posts: 20
Joined: 2009-07-23, 10:08 UTC

Post by *wayfinder » 2009-08-10, 02:52 UTC

Another one, doing the same thing (not sure if it was a different file. Everything seems to be the same except for one item in the "raw" section.

Code: Select all

---------------------------
Total Commander 7.50PB8
---------------------------
Invalid floating point operation.

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000090
Stack trace:
0D7892CA
602D7A  615A5A  417C76  41C13A  >41C59C  443BAD
413E90  443193  413E90  4193F8  69B62B  
Raw:
4075F7  664418  602D7A  615A5A  5002B6  41C3E8
41B484  41C4E0  417C76  417B97  6137BE  41C13A
41C4E0  41C59C  444F7F  444FC8  441C7D  443E6D
415B6C  443255  443BAD  413E90  443193  413E90
4193F8  4194DF  419544  4196FE  69B62B  
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes   No   
---------------------------


User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37562
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2009-08-10, 19:10 UTC

It's probably caused by the mp3 decoder filter which you have installed. Total Commander is written in Delphi: Delphi turns on floating point exceptions (e.g. division by zero) and lets the user handle them. Microsoft Visual C++ turns OFF floating point exceptions and simply ignores them! The problem can occur when a VC++ library is called by a Delphi program, and a floating point exception occurs in that library. It would normally be ignored when called from a C++ program, but in a Delphi program it's causing a crash.

Unfortunately there is most likely nothing I can do here, sorry. All you can do is try to find out what codec is used (e.g. via Microsoft's free GraphEdit tool, and then disable that filter and use the one which comes with Windows.
Author of Total Commander
http://www.ghisler.com

User avatar
Lefteous
Power Member
Power Member
Posts: 9457
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous » 2009-08-10, 19:20 UTC

2ghisler(Author)
I thought you are turning off floating point exceptions for plugins and shell extensions don't you?
23.01.08 Added: Disable Delphi floating point exceptions when calling OLE functions which may involve shell extensions: Drag&Drop, Context menu, Property sheet, Copy+Paste, Overlay Icons, Thumbnails, Info-Tips
23.01.08 Added: Disable Delphi floating point exceptions before loading any DLLs (Visual C++ DLLs may cause floating point exceptions because exception handling is off in C++)

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37562
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2009-08-10, 19:54 UTC

Yes, I do this before calling the right click menu and other OLE functions. The problem is that Lister plugins are working "on their own" - they are just hosted by the program, but windows calls them directly when windows messages like WM_PAINT come in. Therefore I cannot turn off floating point exceptions for these addons, and Delphi turns them back on every time when floating point functions are used...
Author of Total Commander
http://www.ghisler.com

User avatar
Boofo
Power Member
Power Member
Posts: 1431
Joined: 2003-02-11, 00:29 UTC
Location: Des Moines, IA (USA)
Contact:

Post by *Boofo » 2009-08-11, 04:09 UTC

2wayfinder

How big was the wav file. I just tried s few small ones and I didn't get the error.
chmod a+x /bin/laden -- Allows anyone the permission to execute /bin/laden

How do I un-overwrite all my data?

User of Total Commander
#60471 Single user license

wayfinder
Junior Member
Junior Member
Posts: 20
Joined: 2009-07-23, 10:08 UTC

Post by *wayfinder » 2009-08-11, 09:22 UTC

Boofo: the file size for one of the files that threw the error is about 1.5MB. Edit: here it is: www.yfinder.de/random/champaign%203.wav

This is the GraphEdit properties dialog:

Image: http://yfinder.de/random/filter.png

I can't tell the mp3 decoder filter from this, let alone how to disable it... does anyone know more about the matter?

edit2:

I found this. Will setting the Merit value to "MERIT_DO_NOT_USE" suffice, or would I have to unregister the filter? Or is this something I should not unregister?

Image: http://yfinder.de/random/merit.png

User avatar
Boofo
Power Member
Power Member
Posts: 1431
Joined: 2003-02-11, 00:29 UTC
Location: Des Moines, IA (USA)
Contact:

Post by *Boofo » 2009-08-11, 09:58 UTC

Strange. I just tried that wav file in Lister and it played fine with the mmedia plugin. No errors at all.
chmod a+x /bin/laden -- Allows anyone the permission to execute /bin/laden

How do I un-overwrite all my data?

User of Total Commander
#60471 Single user license

wayfinder
Junior Member
Junior Member
Posts: 20
Joined: 2009-07-23, 10:08 UTC

Post by *wayfinder » 2009-08-11, 10:45 UTC

Then you are probably using a different DirectShow filter?

Just tried it again, got this:

Code: Select all

---------------------------
Application Error
---------------------------
Exception EInvalidOp in module TOTALCMD.EXE at 0D38809E.
Invalid floating point operation.
---------------------------
OK   
---------------------------

User avatar
Boofo
Power Member
Power Member
Posts: 1431
Joined: 2003-02-11, 00:29 UTC
Location: Des Moines, IA (USA)
Contact:

Post by *Boofo » 2009-08-11, 11:29 UTC

I use whatever comes with the latest K-Lite Mega Codec Pack.
chmod a+x /bin/laden -- Allows anyone the permission to execute /bin/laden

How do I un-overwrite all my data?

User of Total Commander
#60471 Single user license

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37562
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2009-08-11, 22:28 UTC

Surprisingly, the analysis of the stack trace seems to indicate some other problem. Here is the trace (read from bottom up):

Code: Select all

602D7A listplug.468: ListCloseListWindow -> listplugin.ListCloseWindow(listwin)
615A5A listunit.6349: TLister.FormCloseQuery -> ListCloseListWindow
417C76 forms.3249:  TForm.CloseQuery ->  if Assigned(FOnCloseQuery) then FOnCloseQuery(Self, Result);
So it seems that user wayfinder closed Lister, which then called the ListCloseWindow function of the plugin. I guess that mmedia then closed the Windows Media Player control without stopping the player (or waiting for the player to stop), so the codec crashed because it was closed inexpectedly.

To verify this, do you also get a crash when you do NOT interrupt the player?
Author of Total Commander
http://www.ghisler.com

wayfinder
Junior Member
Junior Member
Posts: 20
Joined: 2009-07-23, 10:08 UTC

Post by *wayfinder » 2009-08-12, 17:05 UTC

Yes, I do not need to interrupt Lister to get errors. Interestingly, I get two kinds of behaviour from doing exactly the same thing.

I tried it just now: I set up TC to show the directory containing the file linked above, then closed and reopened TC to get a fresh session. Selected the file and hit F3, then waited.

It appears that there are several ways it can go:

1. Lister plays the file correctly on the first try, a second play gives me the short form error message (like in my most recent post). It does not appear to matter whether I quit and restart TC between the two tries.

2. I get the long form error message on the first try (like in the original post) and TC quits ("[No]") or becomes unresponsive ("[Yes]")

I'm thinking it may have something to do with how much time there is between tries. It feels like the chance to have it work is significantly higher when I wait longer between tries.

I did not interrupt Lister during play, I only closed it when it had successfully played the file.

Here are some assorted stack traces and error messages :)

Short form:

Code: Select all

---------------------------
Application Error
---------------------------
Exception EInvalidOp in module TOTALCMD.EXE at 0D38809E.
Invalid floating point operation.
---------------------------
OK   
---------------------------

Code: Select all

Exception EInvalidOp in module TOTALCMD.EXE at 0D389544.
(These two addresses are the only variations I saw)


Long form:

Code: Select all

---------------------------
Total Commander 7.50PB8
---------------------------
Invalid floating point operation.

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000090
Stack trace:
0D7892CA
5D1CEC  4FFEC8  443BAD  >413E90  443193  413E90
41950F  69B62B  
Raw:
443101  413E90  5D1CEC  4FFEC8  500031  441C7D
443E6D  413E90  415B6C  443255  443BAD  413E90
443193  413E90  41950F  419544  4196FE  69B62B

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes   No   
---------------------------

Code: Select all

Windows exception: C0000090
Stack trace:
0D7892CA
5D1CEC  4FFEC8  443BAD  >413E90  443193  413E90
41950F  69B62B  
Raw:
5D1CEC  4FFEC8  500031  441C7D  443E6D  413E90
415B6C  443255  443BAD  413E90  443193  413E90
41950F  419544  4196FE  69B62B  

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37562
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2009-08-12, 22:41 UTC

To find out whether the bug is in mmedia or a codec, can you try a different plugin, e.g.
http://www.totalcmd.net/plugring/AmpViewClassic.html
?

After installing, make sure to move it in front of the mmedia plugin to give it priority.

If that crashes too, it's a codec problem. In this case, you can use this plugin:
http://www.totalcmd.net/plugring/ampview.html

It doesn't seem to rely on Windows codecs.
Author of Total Commander
http://www.ghisler.com

User avatar
DrShark
Power Member
Power Member
Posts: 1264
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262

Post by *DrShark » 2009-08-13, 05:37 UTC

ghisler(Author) wrote:If that crashes too, it's a codec problem. In this case, you can use this plugin:
http://www.totalcmd.net/plugring/ampview.html

It doesn't seem to rely on Windows codecs.
AmpView use bass dlls but not directshow filters.

I can suggest another plugin to check: Media Show

But please note: it may crash TC if you'll change focus from Lister to e.g. Windows Taskbar, with next error:

Code: Select all

---------------------------
Application Error
---------------------------
Exception EExternalException in module Totalcmd.exe at 04F1EFF8.
External exception C000001D.
---------------------------
ОК   
---------------------------
or

Code: Select all

---------------------------
Application Error
---------------------------
Exception EAccessViolation in module Totalcmd.exe at 05EDEFF8.
Access violation at address 062E0224. Write of address C0000000.
---------------------------
ОК   
---------------------------
It's not related to played file, it's a bug of MediaShow.
Android 4.3.1 no root, kernel 08.09.2016; Vista Home Premium SP2 rus 32 bit
TC #149847 Personal licence

Cuz we're all in this together, We're here to make it right

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37562
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2009-08-13, 16:01 UTC

AmpView use bass dlls but not directshow filters.
Yes, that's what I meant - I'm not aware of any problems with bass.dll, but it may be a problem with an installed codec.
Author of Total Commander
http://www.ghisler.com

Post Reply