Details
-
Bug
-
Resolution: Duplicate
-
Not Evaluated
-
4.8.4
-
None
-
Windows 7
Description
ASSERT: "!isEmptyHelper(regM)" in file d:/Distributions/qt-src/src/gui/painting/qregion.cpp, line 2626
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
I took me 5 hours to finally get this ASSERT, and I guess I just was lucky. I was searching for a bug in my code because the application kept crashing for unknown reason. Going to debug mode and infecting all my code with qDebug tracing did not help. It was still absolutely unclear why on earth the application crashes when it obviously should not. 5 hours later I was 99% sure something is wrong with Qt. Somehow this ASSERT did not come out when I had many qDebug invocations - essentially this is what kept me absolutely blind. I don't know how is this actually possible, but in brief here is the scheme:
<Code Execution Path> (The application is single-threaded)
qDebug (placed by me)
qDebug (placed by me)
...
qDebug (placed by me)
Point where this ASSERT should have shown up (but never did)
qDebug (placed by me)
qDebug (placed by me)
...
qDebug (placed by me)
...
Crash! (Access Violation)
What I was lucky to do is - I removed all qDebug invocations exactly AFTER the point where this ASSERT should have shown up - and only then it finally did.
I'm very confused about what's going on. Looking forward for your feedback and information on what is it. For example, Should I rebuild Qt from master?
Thank you.