From: Matt K. <ra...@ch...> - 2004-03-29 19:31:18
|
OK, I've found the problem. It's a wxGTK bug, in the wxString class. The default constructor initializes a pointer data member (the member that holds the actual storage) to NULL. The destructor blindly dereferences this pointer. If the string never gets set to anything, it dereferences a NULL pointer minus an index, making for a truly horrible pointer value. Unfortunately, the wxGTK library has a few global wxString variables which normally don't get used. Thus, they contain these NULL pointers and seg fault on exit when their destructors get called globally. There is a very simple fix, but sadly, the bug is within wxGTK. If anyone is interested, I'll post the fix. I'll also contact the wxWindows team and notify them. Matt > > As Patrick wrote, It's been there as long as I can remember. > > It has always annoyed me so it would be great if you could eliminate it. > > Cheers, > /Joakim > > Matt Kelly wrote: > > > All, > > > > I've been looking into why JAZZ dumps core when you exit. > > I think I may be onto something. It appears to be dumping > > core during the destruction of a global wxString located > > within the wxGTK library itself. Not sure if it's a wxGTK > > bug, a wxWindows bug, or if it's something we're causing, > > but it smells like it might be a wxGTK bug. > > > > My question to the group: how many of you see this behavior? > > I'm asking because I see the same behavior with Audacity. > > My copy of Audacity came bundled with my SuSE installation. > > This seems to reinforce my beliefs. > > > > Also, interestingly, I grabbed the latest wxGTK source, and > > compiled it in debug mode, and installed it. I made Jazz > > use it for its compiling. Guess what, same thing on exit!!! > > > > I just want to see if other distros see this same behavior. > > > > Thanks, > > > > Matt |