Bug 3223 - Slimserver Crashes, SQLite 3.3.3 in FC5 incompatible
: Slimserver Crashes, SQLite 3.3.3 in FC5 incompatible
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Database
: 6.5b1
: PC RedHat Linux
: P2 normal (vote)
: ---
Assigned To: Dan Sully
http://forums.slimdevices.com/showthr...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-03-29 09:42 UTC by Michael Haan
Modified: 2006-04-12 19:20 UTC (History)
0 users

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Haan 2006-03-29 09:42:29 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.
Comment 1 KDF 2006-03-29 09:47:11 UTC
which version of redhat, and what is the 'perl -V' output?
Comment 2 Michael Haan 2006-03-29 09:57:36 UTC
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
    .
#
Comment 3 Dan Sully 2006-03-29 10:21:20 UTC
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
Comment 4 Michael Haan 2006-03-29 10:26:08 UTC
# 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
#
Comment 5 Dan Sully 2006-03-29 10:30:26 UTC
Have you tried removing the slimserversql.db file and restarting?

Comment 6 Michael Haan 2006-03-29 10:33:23 UTC
# 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.
#
Comment 7 Dan Sully 2006-03-29 10:34:35 UTC
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.
Comment 8 Michael Haan 2006-03-29 10:37:57 UTC
# 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..
#
Comment 9 Mark Miksis 2006-03-29 11:46:19 UTC
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).
Comment 10 Michael Haan 2006-03-29 12:24:29 UTC
Any directions on how to do that?
Comment 11 Mark Miksis 2006-03-29 13:18:35 UTC
(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.
Comment 12 Michael Haan 2006-03-29 17:19:11 UTC
Yep - that did it.
Comment 13 KDF 2006-03-29 19:46:23 UTC
Reworking summary so others can find it a bit easier.
Comment 14 Mark Miksis 2006-04-12 18:27:46 UTC
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.
Comment 15 KDF 2006-04-12 18:52:16 UTC
Thanks for the heads up.  We can call this one fixed then.
Comment 16 Mark Miksis 2006-04-12 19:20:11 UTC
(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.