PDA

View Full Version : Segmentation fault: Had to create DBI::_dbistate unexpectedly



Bill Moseley
2005-08-02, 11:12
My slimserver is dead.

I was playing with slimp3slave today just fine, then tonight playing
on my SB1 I noticed a few skips and the scrolling news was jumping
instead of smooth scroll.

I have been running the svn slimserver from a checkout a few months
back without any problems. When tonight the server crashed and when I
tried to restart I see:

$ ./slimserver.pl --daemon --audiodir $HOME/music --playlistdir $HOME/playlists --logfile $CWD/server.log --pidfile slim.pid
Had to create DBI::_dbistate unexpectedly at /usr/lib/perl/5.8/DynaLoader.pm line 245.
Segmentation fault

Downloaded 6.1.1 and get the exact same thing.

Perl seems to be working fine other places (and I'm using DBI in a
few applications that are working). Perhaps an incompatibility
with Perl on my machine and xs code in the downloaded slimserver?

I was able to rename the CPAN directory and get the server running
(using modules installed on my machine). But, it's still not working
like it used to on 6.1.1.

And on a fresh checkout of svn (and current YAML module), I see:

--- !perl/YAML::Error
code: YAML_PARSE_ERR_TEXT_AFTER_INDICATOR
msg: No text allowed after indicator
line: 324
document: 1
...
at /home/moseley/slim_svn/server/Slim/Utils/Prefs.pm line 902
Failed to start server -- no pid file (/home/moseley/slim_svn/server/server.pid) found


This is on Debian Sid and I have not updated any packages for a few
weeks (thank to summer) so I can't think of anything that's changed
lately. But again, slimserver had been running for quite some time.

Any suggestions what to look at?



I seem to have extra room before my .sig so here's perl -V

Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
Platform:
osname=linux, osvers=2.4.27-ti1211, archname=i386-linux-thread-multi
uname='linux kosh 2.4.27-ti1211 #1 sun sep 19 18:17:45 est 2004 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i386-linux -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.4 -Dsitearch=/usr/local/lib/perl/5.8.4 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.4 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.3.5 (Debian 1:3.3.5-3)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so.5.8.4
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Dec 12 2004 09:09:20
@INC:
/etc/perl
/usr/local/lib/perl/5.8.4
/usr/local/share/perl/5.8.4
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
/usr/local/lib/perl/5.8.1
/usr/local/share/perl/5.8.1
/usr/local/lib/perl/5.8.0
/usr/local/share/perl/5.8.0
.





--
Bill Moseley
moseley (AT) hank (DOT) org

Jacob Potter
2005-08-02, 11:45
On 8/2/05, Bill Moseley <moseley (AT) hank (DOT) org> wrote:
>
> This is on Debian Sid and I have not updated any packages for a few
> weeks (thank to summer) so I can't think of anything that's changed
> lately. But again, slimserver had been running for quite some time.
>

The same thing is happening to me. Just remove Slimserver's DBI.pm
(under server/CPAN), so that it'll use your system's DBI module
instead.

That should probably be reported as a bug... :)

- Jacob

Bill Moseley
2005-08-03, 17:23
On Tue, Aug 02, 2005 at 02:45:13PM -0400, Jacob Potter wrote:
> On 8/2/05, Bill Moseley <moseley (AT) hank (DOT) org> wrote:
> >
> > This is on Debian Sid and I have not updated any packages for a few
> > weeks (thank to summer) so I can't think of anything that's changed
> > lately. But again, slimserver had been running for quite some time.
> >
>
> The same thing is happening to me. Just remove Slimserver's DBI.pm
> (under server/CPAN), so that it'll use your system's DBI module
> instead.

That works for v6.1.1. With CVS still getting:

--- !perl/YAML::Error
code: YAML_PARSE_ERR_TEXT_AFTER_INDICATOR
msg: No text allowed after indicator
line: 326
document: 1
...
at /home/moseley/slim_svn/server/Slim/Utils/Prefs.pm line 909

I tried moving YAML/ and YAML.pm, but didn't help. Maybe it's a
problem with a yaml file? But where?


Anyone know how to tell svn to not update DBI*?



--
Bill Moseley
moseley (AT) hank (DOT) org

Bill Moseley
2005-08-03, 17:36
Well, the server started once. I killed it and now I can't restart:

moseley@bumby:~/SlimServer_v6.1.1$ ./start.sh
Out of memory!
Failed to start server -- no pid file (/home/moseley/SlimServer_v6.1.1/server.pid) found

I actually did the unthinkable and rebooted just to see if anything
was really odd. There goes a year of uptime.

moseley@bumby:~/SlimServer_v6.1.1$ free
total used free shared buffers cached
Mem: 905892 253648 652244 0 12664 117048
-/+ buffers/cache: 123936 781956
Swap: 498004 0 498004


Here's my start script:

#!/bin/sh

CWD=$(pwd)
PIDFILE=$CWD/server.pid

../slimserver.pl --daemon \
--audiodir $HOME/music \
--playlistdir $HOME/playlists \
--logfile $CWD/server.log \
--pidfile $PIDFILE \
"$@"

if [ ! -e $PIDFILE ]; then
echo "Failed to start server -- no pid file ($PIDFILE) found"
exit 0;
fi

PID=$(cat $PIDFILE)
echo "Started with pid $PID"


RUNNING=$(pidof slimserver)
echo "running pid is $RUNNING"





--
Bill Moseley
moseley (AT) hank (DOT) org