pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.62k stars 409 forks source link

Pyfa crashes when I search my library #2121

Closed kanyda closed 5 days ago

kanyda commented 4 years ago

First noticed this behavior in 2.16.0. I have a pretty large library of ships and as I type my search Pyfa will hang, won't generate an error but it freezes. I have to restart. If there is an error log somewhere let me know and I can upload it.

DarkFenX commented 4 years ago

Try following: 1) All your data is contained in /.pyfa/saveddata.db. Close pyfa, move it somewhere temporarily (and do not touch until you are done with testing), launch pyfa again, create a few fits and try searching. Tell me if it works or not. If it works send me your saveddata.db (which you backed up) to phoenix@mail.ru as well. 2) If it works - delete your freshly created saveddata.db, then try downgrading pyfa to v2.15.1 and copying your latest saveddata.db migration file (by modification date which you should be able to see in file manager) and renaming it to saveddata.db so that pyfa picks it up. After that tell me if v2.15.1 works or not. If it works, send me the migration file which you used here.

kanyda commented 4 years ago

I haven't been able to do those steps yet, but I was hitting the back button today in the ship browser and received this error.

pyfa v2.16.0 EVE Data Version: 1646988 (2020-01-16 06:39:23)

OS version: Windows-10-10.0.18362-SP0 Python version: 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit (Intel)] wxPython version: 4.0.6 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.12 Logbook version: 1.5.3 Requests version: 2.22.0 Dateutil version: 2.8.1

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\chrome_tabs.py", line 880, in OnMotion File "C:\projects\pyfa\gui\chrome_tabs.py", line 1052, in CheckCloseHighlighted File "C:\projects\pyfa\gui\chrome_tabs.py", line 421, in ShowCloseButtonHovering File "C:\projects\pyfa\gui\chrome_tabs.py", line 554, in _Render AttributeError: '_TabRenderer' object has no attribute 'tab_bitmap'

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\chrome_tabs.py", line 880, in OnMotion File "C:\projects\pyfa\gui\chrome_tabs.py", line 1056, in CheckCloseHighlighted File "C:\projects\pyfa\gui\chrome_tabs.py", line 421, in ShowCloseButtonHovering File "C:\projects\pyfa\gui\chrome_tabs.py", line 554, in _Render AttributeError: '_TabRenderer' object has no attribute 'tab_bitmap'

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A210>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A350>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A490>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A5D0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A490>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A5D0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A350>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A490>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A210>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A350>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A0D0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.categoryItem.CategoryItem object at 0x36D1A210>> returned a result with an error set

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\categoryItem.py", line 107, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

DarkFenX commented 4 years ago

This is likely unrelated, but I will look into it before next release.

edit: I am unsure what could have caused it, most likely some bug deep down in wxpython/wxwidgets (the toolkit we use to build UI). I am updating its version for next release, so maybe it will resolve similar issues. I was not able to replicate it on my Windows machine.

kanyda commented 4 years ago

https://i.imgur.com/m28yvCp.png

here's an error I'm getting when pyfa crashes after I search for something, it hands, and I close the app. I haven't been able to figure out the exact reason, it's hard to reproduce. But it appears that the more entries I have for that search the more likely the crash is (I have A LOT of saved fits)

kanyda commented 4 years ago

Had an error searching for a proteus

https://i.imgur.com/hQmGyQv.png

pyfa v2.16.2 EVE Data Version: 1651039 (2020-01-21 06:55:29)

