|Gtk bug that crashes loserjabber (or, how to crash loserjabber in 3 easy steps)
||[Apr. 9th, 2001|12:28 am]
Since Evan was so kind as to let me have posting access here, I thought I'd mention the GTK/LoserJabber issue that I came across a few days ago. It appears that at some point after gtk+ 1.2.8, there was a little bug in gtktext that caused a variable (text_length) to be set to a negative number in certain situations. |
#2 0x40197823 in gdk_draw_text_wc (drawable=0x80c6d70, font=0x809ded0,
gc=0x80c6848, x=149, y=51, text=0x6, text_length=-1073746912)
Well, I managed to trigger that situation with loserjabber a few days ago, and was initially concerned that it might be a loserjabber bug.
The bug is in the new fast-path code in gdkim.c used when --with-native-locale is used on the compile of gtk+. It's all related to multi-byte character handling in GTK/GLIB.
This was posted as a bug in the gnome bugzilla. If interested, check it out here.
It was fixed in gtk+ 1.2.10. I don't know what the other Linux distributions are using, but Red Hat 7.1 Beta 2 uses the broken 1.2.9. I'm campaigning to get it fixed for RH 7.1, and I dont think it will be a tough sell. If you're using an rpm based distribution, I rolled gtk+ and glib 1.2.10 rpms and put them with the loserjabber rpms at http://people.redhat.com/tcallawa/loserjabber. If you're not using an RPM based distribution, then you may want to either get and apply the patch from the bugzilla link above, or upgrade to 1.2.10 from source (id wager that debs exist).
Its not dangerous, it just will crash loserjabber in certain situations. I'm just trying to head off some potential loserjabber bug reports for Mr. Martin, and keep your system free of unneeded core files. Want to know more? Email me or comment.