ETS - PushEventHandler is one trigger of segfaults

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ETS - PushEventHandler is one trigger of segfaults

braidedlogix
I am relieved to report that I found one of the primary triggers causing segfaults in my attempt to update the traitsui/pyface packages  for use with wxPython Phoenix under Python 3. The culprit is the PushEventHandler method. At this point I have not studied the situation sufficiently to identify why this is behaving so badly, so I can't be more specific about the underlying contexts. I have merely commented out the method wherever it occurs, and I am happy to say that a large fraction of things are working well. In particular, with Mayavi2 or mayavi.mlab, the pipeline browser is working well except for anything with a grid or a slider range. Movement of any slider I've tried has just been getting ignored - no error messages, but no evil responses either.

At this point, anything with a traited grid is still segfaulting, including some optional advanced configuration windows in Mayavi.

Cheers,
Eric
 

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ETS - PushEventHandler is one trigger of segfaults

Robin Dunn
The common tripping points with PushEventHandler is that each one needs to use a new instance, you can't share or reuse event handlers. The other is that you must pop or remove the event handlers before the window is destroyed.

Also, be sure you're on the newest traitsui, I fixed some PushEventHandler related things last year that I ran into with wxPython 3.0 Classic.

Robin


On Monday, April 10, 2017 at 3:00:49 PM UTC-7, braidedlogix wrote:
I am relieved to report that I found one of the primary triggers causing segfaults in my attempt to update the traitsui/pyface packages  for use with wxPython Phoenix under Python 3. The culprit is the PushEventHandler method. At this point I have not studied the situation sufficiently to identify why this is behaving so badly, so I can't be more specific about the underlying contexts. I have merely commented out the method wherever it occurs, and I am happy to say that a large fraction of things are working well. In particular, with Mayavi2 or mayavi.mlab, the pipeline browser is working well except for anything with a grid or a slider range. Movement of any slider I've tried has just been getting ignored - no error messages, but no evil responses either.

At this point, anything with a traited grid is still segfaulting, including some optional advanced configuration windows in Mayavi.

Cheers,
Eric
 

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ETS - PushEventHandler is one trigger of segfaults

braidedlogix

I have done both ets checkouts and just used the versions shipping with conda. Could you help me find the specific repository/version that are sure to have your revisions?

Many Thanks,
Eric

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ETS - PushEventHandler is one trigger of segfaults

Robin Dunn
On Monday, April 10, 2017 at 4:41:18 PM UTC-7, braidedlogix wrote:

I have done both ets checkouts and just used the versions shipping with conda. Could you help me find the specific repository/version that are sure to have your revisions?


The master copies are on github, https://github.com/enthought/traits and https://github.com/enthought/traitsui

It looks like my changes were longer ago than "last year" so if you have 5.0 you should have them.

Robin

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ETS - PushEventHandler is one trigger of segfaults

braidedlogix
Thanks for the links. My spot checking in critical points suggests that I have in fact been using versions that include your changes.

I've been testing and probing to the extent possible trying to pick off deprecated and python3 problems, and will return soon enough to event pushing to see if I can't identify the specific things that make PushEventHandler not work in this case.

I can say for certain that PushEventHandler is not the cause of segfaults for the grid modules.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ETS - PushEventHandler is one trigger of segfaults

braidedlogix
Well, I have to wonder what all of the "PushEventHandler()" statements accomplish in traitsui, because I've managed to get everything but the grids to function.

I am really excited to report that Mayavi2 and mavavi.mlab are fully functioning except for advanced editor dialogs that involve grid traits.

I "rediscovered" the TraitsUI demo folder, and most things appear to be running properly with only minor formatting issues. The examples not working either depend on the grid traits or depend on unavailable items.

Cheers,
Eric

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.