Page 4 of 5

Posted: Tue 04 Nov 2008, 21:06
by Béèm
I remark that in fact nobody had the idea to ask the question in a mozilla support group.
So I did now in news:news.mozilla.org group mozilla.support.seamonkey.
For those who want to follow use Mozilla news to login to the server, but beware don't use the insert key. :wink:

Posted: Wed 05 Nov 2008, 22:57
by Béèm
I got one reply from someone using fedora and 1.1.12. He don't have he issue.
I installed 1.1.12 in puppy and still have the issue.
Maybe not a SeaMonkey issue?
Maybe something weird in puppy or in the forum?

Posted: Wed 05 Nov 2008, 23:31
by Béèm
I tried another forum and have the same issue still.
Leaves puppy itself then, altho other applications like swrite/geany work correctly.

Posted: Thu 06 Nov 2008, 02:52
by Flash
Thanks, Béèm. Does it also happen to you in, say, Yahoo's mail compose window?

Posted: Thu 06 Nov 2008, 03:06
by Pizzasgood
Maybe something weird in puppy or in the forum?
I'm nearly certain it's something in Puppy 4.xx, or at least a combo of something in Puppy and something in mozilla/gecko. I had no issues in 3.01, but in both 4.x versions I had issues with every version of Firefox and Seamonkey that I tried, and also bareview. All of which are mozilla/gecko based browsers.

I also had the problem in a basic test page I made that included nothing but a textarea and the html, head, body, and form tags needed to make the page proper. (A "textarea" is a spot that supports multiple lines of text.) So I doubt it's related to the forum. Probably something to do with how the browser uses GTK widgets to create a textarea.

If I were going to try to figure out the problem, I would start by replacing GTK or glib with alternate versions and seeing if it made a difference.

I don't have time to mess with it myself, at least not for the next several days. Maybe over the weekend. It would be a good way to justify putting off the writing assignment that I will be assigned tomorrow.

Posted: Thu 06 Nov 2008, 20:13
by Béèm
Flash wrote:Thanks, Béèm. Does it also happen to you in, say, Yahoo's mail compose window?
Good question, Flash.
No it doesn't happen in the yahoo compose mail window.

Posted: Thu 06 Nov 2008, 20:19
by Béèm
Pizzasgood wrote:I don't have time to mess with it myself, at least not for the next several days. Maybe over the weekend. It would be a good way to justify putting off the writing assignment that I will be assigned tomorrow.
Your studies should have priority above these problems.

I saw this post by accident and being intrigued I started to do some diagnostics. Normally I don't use the insert key very much.

To mess with GTK or glib is a bit beyond my skills. At least not on this PC.

Posted: Mon 10 Nov 2008, 09:53
by disciple
I just tried Thunderbird, and it crashes it too (e.g. the compose window). And the help browser in Dingo. So I guess it crashes everything Mozilla.

IIRC, muppy has an updated GTK/Glib - we could test with them.
I thought MU had posted packages, but I can't find them. Does anyone else remember this?

Posted: Mon 10 Nov 2008, 22:18
by thekevinday
I have partially identified and partially solved (more like worked around) the problem.

I recently noticed that by adding the compile time option "--enable-debug=yes" to glib caused some glib related segfaults and crashes to stop. This in itself did not solve the INSERT key issue.

Naturally, I decided to also compile gtk+ with the option "--enable-debug=yes" and success, the problem goes away; I can now press the insert key!

This completely solves the problem from the end-user's perspective.

EDIT: I almost forgot to mention, i did not need to recompile anything other than glib and gtk+, seamonkey was left untouched.

Posted: Tue 11 Nov 2008, 00:03
by Béèm
thekevinday wrote:This completely solves the problem from the end-user's perspective.
Congrats.
But how would an end-user easily apply this solution?

Posted: Tue 11 Nov 2008, 00:26
by thekevinday
I was referring to more on the terms of the distributors being able to supply a recompiled work around version until such a time that the real problem gets fixed.

Posted: Tue 11 Nov 2008, 00:32
by disciple
But how would an end-user easily apply this solution?
Someone would make new packages and the end-user would install them. And they would get put in the next Puppy.

Béèm - you may have missed the fact that thekevinday is not using Puppy.

