Bug 10430 - Crash using outside MySQL on Windows
: Crash using outside MySQL on Windows
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Database
: 7.4.0
: PC Windows Server 2003
: P3 normal (vote)
: 7.4.0
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-22 14:49 UTC by Jim McAtee
Modified: 2009-10-05 14:29 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 Jim McAtee 2008-12-22 14:49:38 UTC
See the discussion in the forums.

On Windows, if you try using a MySQL server other than the bundled one, the server still attempts to run its bundled MySQL, then crashes with this error:

[08-12-14 04:06:01.9098] Slim::Utils::MySQLHelper::createSystemTables (420) FATAL: Couldn't connect to database: [Access denied for user 'ODBC'@'localhost' (using password: NO)]
[08-12-14 04:06:23.8138] Slim::Utils::MySQLHelper::stopServer (369) FATAL: Server didn't shutdown in 20 seconds!
[08-12-14 04:06:23.8147] Log::Log4perl::Logger::and_die (861) Warning: FATAL: Server didn't shutdown in 20 seconds! at C:/Program Files/SqueezeCenter 7.4 Trunk/server/Slim/Utils/MySQLHelper.pm line 369
[08-12-14 04:06:45.6886] Slim::Utils::MySQLHelper::stopServer (369) FATAL: Server didn't shutdown in 20 seconds!
[08-12-14 04:06:45.6893] main:: (0) Warning: FATAL: Server didn't shutdown in 20 seconds! at C:/Program Files/SqueezeCenter 7.4 Trunk/server/Slim/Utils/MySQLHelper.pm line 369
END failed--call queue aborted.

In 7.4 it looks like MySQL initialization has been broken out into platform specific routines, but the initMySQL() routine for Windows always returns 0, making the server think that the bundled MySQL must be used.  It probably then tries to then establish a connection using the wrong credentials, port or database name, causing the failure.

sub initMySQL {0}
Comment 1 Michael Herger 2008-12-29 00:17:57 UTC
I'll see what I can do. Probably will only check in to 7.4.
Comment 2 Jim McAtee 2008-12-29 00:28:08 UTC
This isn't broken in 7.3.x.  The changes that caused this are only within the 7.4 Trunk - change 24193 if I'm not mistaken.
Comment 3 Michael Herger 2009-01-04 23:24:23 UTC
Thanks Jim. Re-targetting accordingly.
Comment 4 Michael Herger 2009-01-05 05:40:37 UTC
Jim - would returning 1 instead of 0 work for you?
Comment 5 Michael Herger 2009-01-05 06:05:20 UTC
change 24502 - I got the logic wrong: initMySQL is not to decide whether the rest should be initialized, but to be called whenever we don't want to initialize MySQL, as it's already running. Thanks!
Comment 6 James Richardson 2009-10-05 14:29:47 UTC
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server!
    * SqueezeCenter: 28672
    * Squeezebox 2 and 3: 130
    * Transporter: 80
    * Receiver: 65
    * Boom: 50
    * Controller: 7790
    * Radio: 7790  

Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes

If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.