Hello,
All of the traitsui demos still segfault, but the only consistent thing between failures is that the faults are triggered by calls to events. Of the demos I've run through gdb, no two scripts fail on the same event. Furthermore, a couple of specific interesting behaviors:
1. on the wizard.py demo, as noted in my last message, wxWidgets catches an attempt to update a color with a string '(255,0,0,255)' rather than a tuple. This is interesting for three reasons (a) something is triggering a change-color event (b) the event is sending str('(255,0,0,255)') and the current value is listed as u'(255,0,0,255)' and (c) the comparison shows these two to not be equal. I have no idea why it would want to send or use strings, because all of the color traits are actual tuples and not strings.
2. In the grid.py demo, under a Windows 7-x64 VM (but not the host Linux Mint Cinnamon 18.1 64-bit), the grid comes up briefly with the row and column labels, and column 1 populated with text elements, but nothing in the other 3 columns of non-text elements. On Linux I get no gui popping up, but I can stop the Python script just prior to segfaulting. In winpdb, I can make changes to the traits table entries or the underlying traits row data, or I can change the cells directly with the methods of the wxGrid object. When I make changes to the grid object, these are pushed immediately down to the lowest trait data object. On the other hand, changing the traits data directly does not change the corresponding grid object.
All of this leads me to believe that some intermediate mid-level event binding isn't taking place. I would certainly welcome any other theories though.
BTW, my ultimate objective in all of this is getting Mayavi functional with the latest wx.
Cheers, Eric