GNOME Bugzilla – Bug 742350
Crash on saving changed file
Last modified: 2015-01-07 09:36:30 UTC
EasyTAG 2.3.3 appears to crash whenever I save a file with an altered tag. The new tag value is saved, but the program dies with a segmentation fault. I've tried changing only one tag -- making the Genre different -- but I don't think it matters which tag I edit to get this result. I can edit the file with metaflac, so I don't think I'm dealing with a corrupt FLAC file issue. I can repeat this crash no matter which file I edit. Running the program from the command line yields: $ easytag ~/test-easytag-crashing/ ** (easytag:32054): CRITICAL **: ET_Save_File_Data_From_UI: assertion 'ETFile != NULL && ETFile->FileNameCur != NULL && ETFile->FileNameCur->data != NULL' failed ** (easytag:32054): CRITICAL **: ET_Save_File_Data_From_UI: assertion 'ETFile != NULL && ETFile->FileNameCur != NULL && ETFile->FileNameCur->data != NULL' failed ** (easytag:32054): CRITICAL **: ET_Save_File_Data_From_UI: assertion 'ETFile != NULL && ETFile->FileNameCur != NULL && ETFile->FileNameCur->data != NULL' failed Please advise.
The crash is probably related to refactoring of the FLAC tagging code that happened between 2.3.2 and 2.3.3. You will need to get a stack track so that I can debug further: https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces/Details#Getting_Stack_Traces_--_Detailed_Version Be sure to paste the full stack trace into this report (do not add it as an attachment).
Thanks for the pointer to the docs on getting a stacktrace with gdb. I'm not sure how to get you the information you need (like in Thread 1, backtrace #0 through #7 and #44) from the stacktrace I've got:
+ Trace 234506
Thread 1 (Thread 0x7ffff7fbb9c0 (LWP 15112))
I installed some -dbg packages (glib-networking-dbg, libglib2.0-0-dbg, libglib2.0-0-refdbg, libdconf-dbg, libgtk-3-0-dbg) to try providing info for the other "??" traces I was getting but I don't know what else I need to install to show the full backtrace info. Suggestions welcome.
Thanks for the stack trace! The missing information is probably caused by missing debug symbols for easytag, as there are no EasyTAG functions in any of the traces. I just updated the Debian and PPA packages to add a easytag-dbg (and easytag-nautilus-dbg) package, which contains the debug symbols for the corresponding package. If you install those packages and then acquire another stack trace, it should have all the EasyTAG symbols included.
Thanks for the debug version! Here's an updated stack trace using the easytag-dbg EasyTAG:
+ Trace 234514
Thread 1 (Thread 0x7ffff7fbb9c0 (LWP 431))
Thanks for the updated stack trace. I fixed this on the master and easytag-2-2 branches as ebe269ac7bedf4394f57db8712f8dfd402f2d5e3 and 9244e1380bb63c00fdd205cd4d5e3c0fa0ccf660.