ellie-commons / sequeler

SQL Client built in Vala
GNU General Public License v3.0
804 stars 66 forks source link

Crash when tries to connect MariaDB database #300

Closed drizt closed 4 years ago

drizt commented 4 years ago

It's not Flatpak. It's Fedora package build from your Alecaddd sources

$ rpm -qi sequeler
Name        : sequeler
Version     : 0.7.3
Release     : 1.fc31
Architecture: x86_64
Install Date: Tue 03 Mar 2020 09:57:50 AM +05
Group       : Unspecified
Size        : 1276491
License     : GPLv3
Signature   : RSA/SHA256, Fri 06 Sep 2019 06:30:40 PM +05, Key ID 50cb390b3c3359c4
Source RPM  : sequeler-0.7.3-1.fc31.src.rpm
Build Date  : Fri 06 Sep 2019 06:11:01 PM +05
Build Host  : buildvm-12.phx2.fedoraproject.org
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://github.com/Alecaddd/sequeler
Bug URL     : https://bugz.fedoraproject.org/sequeler
Summary     : SQL Client built in Vala

I installed sequeler on Fedora 31. Started, filled connection window and pressed connect button. Then crash.

Backtrace

Thread 1 "com.github.alec" received signal SIGABRT, Aborted.
0x00007ffff6e61625 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install GConf2-3.2.6-27.fc31.x86_64 at-spi2-atk-2.34.1-1.fc31.x86_64 at-spi2-core-2.34.0-1.fc31.x86_64 atk-2.34.1-1.fc31.x86_64 bzip2-libs-1.0.8-1.fc31.x86_64 cairo-1.16.0-6.fc31.x86_64 cairo-gobject-1.16.0-6.fc31.x86_64 dbus-glib-0.110-6.fc31.x86_64 dbus-libs-1.12.16-3.fc31.x86_64 dconf-0.34.0-1.fc31.x86_64 expat-2.2.8-1.fc31.x86_64 fontconfig-2.13.92-3.fc31.x86_64 freetype-2.10.0-3.fc31.x86_64 fribidi-1.0.5-5.fc31.x86_64 gdk-pixbuf2-2.40.0-1.fc31.x86_64 glib2-2.62.5-1.fc31.x86_64 granite-5.3.0-1.fc31.x86_64 graphite2-1.3.13-1.fc31.x86_64 gtk3-3.24.13-1.fc31.x86_64 gtksourceview3-3.24.11-2.fc31.x86_64 harfbuzz-2.6.1-2.fc31.x86_64 libX11-1.6.9-2.fc31.x86_64 libXau-1.0.9-2.fc31.x86_64 libXcursor-1.1.15-6.fc31.x86_64 libXdamage-1.1.4-17.fc31.x86_64 libXext-1.3.4-2.fc31.x86_64 libXfixes-5.0.3-10.fc31.x86_64 libXi-1.7.10-2.fc31.x86_64 libXinerama-1.1.4-4.fc31.x86_64 libXrandr-1.5.2-2.fc31.x86_64 libXrender-0.9.10-10.fc31.x86_64 libblkid-2.34-4.fc31.x86_64 libdatrie-0.2.9-10.fc31.x86_64 libepoxy-1.5.3-4.fc31.x86_64 libffi-3.1-23.fc31.x86_64 libgcc-9.2.1-2.fc31.x86_64 libgcrypt-1.8.5-1.fc31.x86_64 libgda-5.2.9-3.fc31.x86_64 libgee-0.20.3-1.fc31.x86_64 libmount-2.34-4.fc31.x86_64 libpng-1.6.37-2.fc31.x86_64 libsecret-0.19.1-1.fc31.x86_64 libselinux-2.9-5.fc31.x86_64 libssh2-1.9.0-3.fc31.x86_64 libthai-0.1.28-3.fc31.x86_64 libwayland-client-1.17.0-2.fc31.x86_64 libwayland-cursor-1.17.0-2.fc31.x86_64 libxcb-1.13.1-3.fc31.x86_64 libxkbcommon-0.9.1-3.fc31.x86_64 libxml2-2.9.10-3.fc31.x86_64 lz4-libs-1.9.1-1.fc31.x86_64 openssl-libs-1.1.1d-2.fc31.x86_64 pango-1.44.7-1.fc31.x86_64 pcre-8.43-3.fc31.x86_64 pixman-0.38.4-1.fc31.x86_64 xz-libs-5.2.4-6.fc31.x86_64
(gdb) bt
#0  0x00007ffff6e61625 in raise () at /lib64/libc.so.6
#1  0x00007ffff6e4a8d9 in abort () at /lib64/libc.so.6
#2  0x00007ffff6ea54af in __libc_message () at /lib64/libc.so.6
#3  0x00007ffff6eaca9c in annobin_top_check.start () at /lib64/libc.so.6
#4  0x00007ffff6eae49c in _int_free () at /lib64/libc.so.6
#5  0x00007ffff747b44d in g_free () at /lib64/libglib-2.0.so.0
#6  0x000055555558a160 in sequeler_widgets_connection_dialog_package_data (self=0x555555b12220) at ../src/Widgets/ConnectionDialog.vala:662
#7  0x000055555558b6d1 in sequeler_widgets_connection_dialog_init_connection_co (_data_=0x7fffe800f540) at ../src/Widgets/ConnectionDialog.vala:623
#8  0x00007ffff7561c62 in g_cclosure_marshal_VOID__BOOLEANv () at /lib64/libgobject-2.0.so.0
#9  0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#10 0x00007ffff757c228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#11 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#12 0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#13 0x00007ffff757c228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#14 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#15 0x00007ffff79c753e in gtk_button_do_release () at /lib64/libgtk-3.so.0
#16 0x00007ffff79c75a8 in gtk_real_button_released () at /lib64/libgtk-3.so.0
#17 0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#18 0x00007ffff757c228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#19 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#20 0x00007ffff79c59d4 in multipress_released_cb () at /lib64/libgtk-3.so.0
#21 0x00007ffff7c76291 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv () at /lib64/libgtk-3.so.0
#22 0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#23 0x00007ffff757c228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#24 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#25 0x00007ffff7a8e24c in gtk_gesture_multi_press_end () at /lib64/libgtk-3.so.0
#26 0x00007ffff7562b96 in g_cclosure_marshal_VOID__BOXEDv () at /lib64/libgobject-2.0.so.0
#27 0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#28 0x00007ffff757c228 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#29 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#30 0x00007ffff7a8b2b2 in _gtk_gesture_check_recognized () at /lib64/libgtk-3.so.0
#31 0x00007ffff7a8c8e3 in gtk_gesture_handle_event () at /lib64/libgtk-3.so.0
#32 0x00007ffff7a8f8b6 in gtk_gesture_single_handle_event () at /lib64/libgtk-3.so.0
#33 0x00007ffff7a56ec0 in gtk_event_controller_handle_event () at /lib64/libgtk-3.so.0
#34 0x00007ffff7c18d8d in _gtk_widget_run_controllers () at /lib64/libgtk-3.so.0
#35 0x00007ffff7c6fd9f in _gtk_marshal_BOOLEAN__BOXEDv () at /lib64/libgtk-3.so.0
#36 0x00007ffff755f996 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#37 0x00007ffff757be6a in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#38 0x00007ffff757c9d3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#39 0x00007ffff7c1a823 in gtk_widget_event_internal () at /lib64/libgtk-3.so.0
#40 0x00007ffff7ad6168 in propagate_event () at /lib64/libgtk-3.so.0
#41 0x00007ffff7ad837b in gtk_main_do_event () at /lib64/libgtk-3.so.0
#42 0x00007ffff77c0f79 in _gdk_event_emit () at /lib64/libgdk-3.so.0
#43 0x00007ffff77f4086 in gdk_event_source_dispatch () at /lib64/libgdk-3.so.0
#44 0x00007ffff7475520 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#45 0x00007ffff74758b0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#46 0x00007ffff7475953 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#47 0x00007ffff76892d5 in g_application_run () at /lib64/libgio-2.0.so.0
#48 0x000055555556319d in _vala_main (args=0x7fffffffdc08, args_length1=1) at ../src/Main.vala:35
#49 0x00007ffff6e4c1a3 in __libc_start_main () at /lib64/libc.so.6
#50 0x000055555556308e in _start () at ../src/Main.vala:29
drizt commented 4 years ago
(gdb) f 6
#6  0x000055555558a160 in sequeler_widgets_connection_dialog_package_data (self=0x555555a545c0) at ../src/Widgets/ConnectionDialog.vala:662
662                     packaged_data.set ("color", color_picker.rgba.to_string ());
(gdb) l
657             private Gee.HashMap<string, string> package_data () {
658                     var packaged_data = new Gee.HashMap<string, string> ();
659
660                     packaged_data.set ("id", connection_id.text);
661                     packaged_data.set ("title", title_entry.text);
662                     packaged_data.set ("color", color_picker.rgba.to_string ());
663                     packaged_data.set ("type", db_types[db_type_entry.get_active ()]);
664                     packaged_data.set ("host", db_host_entry.text);
665                     packaged_data.set ("name", db_name_entry.text);
666                     packaged_data.set ("file_path", db_file_entry.get_uri () != null ? db_file_entry.get_uri () : "");
drizt commented 4 years ago

Rebuilt package with patch

From a36ef8a77516fc4682b995c9dc8c3267cfc4e668 Mon Sep 17 00:00:00 2001
From: Ivan Romanov <drizt72@zoho.eu>
Date: Tue, 3 Mar 2020 11:05:42 +0500
Subject: [PATCH] commit

---
 src/Widgets/ConnectionDialog.vala | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Widgets/ConnectionDialog.vala b/src/Widgets/ConnectionDialog.vala
index 8fc37ac..54b6520 100644
--- a/src/Widgets/ConnectionDialog.vala
+++ b/src/Widgets/ConnectionDialog.vala
@@ -406,7 +406,7 @@ public class Sequeler.Widgets.ConnectionDialog : Gtk.Dialog {

        var color = Gdk.RGBA ();
        color.parse (update_data["color"]);
-       color_picker.rgba = color;
+       // color_picker.rgba = color;

        foreach (var entry in db_types.entries) {
            if (entry.value == update_data["type"]) {
@@ -659,7 +659,7 @@ public class Sequeler.Widgets.ConnectionDialog : Gtk.Dialog {

        packaged_data.set ("id", connection_id.text);
        packaged_data.set ("title", title_entry.text);
-       packaged_data.set ("color", color_picker.rgba.to_string ());
+       // packaged_data.set ("color", color_picker.rgba.to_string ());
        packaged_data.set ("type", db_types[db_type_entry.get_active ()]);
        packaged_data.set ("host", db_host_entry.text);
        packaged_data.set ("name", db_name_entry.text);
-- 
2.24.1

Now works.

Alecaddd commented 4 years ago

Very interesting. Which GTK version are you running on Fedora? I wonder if there's a deprecation related to the color RGBA syntax.

drizt commented 4 years ago
$ rpm -q gtk3
gtk3-3.24.13-1.fc31.x86_64
Alecaddd commented 4 years ago

@drizt could you try again with the regular version of Sequeler? I updated the connection workflow to avoid saving the data if the connection already exists.

drizt commented 4 years ago

Now works. Thanks/