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

C++ wx assertion errors pop up randomly during analysis runs #3461

Closed
bethac07 opened this Issue Jan 18, 2018 · 7 comments

Comments

Projects
None yet
4 participants
@bethac07
Member

bethac07 commented Jan 18, 2018

I've encountered this once or twice myself, but here are some from the forum recently; in only case did someone capture things from the terminal after (bottom snippet) but I've transcribed as best I can in the top snippet. It's popped up in Windows 7, Mac, and Windows 10; the common thread seems to be that the pipelines run fine on smaller batches but hit this error on larger ones. For at least 2 users running the pipeline with the display enabled ("eyes open") vs closed seemed to make a difference, one user said it did not and he had to decrease his batch size.

I hadn't reported it before because it's an intermittent issue that apparently only crops up on large batch sizes, which I assumed would make it hard to debug and troubleshoot, but I realized it should probably be documented and hopefully you guys can do your magic and find it.

image
image
image

C++ assertion "(itemid >=0 && itemid <SHRT_MAX) ||  (itemid>=wxID_AUTO_LOWEST && itemid <= wxID_AUTO_HIGHEST)" 
failed at ..\..\src\common\menucmn.cpp(260) in wxMenuItemBase::wxMenuItemBase(): invalid item value
Traceback (most recent call last):
File “CellProfiler\cellprofiler\gui\cpframe.py”, line 483, in OnClose
File “CellProfiler\cellprofiler\gui\pipelinecontroller.py”, line 1333, in check_close
File “site-packages\wx-3.0-msw\wx_controls.py”, line 193, in init
wx._core.PyAssertionError: C++ assertion “id == wxID_ANY || (id >= 0 && id < 32767) || (id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST)” failed at …\src\common\wincmn.cpp(372) in wxWindowBase::CreateBase(): invalid id value

@bethac07 bethac07 added the Bug label Jan 18, 2018

@braymp

This comment has been minimized.

Show comment
Hide comment
@braymp

braymp Jan 18, 2018

Contributor

I've not seen this personally, but one of the users here reported this behavior; closing the "eyes" solved it for him.

Googling brought up some possible details: http://trac.sasview.org/ticket/448

Contributor

braymp commented Jan 18, 2018

I've not seen this personally, but one of the users here reported this behavior; closing the "eyes" solved it for him.

Googling brought up some possible details: http://trac.sasview.org/ticket/448

@mcquin

This comment has been minimized.

Show comment
Hide comment
@mcquin

mcquin Jan 18, 2018

Contributor

Interesting. We should see if wxIDs are being generated even if a user has the display turned off. Perhaps some GUI object is being instantiated unnecessarily?

Contributor

mcquin commented Jan 18, 2018

Interesting. We should see if wxIDs are being generated even if a user has the display turned off. Perhaps some GUI object is being instantiated unnecessarily?

@bethac07

This comment has been minimized.

Show comment
Hide comment
@bethac07

bethac07 Jan 24, 2018

Member

I'm not sure if this actually helps with the debugging or is a "duh, of course", but I've been running into this error a bunch the last day or so working in TestMode on a long pipeline and once I do:
If you just re-enter test mode and try again, it fails again with the same error at the exact same point in the pipeline (n=3)
If you save and close the pipeline and reboot CellProfiler, it proceeds fine (n=2).

Member

bethac07 commented Jan 24, 2018

I'm not sure if this actually helps with the debugging or is a "duh, of course", but I've been running into this error a bunch the last day or so working in TestMode on a long pipeline and once I do:
If you just re-enter test mode and try again, it fails again with the same error at the exact same point in the pipeline (n=3)
If you save and close the pipeline and reboot CellProfiler, it proceeds fine (n=2).

@mcquin

This comment has been minimized.

Show comment
Hide comment
@mcquin

mcquin Jan 24, 2018

Contributor

If you just re-enter test mode and try again, it fails again with the same error at the exact same point in the pipeline (n=3)
If you save and close the pipeline and reboot CellProfiler, it proceeds fine (n=2).

@bethac07 what is n?

Contributor

mcquin commented Jan 24, 2018

If you just re-enter test mode and try again, it fails again with the same error at the exact same point in the pipeline (n=3)
If you save and close the pipeline and reboot CellProfiler, it proceeds fine (n=2).

@bethac07 what is n?

@bethac07

This comment has been minimized.

Show comment
Hide comment
@bethac07

bethac07 Jan 24, 2018

Member

n=number of times observing that behavior. Sorry!

Member

bethac07 commented Jan 24, 2018

n=number of times observing that behavior. Sorry!

@AetherUnbound

This comment has been minimized.

Show comment
Hide comment
@AetherUnbound

AetherUnbound Feb 5, 2018

Collaborator

All your comments make perfect sense in corroborating @braymp's search result - WX is likely running out of object IDs for new UI objects. @bethac07, have you noticed this running headless or is it always in test mode?

Collaborator

AetherUnbound commented Feb 5, 2018

All your comments make perfect sense in corroborating @braymp's search result - WX is likely running out of object IDs for new UI objects. @bethac07, have you noticed this running headless or is it always in test mode?

@bethac07

This comment has been minimized.

Show comment
Hide comment
@bethac07

bethac07 Feb 5, 2018

Member

I've never noticed it in headless, but it is sometimes in GUI analysis mode (not GUI Test mode).

Member

bethac07 commented Feb 5, 2018

I've never noticed it in headless, but it is sometimes in GUI analysis mode (not GUI Test mode).

@mcquin mcquin closed this in #3490 Feb 8, 2018

mcquin added a commit that referenced this issue Feb 8, 2018

Merge pull request #3490 from CellProfiler/issues/3461
Remove unused, yet created, wxIDs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment