-
Notifications
You must be signed in to change notification settings - Fork 2k
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
ctrlsub.cpp(231): assert "IsValid(n)" failed in GetClientData(): Invalid index passed to GetClientData() #5510
Comments
Thanks. Am I right in an assumption that it does not happen with builds from our buildserver, but only when linked to wx3.0? |
When I build against 3.1.3-patched (built locally outside of the Prusa deps build scripts), I still have this issue. It seems the Prusa deps build script explicitly turn off assertions: But presumably those assertions are there for a reason, and the wx folks have consciously enabled them by default. So this issue isn't related to wx3.0 vs 3.1.3-patched, your internal library builds are preventing these regression from being noticed during development. While one might argue whether assertions should be enabled for production builds (even though the wx folks think so), during develop you should consider enabling assertions. As I already noted earlier, this issue was likely introduced semi-recently. |
This may offer a short term workaround: |
I just tested that adding |
I can't reproduce your assert. I tried to debugging on Ubuntu 20.04, set brake point to the ../src/common/ctrlsub.cpp(231) and controlled the value checking, but index is valid every time for me. |
#5152 is probably indirectly related |
You did build PrusaSlicer against an assert enabled build of wxGTK right? The Prusa wxGTK builds have asserts entirely disabled at build time, thus cannot produce any assert messages. What can I do to check things on my end? Are there any particular variables of relevance that I can printf to better see what happening on my end? |
got the same problem. i build it from the AUR on arch linux this has always worked probaly at some point a update has broke it as i wanted to use it just now and am hit with the same problem |
Yes, I enabled wxWidgets asserts, but still don't see this assert.
Can you be more specific? Which printers do you use in the printers presets list . |
@pmjdebruijn, Do you still observe this issue? |
Yes, but I've observed not having the issue on another machine. After playing around a bit more, the issue seems to go away after selecting one more machine from the list. So this issue may very well only occur when having three machines selected (and no custom ones). I hope you'll be able to reproduce using the attached PrusaSlicer.ini: |
…ntData(): Invalid index passed to GetClientData() BitmapComboBox: Use virtual OnSelect() on wxEVT_COMBO event Don't save information about preset combobox type to the evt.SetInt(). This information can be received from BitmapComboBox::get_type() now.
@pmjdebruijn Thanks for your investigation. Your INI really helped me figure out what was going on. |
…GetClientData(): Invalid index passed to GetClientData() BitmapComboBox: Use virtual OnSelect() on wxEVT_COMBO event Don't save information about preset combobox type to the evt.SetInt(). This information can be received from BitmapComboBox::get_type() now.
Fixed in PrusaSlicer 2.4.0-alpha1. |
Version
2.3.0~rc1+12~g2fa582802
Operating system type + version
Xubuntu 20.04 (PrusaSlicer built against system wxGTK 3.0.4)
Behavior
When switching between two printers in the right panel, I get the backtrace added below. I'm guessing this is a fairly recentish regression, as I recall switching between two printers without any issues not so long ago.
Note, I do not have any issues/backtraces when switching between the Filaments or Presets.
The text was updated successfully, but these errors were encountered: