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 576418 - crash in Glom: Just quit the applicatio...
crash in Glom: Just quit the applicatio...
Status: RESOLVED NOTABUG
Product: glom
Classification: Other
Component: general
1.10.x
Other All
: High critical
: ---
Assigned To: Murray Cumming
Murray Cumming
Depends on:
Blocks:
 
 
Reported: 2009-03-23 14:24 UTC by Denis Leroy
Modified: 2009-03-30 16:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26



Description Denis Leroy 2009-03-23 14:24:26 UTC
Version: 1.10.0

What were you doing when the application crashed?
Just quit the application after creating a table in a new empty document. Seems to always crash on quit.


Distribution: Fedora release 10.92 (Rawhide)
Gnome Release: 2.25.92 2009-03-10 (Red Hat, Inc)
BugBuddy Version: 2.25.91

System: Linux 2.6.29-0.258.rc8.git2.fc11.x86_64 #1 SMP Mon Mar 16 20:53:26 EDT 2009 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 10600000
Selinux: Enforcing
Accessibility: Disabled
GTK+ Theme: Nodoka
Icon Theme: Fedora
GTK+ Modules: canberra-gtk-module, pk-gtk-module, gnomebreakpad

Memory status: size: 423784448 vsize: 423784448 resident: 43163648 share: 26574848 rss: 43163648 rss_rlim: 18446744073709551615
CPU usage: start_time: 1237818082 rtime: 393 utime: 358 stime: 35 cutime:0 cstime: 3 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/glom'

[Thread debugging using libthread_db enabled]
[New Thread 0x7f2d9735c910 (LWP 31543)]
[New Thread 0x7f2d998cd910 (LWP 31533)]
0x0000003150c0ea5d in waitpid () from /lib64/libpthread.so.0

Thread 1 (Thread 0x7f2da0893800 (LWP 31531))

  • #0 waitpid
    from /lib64/libpthread.so.0
  • #1 g_spawn_sync
    from /lib64/libglib-2.0.so.0
  • #2 g_spawn_command_line_sync
    from /lib64/libglib-2.0.so.0
  • #3 ??
    from /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so
  • #4 <signal handler called>
  • #5 gtk_widget_get_toplevel
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #6 ??
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #7 gtk_widget_has_screen
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #8 ??
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #9 ??
    from /usr/lib64/libgdk-x11-2.0.so.0
  • #10 g_main_context_dispatch
    from /lib64/libglib-2.0.so.0
  • #11 ??
    from /lib64/libglib-2.0.so.0
  • #12 g_main_loop_run
    from /lib64/libglib-2.0.so.0
  • #13 epc_tls_private_key_new
    from /usr/lib64/libepc-1.0.so.2
  • #14 epc_tls_get_server_credentials
    from /usr/lib64/libepc-1.0.so.2
  • #15 epc_publisher_run_async
    from /usr/lib64/libepc-1.0.so.2
  • #16 Glom::ConnectionPool::avahi_start_publishing
    at connectionpool.cc line 994
  • #17 Glom::ConnectionPool::connect
    at connectionpool.cc line 395
  • #18 Glom::ConnectionPool::get_and_connect
    at connectionpool.cc line 297


---- Critical and fatal warnings logged during execution ----

** glibmm **: 
unhandled exception (type Glib::Error) in signal handler:
domain: gda_statement_error
code  : 6
what  : Wrong parameter type for 'next_value': expected type 'gchararray' and got 'GdaNumeric'
 
** glibmm **: 
unhandled exception (type Glib::Error) in signal handler:
domain: gda_statement_error
code  : 6
what  : Wrong parameter type for 'next_value': expected type 'gchararray' and got 'GdaNumeric'
 
