catch: Tried to invert singular LMatrix4.

Is there any way to find out where this kind of warning is being generated?


edit: tried “no-singular-invert 1” in prc file… nothing happens!

It usually happens when you have a component of a scale set to zero, eg setScale(1, 0, 1)

This is what I got reading the forum, I checked my code and scaling doesn’t seem to be involved.

Trial and error is one way to proceed but there should be a more clever way: how to find the piece of code that triggers this and debug the program in order to catch the problem?

“no-singular-invert 1” in your Config.prc should certainly do the trick; I use this technique myself from time to time. Of course, it’s most useful if you’re also prepared to break into the C++ stack with the C++ debugger.

Are you sure you successfully set no-singular-invert? You can prove this with:

print ConfigVariableBool('no-singular-invert')


yes, no-singular-invert is ok and set to 1.
the only thing I’m getting is:

where to go from here? for me it’s plain hebrew :cry:

You will also need “assert-abort 1” in Config.prc. Those two will ensure that your application aborts when the issue occurs, allowing you to break into it with a debugger and getting a stack trace.

Thank you rdb - I will try to make progress with this option