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 359083 - Crash when editing artist field of mp3
Crash when editing artist field of mp3
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
0.9.6
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 359491 359551 359607 359649 359859 359929 360109 360214 360285 360289 360433 360622 360625 360960 360963 361146 361347 361755 362729 363426 363652 363906 363938 364136 364624 366483 367057 367797 368053 368431 368631 368879 370332 370810 370814 370815 371101 371369 371593 371658 372048 372054 372097 373042 373342 373944 374945 375318 378843 378844 381088 381234 381941 383997 386597 388411 391904 396355 398748 402322 408785 416904 418686 435022 441420 465673 473029 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-10-02 18:57 UTC by Sven Arvidsson
Modified: 2007-12-19 04:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Song most likely to cause crash (400.00 KB, audio/mpeg)
2006-10-02 18:59 UTC, Sven Arvidsson
  Details
gdb backtrace (10.02 KB, text/plain)
2006-10-02 19:00 UTC, Sven Arvidsson
  Details
patch (3.95 KB, patch)
2006-10-05 22:53 UTC, Jonathan Matthew
committed Details | Review
additional patch (1.91 KB, patch)
2006-10-11 22:04 UTC, Jonathan Matthew
committed Details | Review

Description Sven Arvidsson 2006-10-02 18:57:56 UTC
After upgrading to version 0.9.6 I experience crashes when updating tags. I seem to have this problem one several different files, but the one attached to the report is the one most likely to cause to crash when I try to edit the artist field.

I'm not sure it's only related to this file, as I tried removing ~/.gnome2/rhythmbox/ and starting fresh with only this file in the database. This did not seem to cause any crashes.

This is the error message I get:
RhythmDB-ERROR **: file rhythmdb-property-model.c: line 618 (rhythmdb_property_model_delete_prop): assertion failed: ((ptr = g_hash_table_lookup (model->priv->reverse_map, propstr)))
aborting...
Comment 1 Sven Arvidsson 2006-10-02 18:59:27 UTC
Created attachment 73888 [details]
Song most likely to cause crash
Comment 2 Sven Arvidsson 2006-10-02 19:00:31 UTC
Created attachment 73889 [details]
gdb backtrace
Comment 3 Elijah Newren 2006-10-02 19:03:20 UTC
Thanks for the bug report; The stack trace appears to be unique.

From the assertion message, this looks like a possible duplicate of bug 337064/bug 331149...

Comment 4 Jonathan Matthew 2006-10-02 21:28:47 UTC
I can reproduce this (with any file) as follows:
- create an automatic playlist that matches the song
- type something in the search box that also matches the song
- edit the song properties so that it will no longer match the auto playlist query
Comment 5 Jonathan Matthew 2006-10-04 10:56:53 UTC
*** Bug 359551 has been marked as a duplicate of this bug. ***
Comment 6 Karsten Bräckelmann 2006-10-04 18:35:32 UTC
*** Bug 359649 has been marked as a duplicate of this bug. ***
Comment 7 Jonathan Matthew 2006-10-05 12:02:13 UTC
*** Bug 359859 has been marked as a duplicate of this bug. ***
Comment 8 Elijah Newren 2006-10-05 16:29:19 UTC
*** Bug 359929 has been marked as a duplicate of this bug. ***
Comment 9 Jonathan Matthew 2006-10-05 22:53:14 UTC
Created attachment 74099 [details] [review]
patch

If the property change excludes the entry from the parent query model, the child model will see the parent's row-deleted signal before it gets the entry-changed signal, so any attached property models will only see the deletion.  

Since the entry has already been changed at this point, they will try to remove it using the new property value rather than the old one, which at best screws up the reference counts and at worst causes this assertion failure.

For chained query models, this change propagates the entry-prop-changed signal from the parent model, rather than emitting it in response to the entry-changed signal from the db.  This ensures that any property models attached to the child model see the property change before the deletion, so they can update correctly.
Comment 10 James "Doc" Livingston 2006-10-06 13:55:40 UTC
Looks sane to me.