** Gtk **: gtk_main_quit: assertion `main_loops != NULL' failed 


----------- .xsession-errors ---------------------
BaseDB::query_execute: ConnectionError: Wrong parameter type for 'next_value': expected type 'gchararray' and got 'GdaNumeric'
(glom:31531): glibmm-CRITICAL **: 
unhandled exception (type Glib::Error) in signal handler:
domain: gda_statement_error
code  : 6
what  : Wrong parameter type for 'next_value': expected type 'gchararray' and got 'GdaNumeric'
DEBUG: Base_DB::update_gda_metastore_for_table(): Calling Gda::Connection::update_meta_store_table() ...
DEBUG: Base_DB::update_gda_metastore_for_table(): ... Finished calling Gda::Connection::update_meta_store_table()
waiting for server to shut down.... done
server stopped
(glom:31531): Gtk-CRITICAL **: gtk_main_quit: assertion `main_loops != NULL' failed
DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
--------------------------------------------------
Comment 1 Murray Cumming 2009-03-24 08:05:49 UTC
Sorry, I can't reproduce it here in my jhbuild on Ubuntu Intrepid. 

This warning is very suspicious:
"
Wrong parameter type for 'next_value': expected type 'gchararray' and
got 'GdaNumeric'
"

Do you definitely have the latest versions of libgda and libgdamm (and have you rebuilt glom with them)?

Can you get a valgrind memcheck report for this, with --num-callers=30 or so?
Comment 2 Denis Leroy 2009-03-24 14:30:50 UTC
Trying to reproduce this, now I keep running into an earlier bug (this time I'm running F-11 Beta on an external disk, not on a VM).

Note that glom is compiled without sqlite support. libgda is 4.0, gdamm is 3.99.14.

I keep running into an assertion violation at gda-connection.c:2987 :

The call to gda_connection_get_meta_sore() returns NULL. Stepping through that call, it calls gda_meta_store_new() with a NULL argument (at line 4096), which itself, cnc-string being NULL, uses a SQLite:/ argument that looks suspicious to me since glom is compiled without sqlite support...
Comment 3 Murray Cumming 2009-03-24 14:49:39 UTC
I have not seen that before.

libgda use sqlite for its internal meta-store. I don't know if disabling the libgda sqlite (which also uses an internal copy of sqlite, not an external sqlite) breaks that. I hope not.

Disabling sqlite support in Glom is good and should be unrelated.
Comment 4 Denis Leroy 2009-03-24 14:57:43 UTC
Ok, so glom has a run-time dependency on libgda-sqlite which I wasn't aware of, so that addresses comment #2. You may want to consider adding a run-time check for this rather than a simple assertion. As for the crash-upon-exit bug, it seems to happen occasionally with other gnome apps as well, so it's unlikely to be glom-specific (although valgrind does how a number of invalid reads upon exit). I'll close this as not-a-bug.
Comment 5 Murray Cumming 2009-03-24 15:13:33 UTC
I find that surprising. I am asking on gnome-db-list.
Comment 6 Murray Cumming 2009-03-24 16:12:27 UTC
Was libgda built with an external sqlite? It should not be.
Comment 7 Denis Leroy 2009-03-24 18:32:27 UTC
It may just be a packaging bug. The libgda package is split into multiple RPMs (to split the dependencies). The libgda-sqlite package contains only one file: /usr/lib/libgda-3.0/providers/libgda-sqlite.so

If you temporarily remove it, that should trigger this assertion failure bug.

> Was libgda built with an external sqlite? It should not be.

No, there's nothing unusual in the way libgda is built, as far as I can tell.
Comment 8 Murray Cumming 2009-03-25 11:45:33 UTC
On the mailing list, vivien says
"
I'm preparing a patch for the V4 and will release a 4.0.1 soon
to make sure everything is OK even if the SQLite provider is not installed.
"

Let's remember to verify that.
Comment 9 Murray Cumming 2009-03-30 16:23:24 UTC
This is fixed in libgda-4.0.1. Please make sure that your Glom package does not depend unnecessarily on the libgda-sqlite provider.