OS version: Windows-10-10.0.18362-SP0 Python version: 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit (Intel)] wxPython version: 4.0.7.post2 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.12 Logbook version: 1.5.3 Requests version: 2.22.0 Dateutil version: 2.8.1

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 285, in OnPaint wx._core.wxAssertionError: C++ assertion "Assert failure" failed at ....\src\msw\dcmemory.cpp(130) in wxMemoryDCImpl::DoSelect(): Couldn't select a bitmap into wxMemoryDC

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 285, in OnPaint wx._core.wxAssertionError: C++ assertion "!bitmap.GetSelectedInto() || (bitmap.GetSelectedInto() == GetOwner())" failed at ....\src\msw\dcmemory.cpp(116) in wxMemoryDCImpl::DoSelect(): Bitmap is selected in another wxMemoryDC, delete the first wxMemoryDC or use SelectObject(NULL)

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 292, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 236, in Render wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 292, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 236, in Render wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\chrome_tabs.py", line 1186, in OnPaint wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E293CB0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E2940D0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E294490>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E294A30>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E294DF0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E295210>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E2955D0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E295B70>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E295F30>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E296350>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E296710>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E296D00>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E298120>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E2984E0>> returned a result with an error set

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method PyGauge.OnPaint of <gui.pyfa_gauge.PyGauge object at 0x1E2988A0>> returned a result with an error set

kanyda commented 4 years ago

Getting errors when I search now, for instance I searched for "astarte" and it threw this error now (before it wasn't).

pyfa v2.16.3 EVE Data Version: 1655072 (2020-01-28 06:32:29)

OS version: Windows-10-10.0.18362-SP0 Python version: 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit (Intel)] wxPython version: 4.0.7.post2 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.13 Logbook version: 1.5.3 Requests version: 2.22.0 Dateutil version: 2.8.1

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 285, in OnPaint wx._core.wxAssertionError: C++ assertion "!bitmap.GetSelectedInto() || (bitmap.GetSelectedInto() == GetOwner())" failed at ....\src\msw\dcmemory.cpp(116) in wxMemoryDCImpl::DoSelect(): Bitmap is selected in another wxMemoryDC, delete the first wxMemoryDC or use SelectObject(NULL)

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\shipItem.py", line 250, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "C:\projects\pyfa\gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\chrome_tabs.py", line 880, in OnMotion File "C:\projects\pyfa\gui\chrome_tabs.py", line 1052, in CheckCloseHighlighted File "C:\projects\pyfa\gui\chrome_tabs.py", line 421, in ShowCloseButtonHovering File "C:\projects\pyfa\gui\chrome_tabs.py", line 577, in _Render wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ....\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

####################

Traceback (most recent call last): File "C:\projects\pyfa\gui\chrome_tabs.py", line 880, in OnMotion File "C:\projects\pyfa\gui\chrome_tabs.py", line 1056, in CheckCloseHighlighted File "C:\projects\pyfa\gui\chrome_tabs.py", line 421, in ShowCloseButtonHovering File "C:\projects\pyfa\gui\chrome_tabs.py", line 554, in _Render AttributeError: '_TabRenderer' object has no attribute 'tab_bitmap'

Neugeniko commented 4 years ago

I am getting this stack trace running from code on win10.

module|current|latest
Logbook | 1.5.3 | 1.5.3
Pillow | 6.2.1 | 7.0.0
PyInstaller | 3.3 | 3.6
PyYAML | 5.2 | 5.3
SQLAlchemy | 1.3.11 | 1.3.13
altgraph | 0.16.1 | 0.17
beautifulsoup4 | 4.6.0 | 4.8.2
certifi | 2019.11.28 | 2019.11.28
cffi | 1.13.2 | 1.14.0
chardet | 3.0.4 | 3.0.4
cryptography | 2.8 | 2.8
cycler | 0.10.0 | 0.10.0
future | 0.18.2 | 0.18.2
idna | 2.8 | 2.8
kiwisolver | 1.1.0 | 1.1.0
macholib | 1.11 | 1.14
markdown2 | 2.3.5 | 2.3.8
matplotlib | 3.1.3 | 3.1.3
numpy | 1.16.4 | 1.18.1
packaging | 16.8 | 20.1
pefile | 2019.4.18 | 2019.4.18
pip | 19.0.3 | 20.0.2
pycparser | 2.19 | 2.19
pyparsing | 2.4.5 | 2.4.6
pypiwin32 | 223 | 223
python-dateutil | 2.8.1 | 2.8.1
pywin32 | 227 | 227
requests | 2.22.0 | 2.22.0
roman | 2.0.0 | 3.2
setuptools | 40.8.0 | 45.2.0
six | 1.13.0 | 1.14.0
urllib3 | 1.25.7 | 1.25.8
wxPython | 4.0.7.post2 | 4.0.7.post2

