Bugzilla – Bug 15669
Install and Reboot breaks Mac OS X Server
Last modified: 2011-01-14 01:10:34 UTC
Note : Previous versions of Squeeze Center and Slim Server have worked flawlessly in my client-server setup since early 2004. v7.4.1 of Squeezebox Server not only doesn't work, but it BREAKS MY SERVER! Client-Server environment. Server is an Apple XServe running Mac OS X Server v10.5.8. OS and all application software is on one partition called "OS." All user home directories (i.e., data files) are on a separate partition (a RAID actually) called "BigDisk." Users home directory for user "jdoe" is at: /Volumes/BigDisk/Users/jdoe. Server runs headless (no keyboard, mouse, or monitor) with NO USER logged in. All applications, users interfaces, etc. work well/no problems. Apple literature refers to this configuration as "Network Home Directories." Install Squeezebox Server v7.4.1 (as upgrade or as clean install) while logged in at XServe as administrator/user "jdoe." Install succeeds, Squeezebox Server runs normally, plays music, saves settings, etc. UNTIL server is rebooted. Once server is rebooted, Squeezebox says music folder is empty (it previously contained 5,000+ songs), all previously customized settings are returned to defaults, ALL OF jdoe's FILES ARE LOST, and the following files/folders are created at the boot volume of the server: /cookies.dat /extrastrings.json /icons/ /my.cnf /MySQL/ /mysql-error-log.txt /plugin-data.yaml /squeezebox-mysql.pid /squeezebox-mysql.sock /strings.x86.bin Additionally, Squeezebox Center has crated a duplicate mount point on the XServe. There are now two similar mount points, where previously there was just one: mount point /Volumes/BigDisk/Users with home directory /Volumes/BigDisk/Users/jdoe mount point /Volumes/BigDisk 1/Users ALSO with home directory /Volumes/BigDisk/Users/jdoe Note the "BigDisk" vs. "BigDisk 1" above. The second of these two mount points "BigDisk 1" contains the original home directory with all jdoe's user data. It is not useable until Squeezebox Server is uninstalled and XServe is fixed per my post at Apple's support site (link below). My guess is that the installer or the Squeezebox Server application itself thinks the administrator/jdoe's home folder is in a specific place. When it doesn't find it there on reboot, it creates a new, "default"/empty one at a new mount point. I can undo the damage, but I can't reinstall v7.4.1 without encountering the same problem. See: http://discussions.apple.com/message.jspa?messageID=11030886#11030886 for discussion on how to undo/remove the duplicate mount point. My post is all the way at the end.
Steven - could you please try to reproduce this issue. Sounds ugly. I'll check the code whether we can add some more sanity checking so we don't touch anything in the root folder.
Sure, it may take me a while to setup the environment to attempt to reproduce the bug though.
New/Additional/Troubleshooting Information. Tested with two different servers. "Old Server" is Apple PowerMac G4 ("Quicksilver") running Mac OS X Server v10.4.11 (i.e., Tiger Server). "New Server" is Apple XServe (Intel) running Mac OS X Server v10.5.8 (i.e., Leopard Server). Observation 1: Old Server (Tiger Server with G4) works perfectly with Squeeze-whatever v7.2.1, v 7.3.3, v7.4.1, and v7.5.1. Observation 2: New Server (Leopard Server with Intel) works with Squeeze-whatever v7.2.1, but does not start automatically. I believe this is due to Apple's use of launchd in v10.5/Leopard Server. v7.2.1 of Squeeze-whatever would not have had knowledge of that future change by Apple. Observation 3: New Server (Leopard Server with Intel) breaks on reboot per my original post with Squeeze-whatever v7.3.4, v7.4.1 and v7.5.1. Observation 4: New Server (Leopard Server with Intel) runs Squeeze-whatever v7.5.1 normally so long as the server is not re-booted. Squeeze-whatever v7.5.1 writes to proper file locations, e.g., /Volumes/BigDisk/Users/jdoe/Library/Application Support/Squeezebox/. Observation 5: Can log out of New Server (Leopard Server with Intel), and run headless (no keyboard, mouse, or monitor) with NO USER logged in. Squeeze-whatever v7.5.1 runs fine. Just cannot reboot New Server, or it breaks the New Server per my original post. Observation 6: If set Squeeze-whatever v7.5.1 Preference Pane to "Never start server automatically," can reboot the New Server (Leopard with Intel), and it doesn't break. It is then possible to log in to the New Server, start Squeeze-whatever v7.5.1 from the Preference Pane, and use the New Sever normally (and Squeeze-whatever v7.5.1 runs normally). Observation 6 is both a work-around, and a clue to the underlying bug (I think). Perhaps the problem involves the order in which Squeeze-whatever v7.5.1 is launched when the New Server is booted. Maybe the RAID (at /Volumes/BigDisk) needs to go through some initialization before it is useable. Squeeze-whatever v7.5.1 may not be able to "see" the RAID right off the bat, and so creates a second mount point per my original post reporting this bug. Maybe the solution is as simple as delaying the Squeeze-whatever v7.5.1 launch when the New Server boots. The other thought I had was that I thought I read somewhere that Mac OS X Server v7.5 (Leopard Server) comes with MySQL whereas Mac OS X Server v7.4 (Tiger Server) does not. Perhaps the MySQL that comes with Squeeze-whatever v7.5.1 isn't playing nice with the MySQL that comes on Leopard Server. That might explain why the Old Server (Tiger Server with G4) can be rebooted without breaking while the New Server cannot.
The Blocker category is reserved for problems that Blocks development and/or testing work.