PDA

View Full Version : Fatal YAML bug 6.2.2. Fix needed.



ianwi
2006-02-20, 10:20
I've been using SlimServer 6.2.2 for a month and everything has been fine. Today, I tried starting the slimserver service and it refused to start on my Windows XP box.

I eventually got a logfile created which has the message:

2006-02-20 16:50:23.1403 Perl interpreter failed at /PerlApp/YAML.pm line 1272.

I gather this is the file CPAN\Yaml.pm

Line 1272 is the if statement in this function:

# Parse the inline double quoted string.
sub _parse_inline_double_quoted {
my $node;
if ($o->{inline} =~ /^"((?:\\"|[^"])*)"\s*(.*)$/) {
$node = $1;
$o->{inline} = $2;
$node =~ s/\\"/"/g;
} else {
croak YAML_PARSE_ERR_BAD_DOUBLE();
}
return $node;
}

The most recent thing I did was add some new music a few days ago. It played alright. That's the last change I've made to the server.

I'm not a Perl programmer. Is there a fix I can easily get from somewhere and install? I'd like to stick to a major release. I'm also using MusicMagic. Stopping MusicMagic and running SlimServer by itself didn't help.

geoffb
2006-02-20, 11:50
On 2/20/06, ianwi <ianwi.23jg3n1140456301 (AT) no-mx (DOT) forums.slimdevices.com> wrote:
> The most recent thing I did was add some new music a few days ago. It
> played alright. That's the last change I've made to the server.

I'm not a Perl programmer either, but perhaps this points to a corrupt
..db file? Especially if nothing's been changed in your setup.
Maybe it's worth deleting the file and rescanning?

Geoff

kdf
2006-02-20, 11:54
Quoting Geoff B <geoffbon (AT) gmail (DOT) com>:

> On 2/20/06, ianwi
> <ianwi.23jg3n1140456301 (AT) no-mx (DOT) forums.slimdevices.com> wrote:
>> The most recent thing I did was add some new music a few days ago. It
>> played alright. That's the last change I've made to the server.
>
> I'm not a Perl programmer either, but perhaps this points to a corrupt
> .db file? Especially if nothing's been changed in your setup.
> Maybe it's worth deleting the file and rescanning?

If it is YAML crashing, then it is more likely something in the prefs
file. I'd suggest moving slimserver.pref to some other location
temporarily, start the server and let it create a new default prefs
file. Hopefully that will not crash and you can compare the two files
to spot the corruption and copy/paste your previous working prefs into
the new file.

-kdf

ianwi
2006-02-24, 15:12
Thanks kdf - it does look like it's the prefs file.

My first solution was to delete and reinstall. It worked for one day and the next time I tried to listen, it was corrupted with the same error again.

This time I renamed the prefs file and SlimServer started up, made a new one and is working fine. I've had a chance to compare the two pref files with WinMerge.

The old corrupted prefs file has two obvious differences:

1) the file starts with

---
"\z\z\z\z\z\z\z\[...lots more z\'s...]z\z\z\z\z\z\z\z\z\z": ~

2) the client section is empty

clients: { }

If it happens again, I'll dig deeper and see whether I can fix the corrupted prefs file.

Thanks!

Mr_Smiley
2006-02-24, 19:49
When slim starts crashing, is it eating up all your RAM? If so there is some more discussion on the forums. Try searching for memory leak. There doesn't seem to be any resolution for this except to uninstall and reinstall. I don't think anyone's been able to pin point the cause yet.