Bugzilla – Bug 7195
"SqueezeCenter died. Restarting." every 5 seconds on Ubuntu/SC7
Last modified: 2009-07-31 10:17:12 UTC
When I attempt to use SqueezeCenter 7.x, it installs without incident but when run it crashes every 5 seconds with this server.log message: SqueezeCenter died. Restarting. I'm running Ubuntu 6.06.1 32-bit, and my sources.list file contains: deb http://debian.slimdevices.com testing main I previously ran slimserver 6.5.4, and I've tried installing 7.x from the testing and unstable branches without luck. I've had the same results from several builds, including testing and unstable 17564 and today's unstable 17600. Prior to installation, I purged anything I could find related to previous installation attempts, along these lines -- and I did these steps for both slimserver and squeezecenter: apt-get remove squeezecenter --purge rm -rf /var/lib/squeezecenter find / -name \*squeezecenter\* # and delete anything I find (e.g. squeezecenter.pid) reboot ps aux | grep squeeze # make sure nothing shows up I also checked for users named slimserver/squeezecenter -- none exist. With this "clean" configuration, I ran: apt-get update apt-get install squeezecenter # apt downloads 7.0-17564 from the testing repository Installation looks ok: Reading package lists... Done Building dependency tree... Done The following NEW packages will be installed: squeezecenter 0 upgraded, 1 newly installed, 0 to remove and 55 not upgraded. Need to get 18.9MB of archives. After unpacking 49.2MB of additional disk space will be used. WARNING: The following packages cannot be authenticated! squeezecenter Install these packages without verification [y/N]? y Get:1 http://debian.slimdevices.com testing/main squeezecenter 7.0-17564 [18.9MB] Fetched 18.9MB in 2m56s (107kB/s) Selecting previously deselected package squeezecenter. (Reading database ... 21736 files and directories currently installed.) Unpacking squeezecenter (from .../squeezecenter_7.0-17564_all.deb) ... Setting up squeezecenter (7.0-17564) ... Adding system user `squeezecenter'... Adding new user `squeezecenter' (105) with group `nogroup'. Not creating home directory `/usr/share/squeezecenter'. Starting SqueezeCenter Audio Server. After installation, if I wait a minute or so, here's what my logs look like: /var/log/squeezecenter/server.log: 2008-02-15 11:55:30 squeezecenter_safe started. 2008-02-15 11:55:35 SqueezeCenter died. Restarting. 2008-02-15 11:55:49 SqueezeCenter died. Restarting. 2008-02-15 11:55:54 SqueezeCenter died. Restarting. 2008-02-15 11:55:59 SqueezeCenter died. Restarting. 2008-02-15 11:56:04 SqueezeCenter died. Restarting. 2008-02-15 11:56:09 SqueezeCenter died. Restarting. 2008-02-15 11:56:14 SqueezeCenter died. Restarting. 2008-02-15 11:56:19 SqueezeCenter died. Restarting. 2008-02-15 11:56:24 SqueezeCenter died. Restarting. 2008-02-15 11:56:29 SqueezeCenter died. Restarting. 2008-02-15 11:56:34 SqueezeCenter died. Restarting. 2008-02-15 11:56:39 SqueezeCenter died. Restarting. 2008-02-15 11:56:44 SqueezeCenter died. Restarting. /var/log/squeezecenter/perfmon.log: << EMPTY -- ZERO BYTES >> /var/lib/squeezecenter/cache/mysql-error-log.txt: InnoDB: The first specified data file ./ibdata1 did not exist: InnoDB: a new database to be created! 080215 11:55:31 InnoDB: Setting file ./ibdata1 size to 10 MB InnoDB: Database physically writes the file full: wait... 080215 11:55:32 InnoDB: Log file ./ib_logfile0 did not exist: new to be created InnoDB: Setting log file ./ib_logfile0 size to 5 MB InnoDB: Database physically writes the file full: wait... 080215 11:55:32 InnoDB: Log file ./ib_logfile1 did not exist: new to be created InnoDB: Setting log file ./ib_logfile1 size to 5 MB InnoDB: Database physically writes the file full: wait... InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created 080215 11:55:32 InnoDB: Started; log sequence number 0 0 080215 11:55:32 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them 080215 11:55:32 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.0.22-Debian_0ubuntu6.06.5' socket: '/var/lib/squeezecenter/cache/squeezecenter-mysql.sock' port: 9092 Debian Etch distribution 080215 11:55:36 [Note] /usr/sbin/mysqld: Normal shutdown 080215 11:55:36 InnoDB: Starting shutdown... 080215 11:55:38 InnoDB: Shutdown completed; log sequence number 0 43655 080215 11:55:38 [Note] /usr/sbin/mysqld: Shutdown complete InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. 080215 11:55:36 InnoDB: Retrying to lock the first data file InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. 080215 11:55:39 InnoDB: Started; log sequence number 0 43655 080215 11:55:39 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.0.22-Debian_0ubuntu6.06.5' socket: '/var/lib/squeezecenter/cache/squeezecenter-mysql.sock' port: 9092 Debian Etch distribution 080215 11:55:46 [Note] /usr/sbin/mysqld: Normal shutdown 080215 11:55:46 InnoDB: Starting shutdown... 080215 11:55:49 InnoDB: Shutdown completed; log sequence number 0 43655 080215 11:55:49 [Note] /usr/sbin/mysqld: Shutdown complete I wonder if this is part of the problem: InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. I do have a website on the same server that interacts with MySQL, but I'm using the MySQL package bundled with Ubuntu 6.06.1. There's nothing unusual about its configuration though. And I've tried stopping all mysql services prior to running SqueezeCenter with the same result. Also, every 5 seconds, a segfault is recorded in dmesg: [ 1156.554849] squeezecenter-s[5483]: segfault at 0000000000000000 rip 00002aaaaac6a2de rsp 00007fffff9a98b0 error 6 [ 1161.604254] squeezecenter-s[5486]: segfault at 0000000000000000 rip 00002aaaaac6a2de rsp 00007ffffff646f0 error 6 [ 1166.543006] squeezecenter-s[5489]: segfault at 0000000000000000 rip 00002aaaaac6a2de rsp 00007fffffcfb620 error 6 [ 1171.569533] squeezecenter-s[5492]: segfault at 0000000000000000 rip 00002aaaaac6a2de rsp 00007fffffb34e60 error 6 At the recommendation of some folks in the forums, I tried: /etc/init.d/squeezecenter stop rm -rf /var/lib/squeezecenter/cache/ rm -rf /usr/share/squeezecenter/Bin/ reboot ...which caused the server.log to change a little bit: 2008-02-17 10:13:19 SqueezeCenter died. Restarting. 2008-02-17 10:13:19 SqueezeCenter died. Restarting. [08-02-17 10:13:19.8624] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found [08-02-17 10:13:20.6280] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found 2008-02-17 10:13:24 SqueezeCenter died. Restarting. 2008-02-17 10:13:24 SqueezeCenter died. Restarting. [08-02-17 10:13:24.8462] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found [08-02-17 10:13:25.6315] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found 2008-02-17 10:13:29 SqueezeCenter died. Restarting. 2008-02-17 10:13:29 SqueezeCenter died. Restarting. [08-02-17 10:13:29.8646] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found [08-02-17 10:13:30.6670] Slim::Schema::init (151) Warning: Creating new database - empty database or database from 6.3.x found ...etc, etc, every 5 seconds. Still reporting segfaults. I'll be happy to provide any additional info you need. This has been really frustrating. 6.5.4 worked like a charm, but I've never gotten any version of 7.x to run, and I know others are using it quite successfully.
Aaron, Could you start up the squeezecenter process like this: 1) Change /etc/passwd and make the squeezecenter user 's shell (which should be /bin/false) to /bin/bash 2) su - squeezecenter 3) /usr/sbin/squeezecenter-server --debug d_startup --diag --verbose
(In reply to comment #1) > Aaron, > Could you start up the squeezecenter process like this: > > 1) Change /etc/passwd and make the squeezecenter user 's shell (which should be > /bin/false) to /bin/bash > 2) su - squeezecenter > 3) /usr/sbin/squeezecenter-server --debug d_startup --diag --verbose > Sure, here are the results. (Before following your instructions, I stopped squeezecenter and still noticed a squeezebox mysql process, so I killed the mysql that belonged to squeezebox and also killed the system's mysql process.) This is using 7.0-17630. squeezecenter@biff:~$ /usr/sbin/squeezecenter-server --debug d_startup --diag --verbose Got @INC containing: /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/sbin /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . Extended @INC to contain: /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/5.8.7/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8.7/x86_64-linux-gnu-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-gnu-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/lib /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/sbin /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . Loaded module: [Time::HiRes] ok! Loaded module: [DBD::mysql] ok! Loaded module: [DBI] ok! Loaded module: [XML::Parser::Expat] ok! Loaded module: [HTML::Parser] ok! Loaded module: [JSON::XS] ok! Loaded module: [Compress::Zlib] ok! Loaded module: [Digest::SHA1] ok! Loaded module: [YAML::Syck] ok! Loaded module: [GD] ok! Loaded module: [Locale::Hebrew] ok! The following modules are loaded after the first attempt: YAML/Syck.pm => /usr/share/squeezecenter/CPAN/YAML/Syck.pm IO/Handle.pm => /usr/lib/perl/5.8/IO/Handle.pm re.pm => /usr/lib/perl/5.8/re.pm HTML/Parser.pm => /usr/share/squeezecenter/CPAN/HTML/Parser.pm File/Spec/Functions.pm => /usr/share/perl/5.8/File/Spec/Functions.pm List/Util.pm => /usr/share/perl/5.8/List/Util.pm POSIX.pm => /usr/lib/perl/5.8/POSIX.pm SelectSaver.pm => /usr/share/perl/5.8/SelectSaver.pm /usr/lib/perl/5.8/auto/POSIX/load_imports.al => /usr/lib/perl/5.8/auto/POSIX/load_imports.al Getopt/Long.pm => /usr/share/perl/5.8/Getopt/Long.pm GD/Polygon.pm => /usr/share/squeezecenter/CPAN/GD/Polygon.pm Compress/Zlib.pm => /usr/share/squeezecenter/CPAN/Compress/Zlib.pm Locale/Hebrew.pm => /usr/share/squeezecenter/CPAN/Locale/Hebrew.pm DBD/mysql.pm => /usr/share/squeezecenter/CPAN/DBD/mysql.pm Cwd.pm => /usr/lib/perl/5.8/Cwd.pm warnings.pm => /usr/share/perl/5.8/warnings.pm Slim/Utils/OSDetect.pm => /usr/share/perl5/Slim/Utils/OSDetect.pm B.pm => /usr/lib/perl/5.8/B.pm Digest/base.pm => /usr/share/squeezecenter/CPAN/Digest/base.pm Fcntl.pm => /usr/lib/perl/5.8/Fcntl.pm Symbol.pm => /usr/share/perl/5.8/Symbol.pm Scalar/Util.pm => /usr/share/perl/5.8/Scalar/Util.pm Exporter.pm => /usr/share/perl/5.8/Exporter.pm File/Spec.pm => /usr/share/perl/5.8/File/Spec.pm JSON/XS.pm => /usr/share/squeezecenter/CPAN/JSON/XS.pm File/Path.pm => /usr/share/perl/5.8/File/Path.pm /usr/lib/perl/5.8/auto/POSIX/autosplit.ix => /usr/lib/perl/5.8/auto/POSIX/autosplit.ix FindBin.pm => /usr/share/perl/5.8/FindBin.pm warnings/register.pm => /usr/share/perl/5.8/warnings/register.pm XSLoader.pm => /usr/lib/perl/5.8/XSLoader.pm Slim/bootstrap.pm => /usr/share/perl5/Slim/bootstrap.pm Digest/SHA1.pm => /usr/share/squeezecenter/CPAN/Digest/SHA1.pm Time/HiRes.pm => /usr/share/squeezecenter/CPAN/Time/HiRes.pm IO/Seekable.pm => /usr/lib/perl/5.8/IO/Seekable.pm XML/Parser/Expat.pm => /usr/share/squeezecenter/CPAN/XML/Parser/Expat.pm B/Deparse.pm => /usr/lib/perl/5.8/B/Deparse.pm DBI.pm => /usr/share/squeezecenter/CPAN/DBI.pm GD/Image.pm => /usr/share/squeezecenter/CPAN/GD/Image.pm Config.pm => /usr/lib/perl/5.8/Config.pm File/Basename.pm => /usr/share/perl/5.8/File/Basename.pm IO.pm => /usr/lib/perl/5.8/IO.pm Carp.pm => /usr/share/perl/5.8/Carp.pm FileHandle.pm => /usr/share/perl/5.8/FileHandle.pm File/Spec/Unix.pm => /usr/share/perl/5.8/File/Spec/Unix.pm Exporter/Heavy.pm => /usr/share/perl/5.8/Exporter/Heavy.pm vars.pm => /usr/share/perl/5.8/vars.pm strict.pm => /usr/share/perl/5.8/strict.pm constant.pm => /usr/share/perl/5.8/constant.pm Config_heavy.pl => /usr/lib/perl/5.8/Config_heavy.pl IO/File.pm => /usr/lib/perl/5.8/IO/File.pm overload.pm => /usr/share/perl/5.8/overload.pm AutoLoader.pm => /usr/share/perl/5.8/AutoLoader.pm auto/Compress/Zlib/autosplit.ix => /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Compress/Zl ib/autosplit.ix HTML/Entities.pm => /usr/share/squeezecenter/CPAN/HTML/Entities.pm lib.pm => /usr/lib/perl/5.8/lib.pm GD.pm => /usr/share/squeezecenter/CPAN/GD.pm DynaLoader.pm => /usr/lib/perl/5.8/DynaLoader.pm The following modules are loaded after the second attempt: YAML/Syck.pm => /usr/share/squeezecenter/CPAN/YAML/Syck.pm IO/Handle.pm => /usr/lib/perl/5.8/IO/Handle.pm re.pm => /usr/lib/perl/5.8/re.pm HTML/Parser.pm => /usr/share/squeezecenter/CPAN/HTML/Parser.pm File/Spec/Functions.pm => /usr/share/perl/5.8/File/Spec/Functions.pm List/Util.pm => /usr/share/perl/5.8/List/Util.pm POSIX.pm => /usr/lib/perl/5.8/POSIX.pm SelectSaver.pm => /usr/share/perl/5.8/SelectSaver.pm /usr/lib/perl/5.8/auto/POSIX/load_imports.al => /usr/lib/perl/5.8/auto/POSIX/load_imports.al Getopt/Long.pm => /usr/share/perl/5.8/Getopt/Long.pm GD/Polygon.pm => /usr/share/squeezecenter/CPAN/GD/Polygon.pm Compress/Zlib.pm => /usr/share/squeezecenter/CPAN/Compress/Zlib.pm Locale/Hebrew.pm => /usr/share/squeezecenter/CPAN/Locale/Hebrew.pm DBD/mysql.pm => /usr/share/squeezecenter/CPAN/DBD/mysql.pm Cwd.pm => /usr/lib/perl/5.8/Cwd.pm warnings.pm => /usr/share/perl/5.8/warnings.pm Slim/Utils/OSDetect.pm => /usr/share/perl5/Slim/Utils/OSDetect.pm B.pm => /usr/lib/perl/5.8/B.pm Digest/base.pm => /usr/share/squeezecenter/CPAN/Digest/base.pm Fcntl.pm => /usr/lib/perl/5.8/Fcntl.pm Symbol.pm => /usr/share/perl/5.8/Symbol.pm Scalar/Util.pm => /usr/share/perl/5.8/Scalar/Util.pm Exporter.pm => /usr/share/perl/5.8/Exporter.pm File/Spec.pm => /usr/share/perl/5.8/File/Spec.pm JSON/XS.pm => /usr/share/squeezecenter/CPAN/JSON/XS.pm File/Path.pm => /usr/share/perl/5.8/File/Path.pm /usr/lib/perl/5.8/auto/POSIX/autosplit.ix => /usr/lib/perl/5.8/auto/POSIX/autosplit.ix FindBin.pm => /usr/share/perl/5.8/FindBin.pm warnings/register.pm => /usr/share/perl/5.8/warnings/register.pm XSLoader.pm => /usr/lib/perl/5.8/XSLoader.pm Slim/bootstrap.pm => /usr/share/perl5/Slim/bootstrap.pm Digest/SHA1.pm => /usr/share/squeezecenter/CPAN/Digest/SHA1.pm Time/HiRes.pm => /usr/share/squeezecenter/CPAN/Time/HiRes.pm IO/Seekable.pm => /usr/lib/perl/5.8/IO/Seekable.pm XML/Parser/Expat.pm => /usr/share/squeezecenter/CPAN/XML/Parser/Expat.pm B/Deparse.pm => /usr/lib/perl/5.8/B/Deparse.pm DBI.pm => /usr/share/squeezecenter/CPAN/DBI.pm GD/Image.pm => /usr/share/squeezecenter/CPAN/GD/Image.pm Config.pm => /usr/lib/perl/5.8/Config.pm File/Basename.pm => /usr/share/perl/5.8/File/Basename.pm IO.pm => /usr/lib/perl/5.8/IO.pm Carp.pm => /usr/share/perl/5.8/Carp.pm FileHandle.pm => /usr/share/perl/5.8/FileHandle.pm File/Spec/Unix.pm => /usr/share/perl/5.8/File/Spec/Unix.pm Exporter/Heavy.pm => /usr/share/perl/5.8/Exporter/Heavy.pm vars.pm => /usr/share/perl/5.8/vars.pm strict.pm => /usr/share/perl/5.8/strict.pm constant.pm => /usr/share/perl/5.8/constant.pm Config_heavy.pl => /usr/lib/perl/5.8/Config_heavy.pl IO/File.pm => /usr/lib/perl/5.8/IO/File.pm overload.pm => /usr/share/perl/5.8/overload.pm AutoLoader.pm => /usr/share/perl/5.8/AutoLoader.pm auto/Compress/Zlib/autosplit.ix => /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Compress/Zl ib/autosplit.ix HTML/Entities.pm => /usr/share/squeezecenter/CPAN/HTML/Entities.pm lib.pm => /usr/lib/perl/5.8/lib.pm GD.pm => /usr/share/squeezecenter/CPAN/GD.pm DynaLoader.pm => /usr/lib/perl/5.8/DynaLoader.pm Use of uninitialized value in join or string at /usr/share/perl/5.8/File/Spec/Unix.pm line 36. Segmentation fault
Honestly a Seg Fault is often related to bad hardware or memory... but you're the only person we've seen have this particular error : Use of uninitialized value in join or string at /usr/share/perl/5.8/File/Spec/Unix.pm line 36. Segmentation fault Do you happen to have another system with this same OS on it that you could try with ... or can you uninstall the File::Spec::Unix module and then re-install it from CPAN?
This is not a 7.0 blocker. Andy/Brandon: any advice here?
(In reply to comment #4) > This is not a 7.0 blocker. > > Andy/Brandon: any advice here? > Among the first things that come to mind: 1) User says this is Ubuntu 6.06.1 32-bit, but SC claims to be loading @INC paths for x86_64. Would be nice to get some confirmation on which environment we're in here, and whether this is a fault in OSDetect(). 2) The notices about locks from MySQL in the first report could be that the previous SC instance (which died 5 seconds earlier) didn't take its MySQL server down with it, so the second one is competing for the locks with the first. One of the messages in there turned up some Google hits on problems doing automatic upgrades from MySQL 4.x -> 5.x. The user also mentioned that there's an existing MySQL server running on this host. It would be good to find out what's going on with all of that. Was the other server 4.x? Did the requirements of our package cause it to be upgraded to 5.x (which can't be done without wiping the DB or manual intervention afaik)? The output of the following commands might be enlightening too: perl -V perl -MFile::Spec::Unix\ 999
The output of this might be helpful too (as the squeezecenter user again - you may need to install the gdb package if you don't have it already): ("$" is your shell prompt, "(gdb)" is the gdb prompt): $ gdb /usr/sbin/squeezecenter-server (gdb) set args --debug d_startup --diag --verbose (gdb) run Then when it segfaults, type: (gdb) bt Which will give a backtrace of where the fault occurred.
Sorry, it seems I am running amd64, NOT 32-bit as I had reported. # uname -a Linux biff.slumnet.org 2.6.15-26-amd64-server #1 SMP Fri Sep 8 20:33:15 UTC 2006 x86_64 GNU/Linux My website uses MySQL 5.0.22. I've tried shutting down all mysql processes prior to launching SqueezeCenter with the same results. This installation has always used MySQL 5.x... it's not a 4.x --> 5.x upgrade. # /usr/bin/mysql -V /usr/bin/mysql Ver 14.12 Distrib 5.0.22, for pc-linux-gnu (x86_64) using readline 5.1 Here is the other output you requested: # perl -V Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=linux, osvers=2.6.15.7, archname=x86_64-linux-gnu-thread-multi uname='linux king 2.6.15.7 #1 smp sun sep 23 13:51:52 utc 2007 x86_64 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/us r -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/u sr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.7 -Dsitearch=/usr/local/lib/perl/5.8.7 -Dman1dir=/u sr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ex t=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.7 -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=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/inclu de -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.0.3 (Ubuntu 4.0.3-1ubuntu5)', 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='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.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8.7 gnulibc_version='2.3.6' 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_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under linux Compiled at Dec 4 2007 08:10:26 @INC: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . # perl -MFile::Spec::Unix\ 999 File::Spec::Unix version 999 required--this is only version 1.5. BEGIN failed--compilation aborted. Anything helpful in there? Thanks...
(In reply to comment #6) > The output of this might be helpful too (as the squeezecenter user again - you > may need to install the gdb package if you don't have it already): > > ("$" is your shell prompt, "(gdb)" is the gdb prompt): > > $ gdb /usr/sbin/squeezecenter-server > (gdb) set args --debug d_startup --diag --verbose > (gdb) run > > Then when it segfaults, type: > > (gdb) bt > > Which will give a backtrace of where the fault occurred. > gdb wouldn't let me debug the squeezecenter-server script directly, got this message: This GDB was configured as "x86_64-linux-gnu"..."/usr/sbin/squeezecenter-server": not in executable format: File format not recognized Do I need a special version of GDB? I was able to debug perl while interpreting the script but I don't know how useful that is... $ gdb /usr/bin/perl (gdb) set args /usr/sbin/squeezecenter-server --debug d_startup --diag --verbose (gdb) run ...lots of uninteresting stuff, followed by... Use of uninitialized value in join or string at /usr/share/perl/5.8/File/Spec/Unix.pm line 36. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912506997696 (LWP 8672)] 0x00002aaaaac6a2de in Perl_sv_2pv_flags () from /usr/lib/libperl.so.5.8 (gdb) bt #0 0x00002aaaaac6a2de in Perl_sv_2pv_flags () from /usr/lib/libperl.so.5.8 #1 0x00002aaaabcd1e3d in XS_DBI_dispatch () from /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so #2 0x00002aaaaac58745 in Perl_pp_entersub () from /usr/lib/libperl.so.5.8 #3 0x00002aaaaac50c0e in Perl_runops_standard () from /usr/lib/libperl.so.5.8 #4 0x00002aaaaabf8e2b in perl_run () from /usr/lib/libperl.so.5.8 #5 0x000000000040180c in main () (gdb)
(In reply to comment #3) > Honestly a Seg Fault is often related to bad hardware or memory... but you're > the only person we've seen have this particular error : > > > Use of uninitialized value in join or string at > /usr/share/perl/5.8/File/Spec/Unix.pm line 36. > Segmentation fault > > Do you happen to have another system with this same OS on it that you could try > with ... or can you uninstall the File::Spec::Unix module and then re-install > it from CPAN? > Tried this... # rm /usr/local/lib/perl/5.8.7/File/Spec/Unix.pm # cpan -i File::Spec::Unix Looked like it built fine. Same segfault when I run squeezecenter-server. I'd have a hard time believing it's a hardware problem simply because it happens so repeatably in this one case but nothing else gives me trouble. The server goes for months without reboots or any apparent problems. I have an Ubuntu 7.04 (32-bit) system on which I did a clean SqueezeCenter installation (7.0, build from Feb 18) and it did install and start up properly, so there does seem to be something particular about my 6.06 (AMD64) server that's triggering this.
As it's been suggested this might be a hardware problem, I thought I should chime in and say that I get the same problem. I'm also running the amd64 version Ubuntu 6.06 with Perl v5.8.7. I do get a little more output at the end though: Use of uninitialized value in join or string at /usr/share/perl/5.8/File/Spec/Unix.pm line 36. Use of uninitialized value in pattern match (m//) at /usr/share/perl5/Slim/Utils/Prefs.pm line 265 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. Segmentation fault
The SqueezeCenter Installation.txt says that perl v5.8.3 is required and v5.8.8 is strongly recommended. If this bug isn't going to be fixed, then this requirement should be changed to make v5.8.8 a hard requirement (I believe people have SC7 working on Ubuntu edgy) - at least for amd64/x86 releases.
I ran into the same problem on my Ubuntu 6.06 amd64 system. I found that by removing the included CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI and using Ubuntu's libdbi-perl the problem went away.
Matt does comment 12 help you with the 'right' solution for this? Do you still think this is something that can get done for 7.0.1?
Can anyone seeing this problem please try upgrading from Perl 5.8.3 to Perl 5.8.8 (but leaving our DBI.so in place), and confirm if that solves the problem?
Pushing this out to 7.1 for now ... without a bit more testing, I don't want to make any changes right before 7.0.1.
Can we try again with recent 7.1 builds? The DBI stuff has been changed a bit, as well as a few 5.10 perl libraries installed. I'm curious if this has fixed any problems.
I guess it was handy I kept my old dapper VM around! Slightly different problem this time... squeezecenter@chicago:~$ /usr/sbin/squeezecenter-server --debug d_startup --diag --verbose Got @INC containing: /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/sbin /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . Extended @INC to contain: /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/5.8.7/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8.7/x86_64-linux-gnu-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-gnu-thread-multi/auto /usr/share/squeezecenter/CPAN/arch/x86_64-linux-gnu-thread-multi /usr/share/squeezecenter/lib /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/share/squeezecenter/CPAN /usr/share/squeezecenter /usr/sbin /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . Loaded module: [version] ok! Loaded module: [Time::HiRes] ok! Module [DBD::mysql] failed to load: Can't load '/usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so' for module DBI: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so) at /usr/lib/perl/5.8/DynaLoader.pm line 225. at /usr/share/squeezecenter/CPAN/DBI.pm line 263 BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBI.pm line 263. Compilation failed in require at /usr/share/squeezecenter/CPAN/DBD/mysql.pm line 7. BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBD/mysql.pm line 7. Compilation failed in require at (eval 10) line 2. BEGIN failed--compilation aborted at (eval 10) line 2. Removing [DBD::mysql] from the symbol table - load failed. Removing [DBI] from the symbol table - load failed. Module [DBI] failed to load: Can't load '/usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so' for module DBI: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so) at /usr/lib/perl/5.8/DynaLoader.pm line 225. at /usr/share/squeezecenter/CPAN/DBI.pm line 263 BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBI.pm line 263. Compilation failed in require at (eval 11) line 2. BEGIN failed--compilation aborted at (eval 11) line 2. Removing [DBI] from the symbol table - load failed. Loaded module: [XML::Parser::Expat] ok! Loaded module: [HTML::Parser] ok! Loaded module: [JSON::XS] ok! Loaded module: [Compress::Zlib] ok! Loaded module: [Digest::SHA1] ok! Loaded module: [YAML::Syck] ok! Loaded module: [GD] ok! Loaded module: [Locale::Hebrew] ok! The following modules are loaded after the first attempt: YAML/Syck.pm => /usr/share/squeezecenter/CPAN/YAML/Syck.pm IO/Handle.pm => /usr/lib/perl/5.8/IO/Handle.pm re.pm => /usr/lib/perl/5.8/re.pm HTML/Parser.pm => /usr/share/squeezecenter/CPAN/HTML/Parser.pm File/Spec/Functions.pm => /usr/share/perl/5.8/File/Spec/Functions.pm POSIX.pm => /usr/lib/perl/5.8/POSIX.pm SelectSaver.pm => /usr/share/perl/5.8/SelectSaver.pm /usr/lib/perl/5.8/auto/POSIX/load_imports.al => /usr/lib/perl/5.8/auto/POSIX/load_imports.al Getopt/Long.pm => /usr/share/perl/5.8/Getopt/Long.pm GD/Polygon.pm => /usr/share/squeezecenter/CPAN/GD/Polygon.pm Compress/Zlib.pm => /usr/share/squeezecenter/CPAN/Compress/Zlib.pm Locale/Hebrew.pm => /usr/share/squeezecenter/CPAN/Locale/Hebrew.pm Cwd.pm => /usr/lib/perl/5.8/Cwd.pm warnings.pm => /usr/share/perl/5.8/warnings.pm Carp/Heavy.pm => /usr/share/perl/5.8/Carp/Heavy.pm Slim/Utils/OSDetect.pm => /usr/share/perl5/Slim/Utils/OSDetect.pm B.pm => /usr/lib/perl/5.8/B.pm Digest/base.pm => /usr/share/squeezecenter/CPAN/Digest/base.pm Fcntl.pm => /usr/lib/perl/5.8/Fcntl.pm Symbol.pm => /usr/share/perl/5.8/Symbol.pm UNIVERSAL.pm => /usr/share/perl/5.8/UNIVERSAL.pm Exporter.pm => /usr/share/perl/5.8/Exporter.pm version/vpp.pm => /usr/share/squeezecenter/CPAN/version/vpp.pm File/Spec.pm => /usr/share/perl/5.8/File/Spec.pm JSON/XS.pm => /usr/share/squeezecenter/CPAN/JSON/XS.pm File/Path.pm => /usr/share/perl/5.8/File/Path.pm /usr/lib/perl/5.8/auto/POSIX/autosplit.ix => /usr/lib/perl/5.8/auto/POSIX/autosplit.ix FindBin.pm => /usr/share/perl/5.8/FindBin.pm locale.pm => /usr/share/perl/5.8/locale.pm warnings/register.pm => /usr/share/perl/5.8/warnings/register.pm XSLoader.pm => /usr/lib/perl/5.8/XSLoader.pm Slim/bootstrap.pm => /usr/share/perl5/Slim/bootstrap.pm Digest/SHA1.pm => /usr/share/squeezecenter/CPAN/Digest/SHA1.pm Time/HiRes.pm => /usr/share/squeezecenter/CPAN/Time/HiRes.pm IO/Seekable.pm => /usr/lib/perl/5.8/IO/Seekable.pm XML/Parser/Expat.pm => /usr/share/squeezecenter/CPAN/XML/Parser/Expat.pm version.pm => /usr/share/squeezecenter/CPAN/version.pm B/Deparse.pm => /usr/lib/perl/5.8/B/Deparse.pm GD/Image.pm => /usr/share/squeezecenter/CPAN/GD/Image.pm Config.pm => /usr/lib/perl/5.8/Config.pm File/Basename.pm => /usr/share/perl/5.8/File/Basename.pm IO.pm => /usr/lib/perl/5.8/IO.pm Carp.pm => /usr/share/perl/5.8/Carp.pm FileHandle.pm => /usr/share/perl/5.8/FileHandle.pm File/Spec/Unix.pm => /usr/share/perl/5.8/File/Spec/Unix.pm Exporter/Heavy.pm => /usr/share/perl/5.8/Exporter/Heavy.pm vars.pm => /usr/share/perl/5.8/vars.pm strict.pm => /usr/share/perl/5.8/strict.pm constant.pm => /usr/share/perl/5.8/constant.pm Config_heavy.pl => /usr/lib/perl/5.8/Config_heavy.pl IO/File.pm => /usr/lib/perl/5.8/IO/File.pm AutoLoader.pm => /usr/share/perl/5.8/AutoLoader.pm overload.pm => /usr/share/perl/5.8/overload.pm auto/Compress/Zlib/autosplit.ix => /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Compress/Zlib/autosplit.ix HTML/Entities.pm => /usr/share/squeezecenter/CPAN/HTML/Entities.pm lib.pm => /usr/lib/perl/5.8/lib.pm GD.pm => /usr/share/squeezecenter/CPAN/GD.pm DynaLoader.pm => /usr/lib/perl/5.8/DynaLoader.pm The following modules failed to load on the first attempt: [DBD::mysql, DBI] - will try again. Module [DBD::mysql] failed to load: DBI object version 1.50 does not match $DBI::VERSION 1.604 at /usr/lib/perl/5.8/DynaLoader.pm line 245. BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBI.pm line 263. Compilation failed in require at /usr/share/squeezecenter/CPAN/DBD/mysql.pm line 7. BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBD/mysql.pm line 7. Compilation failed in require at (eval 27) line 2. BEGIN failed--compilation aborted at (eval 27) line 2. Removing [DBD::mysql] from the symbol table - load failed. Removing [DBI] from the symbol table - load failed. Module [DBI] failed to load: DBI object version 1.50 does not match $DBI::VERSION 1.604 at /usr/lib/perl/5.8/DynaLoader.pm line 245. BEGIN failed--compilation aborted at /usr/share/squeezecenter/CPAN/DBI.pm line 263. Compilation failed in require at (eval 28) line 2. BEGIN failed--compilation aborted at (eval 28) line 2. Removing [DBI] from the symbol table - load failed. The following modules are loaded after the second attempt: YAML/Syck.pm => /usr/share/squeezecenter/CPAN/YAML/Syck.pm IO/Handle.pm => /usr/lib/perl/5.8/IO/Handle.pm re.pm => /usr/lib/perl/5.8/re.pm HTML/Parser.pm => /usr/share/squeezecenter/CPAN/HTML/Parser.pm File/Spec/Functions.pm => /usr/share/perl/5.8/File/Spec/Functions.pm POSIX.pm => /usr/lib/perl/5.8/POSIX.pm SelectSaver.pm => /usr/share/perl/5.8/SelectSaver.pm /usr/lib/perl/5.8/auto/POSIX/load_imports.al => /usr/lib/perl/5.8/auto/POSIX/load_imports.al Getopt/Long.pm => /usr/share/perl/5.8/Getopt/Long.pm GD/Polygon.pm => /usr/share/squeezecenter/CPAN/GD/Polygon.pm Compress/Zlib.pm => /usr/share/squeezecenter/CPAN/Compress/Zlib.pm Locale/Hebrew.pm => /usr/share/squeezecenter/CPAN/Locale/Hebrew.pm Cwd.pm => /usr/lib/perl/5.8/Cwd.pm warnings.pm => /usr/share/perl/5.8/warnings.pm Carp/Heavy.pm => /usr/share/perl/5.8/Carp/Heavy.pm Slim/Utils/OSDetect.pm => /usr/share/perl5/Slim/Utils/OSDetect.pm B.pm => /usr/lib/perl/5.8/B.pm Digest/base.pm => /usr/share/squeezecenter/CPAN/Digest/base.pm Fcntl.pm => /usr/lib/perl/5.8/Fcntl.pm Symbol.pm => /usr/share/perl/5.8/Symbol.pm UNIVERSAL.pm => /usr/share/perl/5.8/UNIVERSAL.pm Exporter.pm => /usr/share/perl/5.8/Exporter.pm version/vpp.pm => /usr/share/squeezecenter/CPAN/version/vpp.pm File/Spec.pm => /usr/share/perl/5.8/File/Spec.pm JSON/XS.pm => /usr/share/squeezecenter/CPAN/JSON/XS.pm File/Path.pm => /usr/share/perl/5.8/File/Path.pm /usr/lib/perl/5.8/auto/POSIX/autosplit.ix => /usr/lib/perl/5.8/auto/POSIX/autosplit.ix FindBin.pm => /usr/share/perl/5.8/FindBin.pm locale.pm => /usr/share/perl/5.8/locale.pm warnings/register.pm => /usr/share/perl/5.8/warnings/register.pm XSLoader.pm => /usr/lib/perl/5.8/XSLoader.pm Slim/bootstrap.pm => /usr/share/perl5/Slim/bootstrap.pm Digest/SHA1.pm => /usr/share/squeezecenter/CPAN/Digest/SHA1.pm Time/HiRes.pm => /usr/share/squeezecenter/CPAN/Time/HiRes.pm IO/Seekable.pm => /usr/lib/perl/5.8/IO/Seekable.pm XML/Parser/Expat.pm => /usr/share/squeezecenter/CPAN/XML/Parser/Expat.pm version.pm => /usr/share/squeezecenter/CPAN/version.pm B/Deparse.pm => /usr/lib/perl/5.8/B/Deparse.pm GD/Image.pm => /usr/share/squeezecenter/CPAN/GD/Image.pm Config.pm => /usr/lib/perl/5.8/Config.pm File/Basename.pm => /usr/share/perl/5.8/File/Basename.pm IO.pm => /usr/lib/perl/5.8/IO.pm Carp.pm => /usr/share/perl/5.8/Carp.pm FileHandle.pm => /usr/share/perl/5.8/FileHandle.pm File/Spec/Unix.pm => /usr/share/perl/5.8/File/Spec/Unix.pm Exporter/Heavy.pm => /usr/share/perl/5.8/Exporter/Heavy.pm vars.pm => /usr/share/perl/5.8/vars.pm strict.pm => /usr/share/perl/5.8/strict.pm constant.pm => /usr/share/perl/5.8/constant.pm Config_heavy.pl => /usr/lib/perl/5.8/Config_heavy.pl IO/File.pm => /usr/lib/perl/5.8/IO/File.pm AutoLoader.pm => /usr/share/perl/5.8/AutoLoader.pm overload.pm => /usr/share/perl/5.8/overload.pm auto/Compress/Zlib/autosplit.ix => /usr/share/squeezecenter/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Compress/Zlib/autosplit.ix HTML/Entities.pm => /usr/share/squeezecenter/CPAN/HTML/Entities.pm lib.pm => /usr/lib/perl/5.8/lib.pm GD.pm => /usr/share/squeezecenter/CPAN/GD.pm DynaLoader.pm => /usr/lib/perl/5.8/DynaLoader.pm The following modules failed to load: DBD::mysql DBI To download and compile them, please run: /usr/share/squeezecenter/Bin/build-perl-modules.pl DBD::mysql DBI Exiting..
The real problem here is that the message "SqueezeCenter died. Restart" is stupid and does not display the real reason for the startup failure. It should display the error and not go into a loop like that. I will rebuild DBI.so on an older version of Debian that should fix the problem reported in comment 17.
I finally gave up, wiped out Ubuntu 6.06 and started over with 8.04. SqueezeCenter 7.0 works for me now, as I expected after reading others' comments.
Is anyone still having this problem with the latest 7.1? The x86_64 DBI should be built fine now.
Due to lack of response, I'm going to mark this fixed.
(In reply to comment #19) > I finally gave up, wiped out Ubuntu 6.06 and started over with 8.04. > SqueezeCenter 7.0 works for me now, as I expected after reading others' > comments. > Marking bug as closed
Reduce number of active targets for SC