LMS on Synology fails to import iTunes playlist entries (imported from "iTunes Library.xml" file) that contain uff-8 character in the playlist name or the filename of tracks in the playlist.
This happens with version 7.7.3 and later.
My setup:
I mount a Synology NAS volume (named "music") on my Mac OS X system and use iTunes to keep my entire iTunes library there.
The "iTunes Library.xml" file references all paths starting with "/Volumes/music/".
Synology NAS had trouble finding the media since paths starting with "/Volumes/music/" do not exist on it. The corresponding paths on Synology NAS start with "/volume1/music". To solve this, I logged in to my NAS via ssh and created directory at the root named "/Volumes" and created a symlink for "/volume1/music" in that directory. With this change LMS (with iTunes integration) is able to scan the content and import iTunes playlist.
My problem:
However, it fails to import if a playlist name or a filename contains a uff-8 character.
I spent several hours debugging this. The problem is somewhere deep in the scanning code that fails to validate a valid path if that path has utf-8 characters; e.g.: "/Volumes/music/iTunesTest/iTunes Media/Music/Anu\xCC\x81na/Anu\xCC\x81na/01 Media Vita.m4a".
The failure happens in Importer.pm file in the following code block:
I do not see this problem if I run LMS on my Mac using the same content. So, it looks like something in Synology port is broken.
I am looking for ideas to debug and fix this on my Synology and would appreciate any and all help.
Thanks,
Baskaran
This happens with version 7.7.3 and later.
My setup:
I mount a Synology NAS volume (named "music") on my Mac OS X system and use iTunes to keep my entire iTunes library there.
The "iTunes Library.xml" file references all paths starting with "/Volumes/music/".
Synology NAS had trouble finding the media since paths starting with "/Volumes/music/" do not exist on it. The corresponding paths on Synology NAS start with "/volume1/music". To solve this, I logged in to my NAS via ssh and created directory at the root named "/Volumes" and created a symlink for "/volume1/music" in that directory. With this change LMS (with iTunes integration) is able to scan the content and import iTunes playlist.
My problem:
However, it fails to import if a playlist name or a filename contains a uff-8 character.
I spent several hours debugging this. The problem is somewhere deep in the scanning code that fails to validate a valid path if that path has utf-8 characters; e.g.: "/Volumes/music/iTunesTest/iTunes Media/Music/Anu\xCC\x81na/Anu\xCC\x81na/01 Media Vita.m4a".
The failure happens in Importer.pm file in the following code block:
if (Slim::Music::Info::isFileURL($url)) {
if ( !$file || !-r $file ) {
}// I followed the execution to here.
# Use Data::Dump to log exactly what the wrong file path is, avoiding UTF-8 output issues
require Data::Dump;
$log->warn("File not found: " . Data::Dump::dump($file));
}# Use Data::Dump to log exactly what the wrong file path is, avoiding UTF-8 output issues
require Data::Dump;
$log->warn("File not found: " . Data::Dump::dump($file));
I do not see this problem if I run LMS on my Mac using the same content. So, it looks like something in Synology port is broken.
I am looking for ideas to debug and fix this on my Synology and would appreciate any and all help.
Thanks,
Baskaran