Bugzilla – Bug 3223
Slimserver Crashes, SQLite 3.3.3 in FC5 incompatible
Last modified: 2006-04-12 19:20:11 UTC
The output below says it all: # service slimserver start Starting SlimServer: [ OK ] # ps -ef | grep slim root 8422 7674 0 12:41 pts/1 00:00:00 grep slim # ./slimserver.pl 2006-03-29 12:41:32.7287 DBD::SQLite::db tables failed: not an error(21) at dbdimp.c line 398 at /usr/local/SlimServer_v2006-03-29/Slim/DataStores/DBI/DataModel.pm line 209. DBD::SQLite::db tables failed: not an error(21) at dbdimp.c line 398 at /usr/local/SlimServer_v2006-03-29/Slim/DataStores/DBI/DataModel.pm line 209.
which version of redhat, and what is the 'perl -V' output?
Fedora Core 5 # perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.9-22.18.bz155725.elsmp, archname=x86_64-linux-thread-multi uname='linux hs20-bc1-1.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Dversion=5.8.8 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.8 -Dsitelib=/usr/lib/perl5/site_perl/5.8.8 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.8 -Darchlib=/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi -Dsitearch=/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.7 5.8.6 5.8.5 5.8.4 5.8.3 -Dscriptdir=/usr/bin' 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=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='4.1.0 20060228 (Red Hat 4.1.0-1)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags ='' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.90.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.90' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Mar 1 2006 18:29:51 %ENV: PERL5LIB="/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi:/usr/lib/perl5/site_perl/5.8.8" @INC: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 . #
Have you run Bin/build-perl-modules.pl ? You are on a x86_64 system, which we don't support out of the box with included binaries. You'll need to build the required modules by running the above script. Make sure that you have the expat dev libs rpm installed, as they are required for XML::Parser
# history | grep perl 35 /usr/local/slimserver/Bin/build-perl-modules.pl 210 /usr/local/slimserver/Bin/build-perl-modules.pl 232 /usr/local/slimserver/Bin/build-perl-modules.pl 290 /usr/local/SlimServer_v2006-03-29/Bin/build-perl-modules.pl 300 perl -V 301 perl -V 307 history | grep perl #
Have you tried removing the slimserversql.db file and restarting?
# rm /usr/local/SlimServer_v2006-03-29/Cache/slimserversql.db rm: remove regular empty file `/usr/local/SlimServer_v2006-03-29/Cache/slimserversql.db'? y # ./slimserver.pl 2006-03-29 13:32:28.7160 DBD::SQLite::db tables failed: not an error(21) at dbdimp.c line 398 at /usr/local/SlimServer_v2006-03-29/Slim/DataStores/DBI/DataModel.pm line 209. DBD::SQLite::db tables failed: not an error(21) at dbdimp.c line 398 at /usr/local/SlimServer_v2006-03-29/Slim/DataStores/DBI/DataModel.pm line 209. #
Can you try moving aside CPAN/DBD/SQLite.pm to somewhere else? I think there's a conflict between that and possibly a system installed copy.
# mv CPAN/DBD/SQLite.pm ~ # ./slimserver.pl The following modules failed to load: DBD::SQLite To download and compile them, please run: /usr/local/SlimServer_v2006-03-29/Bin/build-perl-modules.pl Exiting.. #
I just upgraded from FC4 to FC5 and had the same problem (also on x86_64). I am not convinced this is a slimserver bug, but rather an incompatibility between the newer sqlite (FC5 uses 3.3.3) and the DBD::SQLite module. In fact, when I try to install DBD::SQLite from CPAN, I get *lots* of test errors. These errors are, of course, independent of anything slim. In my case, I solved the problem by reverting to the sqlite package from FC4 (3.1.2). The "make test" errors go away and slimserver seems to work fine (although not that thoroughly tested yet).
Any directions on how to do that?
(In reply to comment #10) > Any directions on how to do that? > Just download the old RPM from http://download.fedora.redhat.com/pub/fedora/linux/core/4/x86_64/os/Fedora/RPMS/ or a suitable mirror (and sqlite-devel if you also have that installed). Then, as root, do something like: # rpm -Uvh --force sqlite-3.1.2-3.x86_64.rpm sqlite-devel-3.1.2-3.x86_64.rpm Since this may only be an x86_64 issue, it might also be interesting to test the i386 RPMs from FC5. I haven't tried that.
Yep - that did it.
Reworking summary so others can find it a bit easier.
The author of DBD::SQLite released a new version 1.12 a few days ago. This new version seems to work fine with the sqlite 3.3.3 included with FC5.
Thanks for the heads up. We can call this one fixed then.
(In reply to comment #15) > Thanks for the heads up. We can call this one fixed then. > Well, I guess it's fixed... I've installed DBD::SQLite 1.12 from CPAN and it works but the 6.5 nightlys still come bundled with 1.11. I don't really understand how slimserver decides which to use if they're both installed. It seems to me that this bug should remain open until the slimserver distribution is updated to 1.12.