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 337413 - Can't change metadata for a file on a sshfs mount
Can't change metadata for a file on a sshfs mount
Status: RESOLVED NOTGNOME
Product: rhythmbox
Classification: Other
Component: general
0.9.2
Other Linux
: High major
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-05 17:39 UTC by Jorge Urdaneta
Modified: 2006-04-06 22:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug output (40.01 KB, application/x-bzip2)
2006-04-06 13:26 UTC, Jorge Urdaneta
Details

Description Jorge Urdaneta 2006-04-05 17:39:29 UTC
Steps to reproduce:
1. mount a remote sshfs folder
2. import the folder
3. change the metadata of several files (e.g. Artist)
4. Enjoy the desktop, rhythmbox has gone


Stack trace:


Other information:
Comment 1 Alex Lancaster 2006-04-05 22:04:19 UTC
Can you retest on the most stable release of rhythmbox 0.9.3.1 and/or CVS to see if it still present?
Comment 2 Alex Lancaster 2006-04-05 22:10:04 UTC
Also try running rhythmbox in debug mode: "rhythmbox -d" to see which file rhythmbox is reading when it crashes.  Also, without a stack trace from the crash it's very hard to determine what caused it.
Can you provide us with one? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Comment 3 Jorge Urdaneta 2006-04-05 22:41:40 UTC
Ok, it is solved in 0.9.3.1. It doesn't crash but still have problems changing that metadata.

This is my procedure to change the metadata:
* open rhymthbox
* take a file (remote via fuse/sshfs) and change its metadata
* immediatly close the application (it hangs for about 5 seconds)

If i let the app open, it shows an error dialog indicating that the operation isn't permited and the metadata isn't changed when i close the app and open it again. Here you have some debug:

[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting title
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting replaygain-track-peak
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting artist
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting replaygain-album-gain
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting album
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting replaygain-album-peak
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting date
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting genre
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting track-number
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting album-disc-number
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting bitrate
[0x8292d78] [rb_metadata_gst_add_tag_data] rb-metadata-gst.c:1004 (18:38:06): Se tting replaygain-track-gain
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749  (18:38:11): saving the playlists
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792  (18:38:11): no save needed, ignoring
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749  (18:38:21): saving the playlists
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792  (18:38:21): no save needed, ignoring
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749 (18:38:31): saving the playlists
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792 (18:38:31): no save needed, ignoring
[0x8292d78] [rb_metadata_gst_eos_cb] rb-metadata-gst.c:547 (18:38:35): caught eos
[0x8292d78] [rb_metadata_load] rb-metadata-gst.c:760 (18:38:35): loading metadata for uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3
[0x8292d78] [rb_metadata_gst_typefind_cb] rb-metadata-gst.c:563 (18:38:35): found type application/x-id3
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: title
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: artist
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: album
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: genre
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: track-number
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: duration
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: genre
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: track-number
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: album
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: artist
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: title
[0x8292d78] [rb_metadata_gst_new_decoded_pad_cb] rb-metadata-gst.c:590 (18:38:35): linking new decoded pad of type audio/x-raw-int to fakesink
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: layer
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: mode
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: emphasis
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3 tag: bitrate
[0x8292d78] [rb_metadata_gst_fakesink_handoff_cb] rb-metadata-gst.c:527 (18:38:35): in fakesink handoff
[0x8292d78] [rb_metadata_load] rb-metadata-gst.c:961 (18:38:35): successfully read metadata for file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp33CA1A3
[0x8292d78] [action_thread_main] rhythmdb.c:2016 (18:38:35): executing RHYTHMDB_ACTION_LOAD for "file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3"
[0x8292d78] [rb_metadata_load] rb-metadata-gst.c:760 (18:38:35): loading metadata for uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3
[0x8292d78] [rb_metadata_gst_typefind_cb] rb-metadata-gst.c:563 (18:38:35): found type application/x-id3
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: duration
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: genre
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: track-number
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: album
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: artist
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:35): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: title
[0x8292d78] [rb_metadata_gst_new_decoded_pad_cb] rb-metadata-gst.c:590 (18:38:36): linking new decoded pad of type audio/x-raw-int to fakesink
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:36): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: layer
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:36): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: mode
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:36): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: emphasis
[0x8292d78] [rb_metadata_gst_load_tag] rb-metadata-gst.c:442 (18:38:36): uri: file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3 tag: bitrate
[0x8292d78] [rb_metadata_gst_fakesink_handoff_cb] rb-metadata-gst.c:527 (18:38:36): in fakesink handoff
[0x8292d78] [rb_metadata_load] rb-metadata-gst.c:961 (18:38:36): successfully read metadata for file:///home/jorgeu/musica/Clasica/arcangelo%20corelli%20-%20La%20folia.mp3
[0x8159dd0] [rhythmdb_process_events] rhythmdb.c:1678 (18:38:36): processing RHYTHMDB_EVENT_METADATA_LOAD
[0x8159dd0] [rhythmdb_monitor_uri_path] rhythmdb.c:1189 (18:38:36): failed to monitor file:///home/jorgeu/musica/Clasica
[0x8159dd0] [rhythmdb_property_model_delete_prop] rhythmdb-property-model.c:579 (18:38:36): deleting "classical": refcount: 3
[0x8159dd0] [rhythmdb_property_model_insert] rhythmdb-property-model.c:532 (18:38:36): adding "classical": refcount 3
[0x8159dd0] [rhythmdb_property_model_delete_prop] rhythmdb-property-model.c:579 (18:38:36): deleting "Clasica": refcount: 69
[0x8159dd0] [rhythmdb_property_model_delete_prop] rhythmdb-property-model.c:579 (18:38:36): deleting "Corelli": refcount: 1
[0x8159dd0] [rb_property_view_pre_row_deleted_cb] rb-property-view.c:419 (18:38:36): pre row deleted
[0x8159dd0] [rb_property_view_post_row_deleted_cb] rb-property-view.c:428 (18:38:36): post row deleted
[0x8159dd0] [rb_entry_view_rows_reordered_cb] rb-entry-view.c:1488 (18:38:36): rows reordered
[0x8159dd0] [rb_statusbar_source_status_changed_cb] rb-statusbar.c:518 (18:38:36): source status changed
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749 (18:38:41): saving the playlists
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792 (18:38:41): no save needed, ignoring
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749 (18:38:51): saving the playlists
[0x8159dd0] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792 (18:38:51): no save needed, ignoring





