win98 crash on startup with 2.8 libs
I spent half the night debugging this crash today - gdb no longer works, so I had to do this by scattering printfs in the code. I localized it to this:
gtk_option_menu_set_menu(GTK_OPTION_MENU(us->menu), m);
in spus_rebuild_menu() in unit-menu.cpp. It's called when the first units menu for the selector toolbar is created. Both pointers are valid. I know gtk_option_menu is deprecated, but it must not crash! We have lots of old code with gtk_option_menu and absolutely no resources to rewrite them all.
If I comment that line out, it goes farther, but eventually still crashes somewhere. I have no energy left to figure out where.
Now, there's also an error box with the same "pango error" as the one I fixed for 0.42.2. As I understand it, it's caused by the crash handler's attempt to write prefs on exit. The prefs file is read OK but writing it out is broken (again). However, this only happens after the gtk_option_menu crash.
My conclusion: We have to roll back to 2.6. The gtk 2.8 seems to be really really broken on win98. I don't see how we can work around this.
Opinions?
bulia byak wrote:
I spent half the night debugging this crash today - gdb no longer works, so I had to do this by scattering printfs in the code. I localized it to this:
gtk_option_menu_set_menu(GTK_OPTION_MENU(us->menu), m);
in spus_rebuild_menu() in unit-menu.cpp. It's called when the first units menu for the selector toolbar is created. Both pointers are valid. I know gtk_option_menu is deprecated, but it must not crash! We have lots of old code with gtk_option_menu and absolutely no resources to rewrite them all.
If I comment that line out, it goes farther, but eventually still crashes somewhere. I have no energy left to figure out where.
Now, there's also an error box with the same "pango error" as the one I fixed for 0.42.2. As I understand it, it's caused by the crash handler's attempt to write prefs on exit. The prefs file is read OK but writing it out is broken (again). However, this only happens after the gtk_option_menu crash.
My conclusion: We have to roll back to 2.6. The gtk 2.8 seems to be really really broken on win98. I don't see how we can work around this.
Opinions?
Hey, Bulia! ;-)
I've been trying to reach you for hours now. I can't be on the list or on jabber this weekend, as you might have seen on the news: http://www.nhc.noaa.gov/refresh/graphics_at3%2Bshtml/144728.shtml?5day?large I'm almost exactly in the middle of the bubble.
IMHO, it would be a lot of work to retrofit with 2.6, as 2.8 has several bugfixes, and at least one critical fix (a patch I sent, for exporting Gtk::TreeColumn) that we need. Atk has 3 export problems, too.
Bulia, I think that only you and <acspike> have win98 environments available. I think that maybe you guys can test out the file opening stuff. IMHO again ;-) I think that Glib2.8 has some fixes that obviate JonCruz's fixes that we tested a year ago. What you might want to test is building and running code with the 'fopen_utf8()' calls that Jin wrote replaced by the Glib equivalents. From reading the Glib changelogs from Tor Lillqvist and the other guys, I think that they might have addressed this problem.
Bob
On 9/21/05, Bob Jamison <rwjj@...127...> wrote:
Bulia, I think that only you and <acspike> have win98 environments available. I think that maybe you guys can test out the file opening stuff.
Sure, but before I can get to file i/o, it crashes in some absolutely innocuous gtk_option_menu call. That's the point. I don't know how to work around that. And I absolutely don't want us to drop support of win98 because of that. If you don't want to downgrade to 2.6, I think we need to push gtk devs to fix their crash in 2.8.
participants (2)
-
Bob Jamison
-
bulia byak