Error in sys.excepthook:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 56, in HandleException
    cls.__frame = ErrorFrame(cls.__parent)
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 85, in __init__
    headingText.SetFont(wx.Font(14, 74, 90, 92, False))
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\chrome_tabs.py", line 1188, in OnPaint
    mdc.DrawBitmap(self.add_button.Render(), ax, ay, True)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\chrome_tabs.py", line 1196, in OnPaint
    mdc.DrawBitmap(self.fxBmps[tab], posx, posy, True)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\chrome_tabs.py", line 1196, in OnPaint
    mdc.DrawBitmap(self.fxBmps[tab], posx, posy, True)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 292, in OnPaint
    self.toolbar.Render(mdc)
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 236, in Render
    pdc.DrawBitmap(dropShadowBmp, bx + self.padding / 2, self.toolbarY + self.padding / 2)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 292, in OnPaint
    self.toolbar.Render(mdc)
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 236, in Render
    pdc.DrawBitmap(dropShadowBmp, bx + self.padding / 2, self.toolbarY + self.padding / 2)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 220, in OnPaint
    dc = wx.AutoBufferedPaintDC(self)
SystemError: <class 'wx._core.AutoBufferedPaintDC'> returned a result with an error set
Error in sys.excepthook:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 56, in HandleException
    cls.__frame = ErrorFrame(cls.__parent)
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 84, in __init__
    headingText = wx.StaticText(self, wx.ID_ANY, error_title, wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 318, in OnPaint
    dc.DrawBitmap(gradient_bitmap, r.left, r.top)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 318, in OnPaint
    dc.DrawBitmap(gradient_bitmap, r.left, r.top)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 318, in OnPaint
    dc.DrawBitmap(gradient_bitmap, r.left, r.top)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfadev\gui\pyfa_gauge.py", line 352, in OnPaint
    dc.DrawLabel(format.format(value), r, wx.ALIGN_CENTER)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs
DarkFenX commented 4 years ago

I am at loss what could've caused this. Could you try installing older versions of logbook and see if it helps?

kanyda commented 4 years ago

New version, similar (but not the exact same) crashes on search. What is logbook? Happy to install it if it helps.

pyfa v2.17.0 EVE Data Version: 1663997 (2020-02-11 08:13:50)

OS version: Windows-10-10.0.18362-SP0 Python version: 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] wxPython version: 4.0.7.post2 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.13 Logbook version: 1.5.3 Requests version: 2.22.0 Dateutil version: 2.8.1

####################

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <function SFBrowserItem.OnPaint at 0x000001D36372BDC0> returned a result with an error set

####################

Traceback (most recent call last): File "gui\builtinShipBrowser\sfBrowserItem.py", line 291, in OnPaint File "gui\builtinShipBrowser\fitItem.py", line 495, in DrawItem wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ....\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend

DarkFenX commented 4 years ago

Could you describe how often does it happen (1 search out of 5? 10?), how generic the search keyword is (how much results did you expect to receive), and send your fitting database files to phoenix@mail.ru (stripping of any sensitive data if you wish)?

Neugeniko commented 4 years ago

It happens on every search, the search would return hundreds of fits.

Neugeniko commented 4 years ago

Changing logbook version to 1.4.4 didnt help.

DarkFenX commented 4 years ago

Could you try using python 3.8.1 64 bit, wiping its pip cache (or using --no-cache-dir option) and reinstalling dependencies?

Neugeniko commented 4 years ago

I have sent you my saveddata.db as i have made no progress with this so far.

Neugeniko commented 4 years ago

Any progress on this?

DarkFenX commented 4 years ago