When you asked about splitting up the rhythmdb tests the other day, was it because you were writing one for this? If so, having it in cvs as a regression test might be a good idea.
Comment 11 Jonathan Matthew 2006-10-06 15:51:30 UTC
Yes, I was writing some property model tests to help track this down.  They also trip over at least one other bug (something to do with hidden entries in static playlists), but I've got a fix for that.  I think there's a bug open somewhere I can attach a patch to..
Comment 12 Elijah Newren 2006-10-06 22:06:23 UTC
*** Bug 360285 has been marked as a duplicate of this bug. ***
Comment 13 Karsten Bräckelmann 2006-10-06 22:46:53 UTC
*** Bug 360289 has been marked as a duplicate of this bug. ***
Comment 14 Jonathan Matthew 2006-10-07 02:56:04 UTC
*** Bug 359607 has been marked as a duplicate of this bug. ***
Comment 15 Jonathan Matthew 2006-10-07 02:59:24 UTC
I've committed the patch.  I'll handle the other things (test cases, related bug fixes) in other bugs.
Comment 16 Jonathan Matthew 2006-10-07 03:01:26 UTC
*** Bug 359491 has been marked as a duplicate of this bug. ***
Comment 17 Karsten Bräckelmann 2006-10-07 17:23:47 UTC
*** Bug 360433 has been marked as a duplicate of this bug. ***
Comment 18 Jonathan Matthew 2006-10-08 12:29:41 UTC
*** Bug 360625 has been marked as a duplicate of this bug. ***
Comment 19 Jonathan Matthew 2006-10-08 12:29:48 UTC
*** Bug 360622 has been marked as a duplicate of this bug. ***
Comment 20 Karsten Bräckelmann 2006-10-09 18:26:51 UTC
*** Bug 360963 has been marked as a duplicate of this bug. ***
Comment 21 Karsten Bräckelmann 2006-10-09 18:27:51 UTC
*** Bug 360960 has been marked as a duplicate of this bug. ***
Comment 22 Baptiste Mille-Mathias 2006-10-10 13:57:05 UTC
*** Bug 361146 has been marked as a duplicate of this bug. ***
Comment 23 Elijah Newren 2006-10-11 05:54:56 UTC
*** Bug 361347 has been marked as a duplicate of this bug. ***
Comment 24 Jonathan Matthew 2006-10-11 22:04:21 UTC
Created attachment 74523 [details] [review]
additional patch

