GNOME Bugzilla – Bug 337413
Can't change metadata for a file on a sshfs mount
Last modified: 2006-04-06 22:08:10 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:
Can you retest on the most stable release of rhythmbox 0.9.3.1 and/or CVS to see if it still present?
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.
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
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?
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
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.
so, this bug report is duplicated, right?. Just close it, i'll be looking around #76524 Thanks for the attention
by the way, i have gstreamer 0.8
Did you manage to duplicate the bug on a local (non-sshfs) file?
ups, it works very nice with local files gstreamer 0.8 rhythmbox 0.9.3.1
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
Retitling bug to indicate the remaining problem. Since it doesn't crash anymore. I will try to reproduce in CVS, can you try also?
plis give me a one line command to check out
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.
Ok, same problem here. A possible patch would be delete the old and rename the new. Don't you think?
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
No, you need to use a less broken filesystem. I think there is a version of sshfs that fixes this problem.