I think I got your fit DB during vacation and when got back forgot to attempt to reproduce it. I will try today/tomorrow.

Do binary builds work for you btw? If they do, super likely it's some dependency issue. From your list i see wxpython 4.0.7post2. Try uninstalling it and using 4.0.6 with python 3.7 (not 3.8). I have not upgraded to 4.0.7 due to the way how it (mis)handles locales.

DarkFenX commented 4 years ago

I replaced contents of requirements.txt with the following:

Logbook == 1.5.3
Pillow == 6.2.1
PyInstaller == 3.3
PyYAML == 5.2
SQLAlchemy == 1.3.11
altgraph == 0.16.1
beautifulsoup4 == 4.6.0
certifi == 2019.11.28
cffi == 1.13.2
chardet == 3.0.4
cryptography == 2.8
cycler == 0.10.0
future == 0.18.2
idna == 2.8
kiwisolver == 1.1.0
macholib == 1.11
markdown2 == 2.3.5
matplotlib == 3.1.3
numpy == 1.16.4
packaging == 16.8
pefile == 2019.4.18
pip == 19.0.3
pycparser == 2.19
pyparsing == 2.4.5
pypiwin32 == 223
python-dateutil == 2.8.1
pywin32 == 227
requests == 2.22.0
roman == 2.0.0
setuptools == 40.8.0
six == 1.13.0
urllib3 == 1.25.7
wxPython == 4.0.7.post2

Installed that into 64-bit python 3.7 (win10), moved your fit database into proper location and tried searching for a few times (common words like new, fit and few others), no crashes.

@Neugeniko how often does it crash for you?

Neugeniko commented 4 years ago

Try use search string neug

Neugeniko commented 4 years ago

1> Open pyfa 2> goto fit search 3> type 'neu' 4> add the 'g' to the end

Neugeniko commented 4 years ago

It fails from .exe .zip and from code.

Neugeniko commented 4 years ago

I tried running 64 bit python 3.7 (win10) with the provided requirements and same problem.

DarkFenX commented 4 years ago

Okay, I reproduced it

DarkFenX commented 4 years ago

No idea what the root cause is, i suppose wx was running out of some system resources (some handles or something similar), or maybe it was pyfa bug. Nevertheless, we did not limit amount of results returned by search, which is quite foolish. I limited it by 100 in ce80d92b3564589f075393f5e4ee9def7707c623.

Neugeniko commented 4 years ago

Thanks.

Neugeniko commented 4 years ago

I still get this even with the 100 limited fitlist, just not as often. I can happen quite often if i use the search term 'neug' and backspace it and re type it while clicking on a fit. seems like a timing thing really.

Error in sys.excepthook:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\errorDialog.py", line 56, in HandleException
    cls.__frame = ErrorFrame(cls.__parent)
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\errorDialog.py", line 84, in __init__
    headingText = wx.StaticText(self, wx.ID_ANY, error_title, wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE)
wx._core.wxAssertionError: C++ assertion "m_hdc" failed at ..\..\src\msw\textmeasure.cpp(64) in wxTextMeasure::BeginMeasuring(): Must not be used with non-native wxDCs

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 292, in OnPaint
    self.toolbar.Render(mdc)
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 236, in Render
    pdc.DrawBitmap(dropShadowBmp, bx + self.padding / 2, self.toolbarY + self.padding / 2)
wx._core.wxAssertionError: C++ assertion "dataDst && dataSrc" failed at ..\..\src\msw\dc.cpp(2832) in wxAlphaBlend(): failed to get raw data in wxAlphaBlend
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "logbook\_speedups.pyx", line 154, in logbook._speedups.StackedObject.threadbound
  File "logbook\_speedups.pyx", line 158, in logbook._speedups.StackedObject.threadbound
SystemError: <class 'logbook._speedups._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Newark\prog\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
Neugeniko commented 4 years ago

Basically if I search then backspace and search then backspace a few times it uses all the resources up again and makes this crash even with the 100 limit of fit results.

blitzmann commented 4 years ago

