After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 688926 - SIGABRT on call_old_file_Sync
SIGABRT on call_old_file_Sync
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.6.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 686215 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-11-23 10:54 UTC by Geaaru
Modified: 2014-12-05 11:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch that fix this issue (436 bytes, patch)
2012-11-23 10:54 UTC, Geaaru
reviewed Details | Review
evolution-sqlite-sync.patch (342 bytes, patch)
2012-11-23 12:42 UTC, Geaaru
reviewed Details | Review

Description Geaaru 2012-11-23 10:54:27 UTC
Created attachment 229712 [details] [review]
Patch that fix this issue

[Thread 0x7fff42ffb700 (LWP 8282) exited]
evolution: sqlite3.c:26153: unixSync: Assertion `(flags&0x0F)==0x00002 || (flags&0x0F)==0x00003' failed.

Program received signal SIGABRT, Aborted.

Thread 140735500883712 (LWP 8277)

  • #0 raise
    from /lib64/libc.so.6
  • #1 abort
    from /lib64/libc.so.6
  • #2 ??
    from /lib64/libc.so.6
  • #3 __assert_fail
    from /lib64/libc.so.6
  • #4 ??
    from /usr/lib64/libsqlite3.so.0
  • #5 call_old_file_Sync
    at camel-db.c line 68
  • #6 sync_request_thread_cb
    at camel-db.c line 94
  • #7 ??
    from /usr/lib64/libglib-2.0.so.0
  • #8 ??
    from /usr/lib64/libglib-2.0.so.0
  • #9 start_thread
    from /lib64/libpthread.so.0
  • #10 clone
    from /lib64/libc.so.6

camel-db.c initialize with 0 flag instead of a valid sqlite flag.
Comment 1 Milan Crha 2012-11-23 12:30:03 UTC
Thanks for a bug report and patch. As we spoke on IRC, the issue is that camel_sqlite3_file_xClose() calls sync_push_request() even when there is not scheduled any xSync call, thus cFile->flags is 0. The fix would be to to have sync_push_request() being no-op for case when cFile->flags is NULL.
Comment 2 Geaaru 2012-11-23 12:42:40 UTC
Created attachment 229722 [details] [review]
evolution-sqlite-sync.patch

New patch without override of cFlie->flags.
Comment 3 Milan Crha 2012-11-23 12:56:07 UTC
Thanks, that's basically it. I'll add the line below the rec_mutex, it's there to make sure the cFile->flags is not changed unexpectedly, and then commit it.
Comment 4 Milan Crha 2012-11-23 13:10:48 UTC
Created commit 14f262d in eds master (3.7.3+)
Created commit db3dac4 in eds gnome-3-6 (3.6.3+)
Comment 5 Milan Crha 2014-12-05 11:11:44 UTC
*** Bug 686215 has been marked as a duplicate of this bug. ***