Posted: Tue 11 Nov 2008, 01:19
by Béèm
disciple wrote:Béèm - you may have missed the fact that thekevinday is not using Puppy.
Well yes, I have seen it now on the previous page. So for puppy, wait and see then.

Posted: Tue 11 Nov 2008, 01:51
by Pizzasgood
Cool. I'll take care of it tomorrow.

Posted: Tue 11 Nov 2008, 22:17
by Pizzasgood
Well, I though I had it working fine, but I think it broke Geany now, so I just took down my package before anybody borks themselves (hopefully they haven't already...).

I will test further.

Posted: Tue 11 Nov 2008, 23:40
by Pizzasgood
Cool. Turns out I only had to recompile gtk with the --enable-debug option. Works fine without touching glib.

I also compiled it with --enable-xinput=yes, because otherwise people with drawing tablets can't use pressure sensitivity, and I'm sure there are other peripherals that use xinput.

Just install this over your existing gtk. Note: you probably can't use this as a standalone gtk package in Unleashed. Most likely you need to copy this into the current package, overwriting the files, because I believe the original package has some other configuration files and such that aren't in this one.
gtk+-2.12.1-xinput-debug.pet
EDIT: file removed - it's slightly broken - does not work with SCIM. See several posts down, I posted a corrected version.

Tested on 4.11 and 4.12 only.

You'll have to restart at least the browser before it will take effect.

Posted: Wed 12 Nov 2008, 00:27
by Béèm
Pizzasgood wrote:Well, I though I had it working fine, but I think it broke Geany now, so I just took down my package before anybody borks themselves (hopefully they haven't already...).

I will test further.
Ooops, downloaded but didn't install yet. Oef.

Posted: Wed 12 Nov 2008, 01:48
by Pizzasgood
Oh, that reminds me: the working one I posted above will also correct the broken one, in case anybody did install it. At least, it seems to have. Everything that was goofed up before (geany, gnumeric, abiword, firefox's icons) is working now.

HOORAY!

Posted: Mon 08 Dec 2008, 10:07
by disciple
Sorry I didn't test earlier PG, I didn't see it :(

Rather than installing it:
1. I took it apart, stripped the libs, and found they were still substantially bigger than the ones that came in Puppy, so I thought I'd try replacing files one by one.
2. I checked that INSERT still killed seamonkey.
3. I replaced libgtk-x11-2.0.so.0.1200.1 but INSERT still killed seamonkey
4. I replaced libgdk-x11-2.0.so.0.1200.1, and INSERT doesn't kill seamonkey anymore. HOORAY!!!! :):):):):):):):)

So it is fixed by either:
1. just replacing libgdk, or
2. (less likely IMNSHO) replacing libgtk and libgdk

Now we need to:
1. compile the latest GTK to see if it has the same problem
2. if so, upgrade so we can solve the bug without bloat, and if not report it properly.

Now I see this in a terminal when I press INSERT in seamonkey:

Code: Select all

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_buffer_get_insert: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_buffer_get_iter_at_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: _gtk_text_layout_get_block_cursor: assertion `layout != NULL' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_layout_get_cursor_locations: assertion `layout != NULL' failed

(seamonkey-bin:8528): Gdk-CRITICAL **: gdk_window_invalidate_rect: assertion `window != NULL' failed

(seamonkey-bin:8528): Gdk-CRITICAL **: gdk_window_invalidate_rect: assertion `window != NULL' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_buffer_get_insert: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_buffer_get_iter_at_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: _gtk_text_layout_get_block_cursor: assertion `layout != NULL' failed

(seamonkey-bin:8528): Gtk-CRITICAL **: gtk_text_layout_get_cursor_locations: assertion `layout != NULL' failed

(seamonkey-bin:8528): Gdk-CRITICAL **: gdk_window_invalidate_rect: assertion `window != NULL' failed

(seamonkey-bin:8528): Gdk-CRITICAL **: gdk_window_invalidate_rect: assertion `window != NULL' failed
Good night :)

Posted: Tue 09 Dec 2008, 04:08
by Flash
Pizza, I didn't notice your .pet until this morning. I installed it immediately but haven't had time to restart (saving the session) and test it until now. While writing this I've hit the insert key several times without any effect at all. It looks like you not only found the cause of the problem but fixed it. Good job! You get two Attaboys. :D