I feel like I've seen this before. A while ago so my memory might not be serving me well here.

This might happen if we're doing GUI things in a secondary thread. The fact that this is happening during search (which is spun off to it's own thread for performance) also reinforces this. If we have some sort of non-thread-safe callback that is rendering widgets, this might happen.

blitzmann commented 4 years ago

Looks like this was a similar issue: #1723

Unfortunately, I could not reproduce at the time and there wasn't much information available apart from the errors, so I chalked it up to a fluke

Neugeniko commented 4 years ago

I did have a look around for possible solutions like implementing, https://wiki.wxpython.org/CallAfter, or something but is beyond me.

blitzmann commented 4 years ago

I can take a look tonight to see what I can find out, but not being able to reproduce it myself I expect this will be a situation where tweaks are make and a build is provided for testing :/

Neugeniko commented 4 years ago

You just need to type in search and backspace and type in enough times and it crashes no matter how small a search list you return. Just use my db and search for 'neug' and back space and type again several times..

blitzmann commented 4 years ago

@Neugeniko can you send me a copy of your DB at holmes.ryan.90+pyfa@gmail.com? I have a test DB with 200 fits but still can't get it to do it, so maybe it has something to do with your data :)

blitzmann commented 4 years ago

Sorry, could have sworn I responded to this thread last week. I did take a look at the possibility of some sort of thread-unsafe operation happening, but it seems that we aren't using threading in the search (we're using it for market search, not fit search). The second stage of the fit browser uses a thread, but that gets the list of hulls for a selected category, and doesn't have anything to do with searching.

Neugeniko commented 4 years ago

I sent the file.

blitzmann commented 4 years ago

Thanks @Neugeniko! I received it, but have been busy with another project this weekend. Will take a look tonight and see if I can reproduce. :)

blitzmann commented 4 years ago

Yep, I'm able to at least reproduce it now.

...

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap
Error in sys.excepthook:
wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\errorDialog.py", line 42, in HandleException
    with config.logging_setup.threadbound():
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\venv\lib\site-packages\logbook\_fallback.py", line 109, in threadbound
    return _cls(self, self.push_thread, self.pop_thread)
SystemError: <class 'logbook._fallback._StackBound'> returned a result with an error set

Original exception was:
Traceback (most recent call last):
  File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinShipBrowser\sfBrowserItem.py", line 289, in OnPaint
    mdc.DrawBitmap(self.bkBitmap, 0, 0)
wx._core.wxAssertionError: C++ assertion "bmp.IsOk()" failed at ..\..\src\msw\dc.cpp(1313) in wxMSWDCImpl::DoDrawBitmap(): invalid bitmap in wxMSWDCImpl::DrawBitmap

So, there's that. Still have no idea how to debug this, but I'll fiddle around with it

blitzmann commented 4 years ago

I'm on bc2cdcdea7b67afc750fdecb2568d1e4a1753b20. I can actually reproduce it with a very specific set of steps:

1) start pyfa 2) search fit browser for neug 3) delete g and type g 4) repeat 3) 5 times.

so keystrokes look like this: neug<backspace>g<backspace>g<backspace>g<backspace>g<backspace>g

Every time, after that last g, pyfa crashes. Oddly enough, I don't get the error dialog, it prints directly to the stderr.

