Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyfa crashes when I search my library #2121

Open
kanyda opened this issue Jan 20, 2020 · 41 comments
Open

Pyfa crashes when I search my library #2121

kanyda opened this issue Jan 20, 2020 · 41 comments
Labels
bug Confirmed to be a bug fixed This issue has been fixed! Oh joy!

Comments

@kanyda
Copy link

kanyda commented Jan 20, 2020

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
Copy link
Member

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
Copy link
Author

kanyda commented Jan 21, 2020

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
Copy link
Member

DarkFenX commented Jan 21, 2020

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
Copy link
Author

kanyda commented Jan 25, 2020

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
Copy link
Author

kanyda commented Jan 26, 2020

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

@DarkFenX DarkFenX added the bug Confirmed to be a bug label Jan 28, 2020
@kanyda
Copy link
Author

kanyda commented Feb 6, 2020

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
Copy link
Contributor

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
Copy link
Member

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

@kanyda
Copy link
Author

kanyda commented Feb 14, 2020

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
Copy link
Member

DarkFenX commented Feb 14, 2020

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
Copy link
Contributor

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

@Neugeniko
Copy link
Contributor

Changing logbook version to 1.4.4 didnt help.

@DarkFenX
Copy link
Member

DarkFenX commented Feb 17, 2020

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

@Neugeniko
Copy link
Contributor

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

@Neugeniko
Copy link
Contributor

Any progress on this?

@DarkFenX
Copy link
Member

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
Copy link
Member

DarkFenX commented Apr 17, 2020

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
Copy link
Contributor

Try use search string neug

@Neugeniko
Copy link
Contributor

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

@Neugeniko
Copy link
Contributor

It fails from .exe .zip and from code.

@Neugeniko
Copy link
Contributor

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

@DarkFenX
Copy link
Member

Okay, I reproduced it

@DarkFenX
Copy link
Member

DarkFenX commented Apr 21, 2020

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 ce80d92.

@DarkFenX DarkFenX added the fixed This issue has been fixed! Oh joy! label Apr 21, 2020
@Neugeniko
Copy link
Contributor

Thanks.

@Neugeniko
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Contributor

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

@blitzmann
Copy link
Collaborator

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
Copy link
Contributor

Neugeniko commented Aug 13, 2020

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 blitzmann reopened this Aug 14, 2020
@blitzmann
Copy link
Collaborator

@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
Copy link
Collaborator

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
Copy link
Contributor

I sent the file.

@blitzmann
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

blitzmann commented Aug 18, 2020

I'm on bc2cdcd. 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 (ce80d92)) 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
Copy link
Collaborator

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
Copy link
Collaborator

blitzmann commented Aug 18, 2020

Actually, here's something interesting:

Commenting this line out

self.toolbar.Render(mdc)

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
Copy link

cryonox commented Aug 15, 2024

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
Copy link

cryonox commented Aug 15, 2024

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 = []

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed to be a bug fixed This issue has been fixed! Oh joy!
Projects
None yet
Development

No branches or pull requests

5 participants