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 568093 - crash with latest revision 3285
crash with latest revision 3285
Status: RESOLVED FIXED
Product: libgda
Classification: Other
Component: Client library
3.99.x
Other Linux
: Normal major
: ---
Assigned To: malerba
gnome-db Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-17 16:16 UTC by Massimo Cora'
Modified: 2009-02-18 20:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
reproduceable crash. (3.14 KB, text/plain)
2009-01-19 21:36 UTC, Massimo Cora'
Details

Description Massimo Cora' 2009-01-17 16:16:11 UTC
Using Anjuta I've got a crash with libgda rev 3285.
Everything worked fine with 3284.


Program received signal SIGSEGV, Segmentation fault.

Thread 3001301904 (LWP 16776)

  • #0 write32bits
    at sqlite3.c line 12576
  • #1 subjournalPage
    at sqlite3.c line 33450
  • #2 pager_write
    at sqlite3.c line 34311
  • #3 sqlite3PagerWrite
    at sqlite3.c line 34420
  • #4 sqlite3BtreeDelete
    at sqlite3.c line 42224
  • #5 sqlite3VdbeExec
    at sqlite3.c line 52850
  • #6 sqlite3_step
    at sqlite3.c line 47849
  • #7 gda_sqlite_provider_statement_execute
    at gda-sqlite-provider.c line 2571
  • #8 gda_connection_statement_execute_v
    at gda-connection.c line 1494
  • #9 gda_connection_statement_execute_non_select
    at gda-connection.c line 1624
  • #10 sdb_engine_add_new_symbol
    at symbol-db-engine-core.c line 4983
  • #11 sdb_engine_populate_db_by_tags
    at symbol-db-engine-core.c line 1294
  • #12 sdb_engine_ctags_output_thread
    at symbol-db-engine-core.c line 1388
  • #13 ??
    from /usr/lib/libglib-2.0.so.0
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 ??
    from /usr/lib/libglib-2.0.so.0
  • #19 ??
  • #20 ??
    from /usr/lib/libglib-2.0.so.0
  • #21 ??
    from /lib/i686/cmov/libpthread.so.0
  • #22 _L_unlock_92
    from /lib/i686/cmov/libpthread.so.0
  • #23 __pthread_mutex_unlock_usercnt
    from /lib/i686/cmov/libpthread.so.0
  • #24 ??
    from /usr/lib/libglib-2.0.so.0
  • #25 ??
  • #26 ??
  • #27 ??

Comment 1 malerba 2009-01-17 16:58:14 UTC
Can you check if you still have the crash with when replacing the contents of the libgda/sqlite/sqlite-src with what it was in rev #3284? (rev #3285 has been moved to SQLite 3.6.10)
Comment 2 Massimo Cora' 2009-01-17 17:40:38 UTC
Actually with libgda/sqlite/sqlite-src to rev 3284 I don't have a crash anymore.
Comment 3 malerba 2009-01-18 13:21:07 UTC
Ok, thanks!

Could you try to provide a simple standalone program which reproduces the crash so I can investigate?
Comment 4 Massimo Cora' 2009-01-19 21:36:48 UTC
Created attachment 126795 [details]
reproduceable crash.

here it is. Finally I got it crash and I was able to isolate the bug.

I took some anjuta connecting/executing code and I simply placed it in a example.c.
I included also the .anjuta_sym_db.db SQLite db which is responsible for the crash.
Sorry for the 2.5 MB size but it was necessary.

oh well, I forgot the main point: it seems that the crash was due to 
PRAGMA journal_mode = OFF

we absolutely need this pragma for speed and usability issues, so I don't think it's a good thing to remove.

here it is my stack trace

Program received signal SIGSEGV, Segmentation fault.

Thread 3078633216 (LWP 21731)

  • #0 write32bits
    at sqlite3.c line 12576
  • #1 subjournalPage
    at sqlite3.c line 33450
  • #2 pager_write
    at sqlite3.c line 34311
  • #3 sqlite3PagerWrite
    at sqlite3.c line 34420
  • #4 sqlite3PagerCommitPhaseOne
    at sqlite3.c line 34589
  • #5 sqlite3BtreeCommitPhaseOne
    at sqlite3.c line 38733
  • #6 sqlite3VdbeHalt
    at sqlite3.c line 46127
  • #7 sqlite3VdbeExec
    at sqlite3.c line 49619
  • #8 sqlite3_step
    at sqlite3.c line 47849
  • #9 gda_sqlite_provider_statement_execute
    at gda-sqlite-provider.c line 2571
  • #10 gda_connection_statement_execute_v
    at gda-connection.c line 1494
  • #11 gda_connection_statement_execute_non_select
    at gda-connection.c line 1624
  • #12 do_your_best_to_crash
    at example.c line 112
  • #13 main
    at example.c line 128


ps2: I cannot have bugzilla to upload the 2.5 MB file. I'll send it to you by mail.
Comment 5 malerba 2009-01-21 15:51:45 UTC
Bug reported to SQLite's developers, see http://www.sqlite.org/cvstrac/tktview?tn=3603
Comment 6 Massimo Cora' 2009-02-06 21:58:58 UTC
there's still no sqlite 3.6.11.
I suppose you'll ship for the release with the current sqlite version? (No problems about it, I'm just wondering...)

Comment 7 malerba 2009-02-07 13:07:48 UTC
I think that yes, the V4 will be with Sqlite 3.6.7, except if a 3.6.1 comes out quickly enough so the Anjuta team can make sure it's ok (and of course Libga's own tests are Ok).
Comment 8 malerba 2009-02-18 16:17:22 UTC
Today SQLite released 3.6.11, and:
- it is explicitely said that upgrading from versions prior to 3.6.10 is recommended
- this bug seems to be resolved with this version
- Libgda's tests all pass with that version

so I put it into Libgda rev #3326. Can you please check there is no more problem with Anjuta and that version? If so I'll ship V4 with this version of SQLite.
Comment 9 Massimo Cora' 2009-02-18 20:34:30 UTC
all good here, at least for the tests I had. Seems like the nasty bug has gone.
Comment 10 malerba 2009-02-18 20:39:28 UTC
Ok, so I'm closing this bug and keeping 3.6.11 in Libgda.