Don't emit visible->hidden changes from chained query models, so property models don't see the change twice and break.
Comment 25 Jonathan Matthew 2006-10-11 22:04:57 UTC
I've already committed this.
Comment 26 Jonathan Matthew 2006-10-12 23:21:17 UTC
*** Bug 361755 has been marked as a duplicate of this bug. ***
Comment 27 Elijah Newren 2006-10-16 22:34:09 UTC
*** Bug 362729 has been marked as a duplicate of this bug. ***
Comment 28 André Klapper 2006-10-19 14:52:10 UTC
*** Bug 363426 has been marked as a duplicate of this bug. ***
Comment 29 Karsten Bräckelmann 2006-10-20 12:54:02 UTC
*** Bug 363652 has been marked as a duplicate of this bug. ***
Comment 30 Christian Kirbach 2006-10-21 13:55:36 UTC
*** Bug 363906 has been marked as a duplicate of this bug. ***
Comment 31 André Klapper 2006-10-21 15:09:36 UTC
*** Bug 363938 has been marked as a duplicate of this bug. ***
Comment 32 Alex Lancaster 2006-10-22 11:05:17 UTC
*** Bug 364136 has been marked as a duplicate of this bug. ***
Comment 33 Karsten Bräckelmann 2006-10-28 21:05:12 UTC
*** Bug 366483 has been marked as a duplicate of this bug. ***
Comment 34 André Klapper 2006-10-29 20:14:31 UTC
*** Bug 367057 has been marked as a duplicate of this bug. ***
Comment 35 Karsten Bräckelmann 2006-10-30 18:58:32 UTC
*** Bug 367797 has been marked as a duplicate of this bug. ***
Comment 36 James "Doc" Livingston 2006-10-31 07:43:52 UTC
*** Bug 368053 has been marked as a duplicate of this bug. ***
Comment 37 Alex Lancaster 2006-11-01 02:49:05 UTC
*** Bug 368631 has been marked as a duplicate of this bug. ***
Comment 38 Alex Lancaster 2006-11-01 02:52:08 UTC
*** Bug 360109 has been marked as a duplicate of this bug. ***
Comment 39 Alex Lancaster 2006-11-01 02:53:02 UTC
*** Bug 360214 has been marked as a duplicate of this bug. ***
Comment 40 Alex Lancaster 2006-11-01 02:54:41 UTC
*** Bug 368431 has been marked as a duplicate of this bug. ***
Comment 41 Karsten Bräckelmann 2006-11-01 18:06:18 UTC
*** Bug 368879 has been marked as a duplicate of this bug. ***
Comment 42 Jonathan Matthew 2006-11-04 10:27:25 UTC
*** Bug 370332 has been marked as a duplicate of this bug. ***
Comment 43 Jonathan Matthew 2006-11-05 01:33:07 UTC
*** Bug 370810 has been marked as a duplicate of this bug. ***
Comment 44 Jonathan Matthew 2006-11-05 01:33:56 UTC
*** Bug 370814 has been marked as a duplicate of this bug. ***
Comment 45 Jonathan Matthew 2006-11-05 01:34:37 UTC
*** Bug 370815 has been marked as a duplicate of this bug. ***
Comment 46 André Klapper 2006-11-05 16:51:08 UTC
*** Bug 371101 has been marked as a duplicate of this bug. ***
Comment 47 Alex Lancaster 2006-11-06 05:55:11 UTC
*** Bug 371369 has been marked as a duplicate of this bug. ***
Comment 48 Karsten Bräckelmann 2006-11-06 17:32:20 UTC
*** Bug 371593 has been marked as a duplicate of this bug. ***
Comment 49 Jonathan Matthew 2006-11-06 21:38:26 UTC
*** Bug 371658 has been marked as a duplicate of this bug. ***
Comment 50 Karsten Bräckelmann 2006-11-07 17:34:35 UTC
*** Bug 372048 has been marked as a duplicate of this bug. ***
Comment 51 Karsten Bräckelmann 2006-11-07 17:37:06 UTC
*** Bug 364624 has been marked as a duplicate of this bug. ***
Comment 52 Karsten Bräckelmann 2006-11-07 17:46:00 UTC
*** Bug 372054 has been marked as a duplicate of this bug. ***
Comment 53 Karsten Bräckelmann 2006-11-07 17:54:15 UTC
*** Bug 372097 has been marked as a duplicate of this bug. ***
Comment 54 André Klapper 2006-11-09 19:32:27 UTC
*** Bug 373042 has been marked as a duplicate of this bug. ***
Comment 55 James "Doc" Livingston 2006-11-10 10:47:18 UTC
*** Bug 373342 has been marked as a duplicate of this bug. ***
Comment 56 Jonathan Matthew 2006-11-11 22:53:19 UTC
*** Bug 373944 has been marked as a duplicate of this bug. ***
Comment 57 Alex Lancaster 2006-11-14 02:13:19 UTC
*** Bug 374945 has been marked as a duplicate of this bug. ***
Comment 58 Alex Lancaster 2006-11-14 22:53:08 UTC
*** Bug 375318 has been marked as a duplicate of this bug. ***
Comment 59 Jonathan Matthew 2006-11-24 20:30:17 UTC
*** Bug 378843 has been marked as a duplicate of this bug. ***
Comment 60 Jonathan Matthew 2006-11-24 20:30:29 UTC
*** Bug 378844 has been marked as a duplicate of this bug. ***
Comment 61 Jonathan Matthew 2006-12-01 00:25:02 UTC
*** Bug 381088 has been marked as a duplicate of this bug. ***
Comment 62 Alex Lancaster 2006-12-01 12:29:03 UTC
*** Bug 381234 has been marked as a duplicate of this bug. ***
Comment 63 Jonathan Matthew 2006-12-03 22:43:38 UTC
*** Bug 381941 has been marked as a duplicate of this bug. ***
Comment 64 Alex Lancaster 2006-12-09 12:17:25 UTC
*** Bug 383997 has been marked as a duplicate of this bug. ***
Comment 65 Jonathan Matthew 2006-12-16 22:03:02 UTC
*** Bug 386597 has been marked as a duplicate of this bug. ***
Comment 66 James "Doc" Livingston 2006-12-22 08:30:31 UTC
*** Bug 388411 has been marked as a duplicate of this bug. ***
Comment 67 Jonathan Matthew 2007-01-02 20:01:09 UTC
*** Bug 391904 has been marked as a duplicate of this bug. ***
Comment 68 James "Doc" Livingston 2007-01-21 10:09:39 UTC
*** Bug 398748 has been marked as a duplicate of this bug. ***
Comment 69 Alex Lancaster 2007-01-30 09:19:43 UTC
*** Bug 402322 has been marked as a duplicate of this bug. ***
Comment 70 Alex Lancaster 2007-01-30 09:20:19 UTC
*** Bug 396355 has been marked as a duplicate of this bug. ***
Comment 71 James "Doc" Livingston 2007-02-17 11:54:09 UTC
*** Bug 408785 has been marked as a duplicate of this bug. ***
Comment 72 Alex Lancaster 2007-03-11 13:17:39 UTC
*** Bug 416904 has been marked as a duplicate of this bug. ***
Comment 73 Alex Lancaster 2007-03-15 23:39:03 UTC
*** Bug 418686 has been marked as a duplicate of this bug. ***
Comment 74 palfrey 2007-05-02 11:51:25 UTC
*** Bug 435022 has been marked as a duplicate of this bug. ***
Comment 75 Philip Withnall 2007-06-03 10:30:32 UTC
*** Bug 441420 has been marked as a duplicate of this bug. ***
Comment 76 palfrey 2007-08-23 10:17:54 UTC
*** Bug 465673 has been marked as a duplicate of this bug. ***
Comment 77 palfrey 2007-09-05 17:33:54 UTC
*** Bug 473029 has been marked as a duplicate of this bug. ***
Comment 78 André Klapper 2007-12-19 04:47:34 UTC
no rejected duplicates for the last 40 days.
removing from auto-rejecter list, 192 rejected reports so far.