Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault in gda_blob_to_string #380

Open
ernstki opened this issue Jan 9, 2023 · 1 comment
Open

Segmentation fault in gda_blob_to_string #380

ernstki opened this issue Jan 9, 2023 · 1 comment
Labels

Comments

@ernstki
Copy link

ernstki commented Jan 9, 2023

Sequeler 0.8.2 (at dbda4e7, built locally from Git) segfaults when I click on "Content" for a specific table in a remote MediaWiki database. I'm able to view the contents of other tables, no problem.

Not sure if this is an upstream libgda bug or not. I am using libgda-5.0-mysql:amd64 and libgda-5.0-4:amd64 versions 5.2.9-2ubuntu1, from the Ubuntu repositories. There don't seem to be any open or closed issues in the GNOME libgda repository that reference gda_blob_to_string, the function that crashed.

I can barely work a debugger, but I'm happy to provide as much additional information as I can. I've attached the output of running bt -full in gdb a the time of the crash, if that's helpful, but the relevant lines seems to be:

#0  0x00007ffff70471d1 in gda_blob_to_string () at /lib/x86_64-linux-gnu/libgda-5.0.so.4
#1  0x00007ffff704726e in  () at /lib/x86_64-linux-gnu/libgda-5.0.so.4
#2  0x00007ffff73bbfb5 in g_value_transform () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff73988ab in g_object_setv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff739988f in g_object_set_property () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff792bef7 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007ffff72931b8 in g_hash_table_foreach () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff792bdbf in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff793179f in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#9  0x00007ffff7bd3595 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#10 0x00007ffff7390a56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff73afb48 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff73b00f3 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff792d953 in gtk_cell_area_apply_attributes () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff7b58218 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff7b5feac in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007ffff7b605f5 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007ffff7ace441 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#18 0x00007ffff7acece6 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff7acedd6 in gtk_widget_get_preferred_width () at /lib/x86_64-linux-gnu/libgtk-3.so.0
⋮

I don't think any of this is super-relevant, but:

  • MySQL 8.0.26 on CentOS
  • accessed over a local tunnel (e.g., ssh -N -L 33306:localhost:3306 the-remote-host); couldn't get Sequeler's own SSH tunnel functionality to work
  • client is elementaryOS Jólnir (6.1), so Ubuntu 20.04 basically, I think

The MediaWiki comment table is the one causing the problem, and here's the DESCRIBE output for that table, in case it helps.

Field        │ Type            │ Null │ Key │ Default │ Extra         
─────────────┼─────────────────┼──────┼─────┼─────────┼───────────────
comment_id   │ bigint unsigned │ NO   │ PRI │         │ auto_increment
comment_hash │ int             │ NO   │ MUL │         │               
comment_text │ blob            │ NO   │     │         │               
comment_data │ blob            │ YES  │     │         │               

I could probably get you a sanitized copy of the table in question, if you think it would help.

File attachments

  • bt-full.txt - the output of bt -full at the time of the segmentation fault, copy-pasted into a file
@ernstki ernstki changed the title Sefault in gda_blob_to_string Segmentation fault in gda_blob_to_string Jan 9, 2023
@Alecaddd Alecaddd added the LibGDA label Jan 9, 2023
@Alecaddd
Copy link
Collaborator

Alecaddd commented Jan 9, 2023

Hey, thank you so much for using Sequeler.
Indeed, this seems to be a LibGDA issue.
I'm starting laying down the plan to upgrade Sequeler to GTK4 and rewrite it from scratch, with the objective to avoid segfault crashes and more strictly validate types before trying to print them in the UI.
Other than that, I don't really know what to do as it seems that LibGDA is not actively developed and supported at the moment.
I will try to explore alternative libraries that are more stable and actively developed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants