Bug 2365 - Crash when auto-scrolling headers in compose window
Summary: Crash when auto-scrolling headers in compose window
Status: RESOLVED FIXED
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: UI/Compose Window (show other bugs)
Version: 3.7.8
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2011-02-18 22:40 UTC by Michael Schwendt
Modified: 2011-04-05 23:36 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Schwendt 2011-02-18 22:40:17 UTC
https://bugzilla.redhat.com/661766

Backtraces (both x86_64):
Claws Mail 3.7.8, Fedora 14:
  https://bugzilla.redhat.com/attachment.cgi?id=479608
Claws Mail 3.7.6, Fedora 13:
  https://bugzilla.redhat.com/attachment.cgi?id=467774

Excerpt (notice the ASCII-like compose= value that looks like memory corruption):
#0  compose_show_first_last_header (compose=0x6e654d6b74472e77, show_first=0) at compose.c:10787
#1  0x000000000047c629 in compose_headerentry_changed_cb (entry=0x1308390 [GtkEntry], headerentry=0x39c5940) at compose.c:10776

Quoting the first bug reporter (because with these instructions I managed to freeze Claws Mail 3.7.8 i686 once, at least):

How to reproduce
-----
1. Write an email
2. Have several email accounts setup with different signatures and servers.
3. Point the mouse in the new message window to the account name ("From"
dropdown menu) and wildly use the mouse scroll as if you we're scrolling a web
page.
4. Boom!
Comment 1 Pawel Pekala 2011-02-22 18:58:28 UTC
I can reproduce it with version 3.7.8, but not with newest cvs version.
Maybe this fixed the issue:

2010-12-20 [colin]      3.7.8cvs14

        * src/compose.c
                Don't flush events when adding an header entry. This
                can mess up the keypresses in the previous header.
                Instead, make the scroll happen later (doing it on the
                spot without flushing events doesn't work as the new
                requisitions aren't set yet).

Any chances you could check CVS version?
Comment 2 Colin Leroy 2011-02-23 08:56:24 UTC
Indeed Pawel, 3.7.8cvs14 should fix it...
Comment 3 Michael Schwendt 2011-02-23 09:57:14 UTC
Looks promising. I've tested the related change to compose.c,
  https://bugzilla.redhat.com/attachment.cgi?id=480198
and even with wild mouse-wheel usage I could not reproduce the issue.

I guess our users will report back when they would encounter it again.
Comment 4 Michael Schwendt 2011-03-07 10:48:37 UTC
There's a new bug report related to this with Claws Mail 3.7.8 patched with the scroll_postpone fix. Any ideas on what the user may have done?

  Full backtrace: https://bugzilla.redhat.com/attachment.cgi?id=482630
  Bug: https://bugzilla.redhat.com/682679

Thread 1 (Thread 0x7f343b92e980 (LWP 19702)):
#0  0x000000000047c3ce in compose_show_first_last_header (compose=<value optimized out>, show_first=0) at compose.c:10791
        __inst = 0x-a0a0b000a0a0c
        __t = 35756320
        __r = <value optimized out>
        vadj = <value optimized out>
#1  0x000000000047c648 in scroll_postpone (data=0x2ab6750) at compose.c:10769
        compose = 0x2ab6750
#2  0x00000036fd4435eb in g_timeout_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gmain.c:3585
        timeout_source = 0x3f40be0
#3  0x00000036fd441e33 in g_main_dispatch (context=0x220d3c0) at gmain.c:2149
[...]
Comment 5 Michael Schwendt 2011-03-31 13:01:15 UTC
In https://bugzilla.redhat.com/682679#c6 the reporter has described his typical Claws Mail usage (using the "Spam" button) when this crash in compose_show_first_last_header happens. He seems to be able to reproduce it often.
Comment 6 Michael Schwendt 2011-04-03 09:35:24 UTC
In https://bugzilla.redhat.com/682679#c10 the reporter has downgraded to Claws Mail 3.7.8 (without the patch for this bug) and cannot reproduce the crash.
Comment 7 Colin Leroy 2011-04-03 11:29:03 UTC
Working on that, thanks for reporting again :)
Comment 8 users 2011-04-03 11:55:35 UTC
Changes related to this bug have been committed.
Please check latest CVS and update the bug accordingly.
You can also get the patch from:
http://www.colino.net/claws-mail/

2011-04-03 [colin]	3.7.8cvs70

	* src/compose.c
		Fix bug #2365 again, "Crash when auto-scrolling headers in
		compose window".
		Batch-mode compose windows (from filtering actions) shouldn't
		try to access stuff after flushing events...
Comment 9 Michael Schwendt 2011-04-05 23:36:09 UTC
Quoting reporter,
 
| Work perfect.
| Thank you.

who referred to a test-build of 3.7.8cvs68 plus Colin's patch.

Note You need to log in before you can comment on or make changes to this bug.