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 766499 - Crashes on update from CDDB
Crashes on update from CDDB
Status: RESOLVED FIXED
Product: easytag
Classification: Other
Component: general
2.4.x
Other Linux
: High critical
: 2.4
Assigned To: EasyTAG maintainer(s)
EasyTAG maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2016-05-16 05:28 UTC by Vincèn PUJOL
Modified: 2016-06-27 19:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vincèn PUJOL 2016-05-16 05:28:21 UTC
Running Easytag 2.4.2 accessing a directory of FLAC files on a NFS volume. I select all flac files in a directory, searches for CDDB than asks to update whole list of files selected with CDDB data and then it crashes.

Ubuntu 16.04 LTS 64 bits, Easytag 2.4.2
Comment 1 David King 2016-05-16 08:09:44 UTC
Thanks for taking the time to report this.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so. When pasting a stack trace in this bug report, please reset the status of this bug report from NEEDINFO to its previous status. Thanks in advance!
Comment 2 AB 2016-06-13 12:41:57 UTC
Program received signal SIGSEGV, Segmentation fault.

Thread 34607227904 (LWP 102153/easytag)

  • #0 Cddb_Set_Track_Infos_To_File_List
    at cddb_dialog.c line 2399
  • #1 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.0
  • #2 g_signal_emit_valist
    from /usr/local/lib/libgobject-2.0.so.0
  • #3 g_signal_emit
    from /usr/local/lib/libgobject-2.0.so.0
  • #4 gtk_button_get_event_window
    from /usr/local/lib/libgtk-3.so.0
  • #5 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.0

Comment 3 David King 2016-06-24 22:25:01 UTC
The stack trace from comment #2 is not of high quality (it seems to be missing the source listing and variables). Anyway, a more important problem is that without steps to reproduce the problem, it can be a bit difficult to do so.

My steps to reproduce are:

1. start EasyTAG and select an album of files (listed in the correct order)
2. open the CDDB dialogue and click "Search Using Selected Files"
3. wait for some results and select an album
4. click "Apply" without first selecting result tracks in the right pane (also, while making sure that "Match lines with the Levenshtein algorithm" is selected")

This crashes because, if no files have been selected, the matching algorithm has not been run and so each track in the result does not have an associated ETFile from the file list (it is NULL in the model). There are a few possible solutions, so I will look in to it soon.

  • #0 Cddb_Set_Track_Infos_To_File_List
    at src/cddb_dialog.c line 2399
  • #1 _g_closure_invoke_va
    at gclosure.c line 867
  • #2 g_signal_emit_valist
    at gsignal.c line 3294
  • #3 g_signal_emit
    at gsignal.c line 3441
  • #4 gtk_button_do_release
    at gtkbutton.c line 1843
  • #5 gtk_real_button_released
    at gtkbutton.c line 1961
  • #6 _g_closure_invoke_va
    at gclosure.c line 867
  • #7 g_signal_emit_valist
    at gsignal.c line 3294
  • #8 g_signal_emit
    at gsignal.c line 3441
  • #9 multipress_released_cb
    at gtkbutton.c line 666
  • #10 ffi_call_unix64
    from /lib64/libffi.so.6
  • #11 ffi_call
    from /lib64/libffi.so.6
  • #12 g_cclosure_marshal_generic_va
    at gclosure.c line 1604
  • #13 _g_closure_invoke_va
    at gclosure.c line 867
  • #14 g_signal_emit_valist
    at gsignal.c line 3294
  • #15 g_signal_emit
    at gsignal.c line 3441
  • #16 gtk_gesture_multi_press_end
    at gtkgesturemultipress.c line 282
  • #17 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1950
  • #18 _g_closure_invoke_va
    at gclosure.c line 867
  • #19 g_signal_emit_valist
    at gsignal.c line 3294
  • #20 g_signal_emit
    at gsignal.c line 3441
  • #21 _gtk_gesture_set_recognized
    at gtkgesture.c line 345
  • #22 _gtk_gesture_check_recognized
    at gtkgesture.c line 386
  • #23 gtk_gesture_handle_event
    at gtkgesture.c line 777
  • #24 gtk_gesture_single_handle_event
    at gtkgesturesingle.c line 221
  • #25 gtk_event_controller_handle_event
    at gtkeventcontroller.c line 230
  • #26 _gtk_widget_run_controllers
    at gtkwidget.c line 7353
  • #27 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 131
  • #28 _g_closure_invoke_va
    at gclosure.c line 867
  • #29 g_signal_emit_valist
    at gsignal.c line 3294
  • #30 g_signal_emit
    at gsignal.c line 3441
  • #31 gtk_widget_event_internal
    at gtkwidget.c line 7713
  • #32 propagate_event_up
    at gtkmain.c line 2546
  • #33 propagate_event
    at gtkmain.c line 2648
  • #34 gtk_main_do_event
    at gtkmain.c line 1879
  • #35 _gdk_event_emit
    at gdkevents.c line 73
  • #36 gdk_event_source_dispatch
    at gdkeventsource.c line 367
  • #37 g_main_dispatch
    at gmain.c line 3200
  • #38 g_main_context_dispatch
    at gmain.c line 3846
  • #39 g_main_context_iterate
    at gmain.c line 3919
  • #40 g_main_context_iteration
    at gmain.c line 3980
  • #41 g_application_run
    at gapplication.c line 2381
  • #42 main
    at src/main.c line 38

Comment 4 David King 2016-06-27 19:26:28 UTC
I fixed this with a combination of commit 7d545a37dccc1ee33240e233d0849144f112073d and commit cafc9ffc8832ca1826ed986702851eb23050b73c to master. The fixes will be in an upcoming 2.4.3 release.