GNOME Bugzilla – Bug 272988
gtkhtml from CVS goes into an endless loop
Last modified: 2009-01-06 22:35:16 UTC
Steps to reproduce: 1. Use Evolution 2. Type a new message 3. On random occasions this happens Stack trace: remove_spell_errors (spell_errors=0xaa68ffc, offset=85, len=42) at htmltext.c:2115 /home/freax/cvs/gnome/gtkhtml/src/htmltext.c:2115:55005:beg:0xb7cf1100 (gdb) bt
+ Trace 56106
Other information: I launched the gdb-command with the PID of the evolution0process as argument while the evolution-process was hanging. Thats how I obtained the backtrace.
Created attachment 44888 [details] [review] It wasn
Created attachment 44889 [details] [review] How it was wasn't how to securely remove an item from a list. Especially not when using multiple threads and few locking mechanisms
both attachments are the same, so marking one as obsolete
Philip: So, the above patch handles the removing of spell error nodes from the list using g_list_remove_all instead of g_list_remove_link. Could you tell me how this change would help avoid an infinite loop. Also, if the spell_errors list contains two identical data items, wouldn't the second instance of calling g_list_remove_all be redundant? Thanks.
adding philip to cc list; please answer kaushal's question above. thanks very much in advance. :-)
Well, this was a race condition. So I remember that I tried to find the problem in the path of that stack-trace. And saw that part. I'm not sure if it actually fixed the problem. It it's been a few months since I last checked. I don't think this bug should be marked as an enhancement. It crashes both Evolution and makes the desktop unusable slow. It even gets difficult to type a command like "killall -9 evolution". Imho it's a major and critical bug. Note that the bug still happens. I think at least once a week. I basically started typing my e-mails in gedit to avoid this bug. But imagine what 'unstable-feeling' most normal users get. I feel this bug is being ignored. But fine ...
Oh. I also noticed it often happens a few seconds after copy/pasting text.
i also don't think this bug should be marked as an enhancement. seems like i have not run into this bug yet. ok, we have a patch. philip, you still have those crashes. after applying that patch or haven't you applied it? hmm.
Actually, after reviewing my own patch, I don't think it would solve the problem. I think this is happening a few methods higher on the stack. Probably some recursive function calling happning incorrectly. I should really investigate this, I guess. Anyway, as it's a race condition it's not easy to reproduce the problem. But I'll try to launch a debugger each time it happens. Which isn't going to be easy, as when it happens, it consumes huge amounts of I/O and makes the desktop itself very slow. It even happens that the kernel kill the process.
I had this bug again yesterday. It had been months since it happened however.
Are we still missing a complete diagnosis on this problem? Is it still there?
Setting the patch status from comment #9
Possibly fixed in bug #495073.
idd