Comment 4 Jorge Urdaneta 2006-04-05 22:43:19 UTC
i'm trying to run it with gdb but i can't. See the output:
jorgeu@dragon:~$ gdb rhythmbox
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/rhythmbox
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1228773696 (LWP 26610)]
[New Thread -1244845136 (LWP 26613)]
[New Thread -1253233744 (LWP 26614)]

Program received signal SIG33, Real-time event 33.
[Switching to Thread -1253233744 (LWP 26614)]
0xb7255ce3 in poll () from /lib/tls/libc.so.6
(gdb)


What should i do?
Comment 5 Alex Lancaster 2006-04-05 23:00:29 UTC
Oh, so you are trying to change the metadata *within* rhythmbox?  Currently tag writing is highly experimental and the results will vary depending on which version of gstreamer you are using.  Which version are you using?

Tag writing was only enabled for gstreamer 0.10 in CVS recently.  In gstreamer 0.8 tag writing is/was highly problematic, see: bug #323658.  Best results with tag writing are with the latest gstreamer 0.10, but tag writing is still lossy: bug #334375.  See also the overall tracking bug on tag writing: bug #76524.

As for getting stack trace create a ~/.gdbinit with the contents:

handle SIG33 nostop noprint

See also: http://live.gnome.org/GettingTraces
Comment 6 Alex Lancaster 2006-04-05 23:03:25 UTC
If this is related to tag writing, you should also be able to duplicate this problem when changing local file.  It should irrelevant whether it is on a remote share (e.g. sshfs) or not.
Comment 7 Jorge Urdaneta 2006-04-06 12:25:50 UTC
so, this bug report is duplicated, right?. Just close it, i'll be looking around #76524

Thanks for the attention
Comment 8 Jorge Urdaneta 2006-04-06 12:27:15 UTC
by the way, i have gstreamer 0.8
Comment 9 Alex Lancaster 2006-04-06 12:58:18 UTC
Did you manage to duplicate the bug on a local (non-sshfs) file?
Comment 10 Jorge Urdaneta 2006-04-06 13:16:13 UTC
ups, it works very nice with local files
gstreamer 0.8
rhythmbox 0.9.3.1
Comment 11 Jorge Urdaneta 2006-04-06 13:26:10 UTC
Created attachment 62854 [details]
debug output

debing output when open rhythmbox, change the metadata of a remote file (sshfs) and waits until it shows the error message, accept the message and close the app normaly
Comment 12 Alex Lancaster 2006-04-06 14:25:01 UTC
Retitling bug to indicate the remaining problem.  Since it doesn't crash anymore.  I will try to reproduce in CVS, can you try also?
Comment 13 Jorge Urdaneta 2006-04-06 14:29:17 UTC
plis give me a one line command to check out
Comment 14 Jonathan Matthew 2006-04-06 21:05:53 UTC
What version of sshfs are you using?  The one version I tested a while ago (entirely unrelated to this bug) did not support renaming a file over another.  Rhythmbox does exactly this when saving metadata.  It writes the updated data to a temporary file, then renames this over the old file.
Comment 15 Jorge Urdaneta 2006-04-06 21:12:22 UTC
Ok, same problem here. A possible patch would be delete the old and rename the new. Don't you think?
Comment 16 Jorge Urdaneta 2006-04-06 21:45:31 UTC
as deleting would make possible the loss of data, should be possible to rename the old to a dot prefixed file name (instead of delete it) that rhythmbox recognices as a interrupted operation at startup
Comment 17 Jonathan Matthew 2006-04-06 22:08:10 UTC
No, you need to use a less broken filesystem.  I think there is a version of sshfs that fixes this problem.