If I reduce the limit on the search fits to 50 (from 100 set here (https://github.com/pyfa-org/Pyfa/commit/ce80d92b3564589f075393f5e4ee9def7707c623)) and repeat, then it'll fail after repeating step 3) 10 times instead of 5

This is interesting... We used to have a problem with context menus, where once you run pyfa long enough, they would start to crash. Turns out that we were creating new ID's every time they were generated, and wxWidgets has a cap on the value represented by this (think it's an int16). The fix for that was to create a pool of IDs that the context menus would reuse.

Not saying this is the same thing, but it feels similar. Seems like an issue where we are consuming some resource from wxWidgets while not destroying instances correctly. Just have to hunt it down now

blitzmann commented 4 years ago

So, this deals with low level screen drawing. And unfortunately I'm not great with that.

The best we could do is make a sample app with as little code as possible that shows the issue, and ask around the wxPython community for advise. I'm not really sure when we can get to that tho :(

blitzmann commented 4 years ago

Actually, here's something interesting:

Commenting this line out https://github.com/pyfa-org/Pyfa/blob/5b74c6c5e10a328cda0a79b411ada13e3c9b4b6b/gui/builtinShipBrowser/sfBrowserItem.py#L292

I repeat the steps outlined above and run into this new error:

wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ..\..\src\common\dcbufcmn.cpp(132) in wxBufferedDC::UnMask(): invalid backing store

The above exception was the direct cause of the following exception:

SystemError: <bound method SFBrowserItem.OnPaint of <gui.builtinShipBrowser.navigationPanel.NavigationPanel object at 0x15EB8670>> returned a result with an error set

That's the only thing printed to stderr, and then it just dies (unlike the other errors which continue to generate)

Looking around I come to this. Not very useful for this particular problem, but interesting nonetheless: https://stackoverflow.com/a/53796516/788054

I have a feeling this may be due to maybe the navigation bar and the widgets of the ship browser possibly having references to each other...?

cryonox commented 3 months ago

Hello I don't want to resurrect an old issue but there are many similar issues to this and this seems to have the most detailed information so I would like to post a hint on solving this problem permanantly. The most immediate reason for the crash is because GDI object count has exceeded 10000. This is the default value by windows and through registry you can change the value to 65k and delay the onset of the crash(but it will still crash). You can verify that this is indeed the issue by using this small script. Once GDI object count hit exactly 10k, crash will happen. The reason for this is that somewhere in pyfa, some new id is being created but not reclaimed properly. If it can be located and fixed, the problem will go away.

import time, psutil
from ctypes import *

def getPID(processName):
    for proc in psutil.process_iter():
        try:
            if processName.lower() in proc.name().lower():
                return proc.pid
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass
    return None;

def getGDIcount(PID):
    PH = windll.kernel32.OpenProcess(0x400, 0, PID)
    GDIcount = windll.user32.GetGuiResources(PH, 0)
    windll.kernel32.CloseHandle(PH)
    return GDIcount

#PID = getPID('Outlook')
PID = 45888

while True:
    GDIcount = getGDIcount(PID)
    print(f"{time.ctime()}, {GDIcount}")
    time.sleep(1)

It seems to me that the sfBrowserItem objects are not getting garbage collected properly. This is the list of objects that are tracked by garbage collector. The middle number is the increase per refresh cycle of the search list, the last number is the total instances. It's not just the search that can trigger this crash, any action that can refresh the fit list will eventually cause this crash. If there are more fits in database, crash simply happens much faster.

image

cryonox commented 3 months ago

hmm...I seem to have figured out a hack to fix this bug. But I am not sure how to fix it properly. Will post a PR soon. Modify this file pfListPane.py RemoveAllChildren. So the problem is probably some issue with referenc counting caused maybe by circular references between list object items and parent. However, the GC is meant to collect exactly these type of circular references. I don't know why it was failing(except maybe the clue is the shipbrowser has its __del__ method overridden causing the cycle detector to not work properly?). I tried to remove shipBrowser and mainFrame references from fitItem class but it did not work.

So I tried the hammer below and it works. Now GDI object count remains stable. @DarkFenX

There are still some small leaks I think, but nothing as dramatic anymore.

    def RemoveAllChildren(self):
        gdi.gdiReport('before')
        for widget in self._wList:
            widget.Destroy()
            for i in widget.__dict__.keys():
                widget.__dict__[i] =None
            del widget
        #wx.Frame.DestroyChildren()
        #wx.Yield()
        gc.collect()
        gdi.gdiReport('after')

        gdi.output_memory()
        self.Scroll(0, 0)
        self._wList = []
DarkFenX commented 5 days ago

Allegedly fixed by #2629