How stable is Sierra as a development platform?

Discussion in 'Mac Programming' started by MacRobert10, Dec 30, 2016.

  1. MacRobert10 macrumors 6502

    Joined:
    Nov 24, 2012
    #1
    The title says it all: How stable is Sierra as a development platform.

    Currently we're developing for OS X 10.6 through Sierra, and Sierra seems to have a fair number of problems. Here's what I've seen so far on an official release (i.e. non-development version) of the OS:

    • On a multiboot system a non-development install of Sierra isn't visible on as boot drive on Mavericks or earlier.
    • When attempting to use csrutil to enable/disable SIP, it sometimes locks up the system.
    • Some drives aren't seen or they drop out for no reason.
    • No boot drives on a USB hub won't show up for minutes.
    • Shutdown often locks up.
    • Attempting to boot into the development release of the OS using System Preferences locks up stating it can't update the boot caches. The only way to circumvent this is to force quit System Preferences, reboot, and hold down the "Alt" key when booting to see the development version of Sierra. Interestingly, a Mavericks install can see, select, and allow the system to reboot into the development version of Sierra, but as I said before, it doesn't see the "official release" version at all.
    My question is simple enough: can Sierra be trusted at all as a development platform?
     
  2. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #2
    A lot of those sound like symptoms of a disk going bad, or maybe an intermittent cable.

    In the case of the USB hub, it might be cable, connector, or power supply. I've seen failures of all 3, and long delays was a symptom in each one.

    Exactly how are the various OSes arranged on the drives? Are they all on one drive? Some on one drive, some on another? Which are internal vs. external drives?

    When was the last time you did Disk Repair or an fsck command on each of the disk volumes?

    Exactly what differences are there between Sierra-non-dev (Sierra-N) and Sierra-dev (Sierra-D)? Were they identical and then one had Xcode installed? What other tools, extensions, etc. are present on Sierra-D that aren't present on Sierra-N?

    Finally, exactly which OS version(s) and Xcode versions?
     
  3. MacRobert10, Dec 31, 2016
    Last edited: Dec 31, 2016

    MacRobert10 thread starter macrumors 6502

    Joined:
    Nov 24, 2012
    #3
    It's not the hard drive or the cables. The problems only exist with Sierra, plus we check our systems with Scannerz (http://scsc-online.com/Scannerz.html) on weekly basis (critical drives, anyway). It can check for drive, cable, and system problems and never finds anything wrong. It seems to me there's a degree of "unfriendliness" Sierra is exhibiting towards earlier OS X version.

    The systems aren't simple. The primary development drive is a RAID-0 with 2 Intel SSDs in it connected directly to the system (see below) using USB-3. It's partitioned into 5 parts, one for storing development code, the others for storing OS X versions (Mountain Lion, Mavericks, El Capitan, and Sierra (release version)). Other OS X versions are tested by having one or two OS X versions stored on an SSD (depends on the size of the SSD...some have a single OS X on them, some have 2). When we want to test on, say Yosemite, we just plug the Yosemite SSD into the USB 3 port and boot from that, copy over the code we want to test, and test it. The minimum size of the SSDs is 256G, although they are of differing manufacturers (bought on a price basis) including Sandisk, Toshiba, Micronics, and Crucial.

    We also use a 2009 MacBook for testing earlier stuff (Snow Leopard, Lion, and Mountain Lion), although it can run up through El Capitan as well. The nice thing about the MacBook is you can swap a new drive in/out in about 3 minutes.

    The "main" system is a late 2012 iMac with 16GB or RAM. It has an internal hard drive, but I wrote a launchd file and accompanying script to eject it on startup for each platform. After using a RAID-0 with 2 fairly fast SSDs in it there's just no way I'm going back to a spinner...no way. I'm booting most OSes in 10 seconds. I wrote the ejection launchd stuff because I figured if I wasn't going to use it, why let it sit there spinning. If there's a compelling need to test on a Fusion Drive or an internal HDD for some reason, all I have to do is disable the launchd script and we can do as we need. FYI the internal HDD tested out good on Scannerz too, so that isn't the problem.

    I don't expect the development release of Sierra to necessarily be in working order, after all it is beta software, but the problem isn't with it, it's with the released version of Sierra. Any of the OSes in the RAID array can see the development version of Sierra from System Preferences -> Startup Disk, but none of them see the "official" version of Sierra, which is on the RAID. The "official" version of Sierra also refuses to allow the use of the development version of Sierra to be selected as a boot drive, even though it can be done from Mavericks, Mountain Lion, and El Capitan. I even deleted the original install of the Sierra and put in a new fresh copy when 10.12.2 was formally released, but the problems persist.

    The drive connected by the USB hub is a WD 2TB drive that's used for Time Machine backups of each OS X version on the RAID unit as well a periodic clone of each of the OS X installations on the RAID unit. The periodic clones are just a last safeguard and are done using Phoenix, which comes with the Scannerz package mentioned earlier. We've tried putting some of the other SSDs (like the Yosemite SSD) into the hub, and it either won't be bootable or won't show up on Sierra (official) but will on anything else. In fact as I write this the USB drive is, once again, not showing up at all. If any of these drives are plugged directly into the USB ports on the system, they'll be seen. If they're in the hub, they may or may not be in Sierra (official) but will be available and bootable on any other OS X version.

    The reason this concerns me, particularly when trying to select the development version of Sierra from the non-development version is that when selecting the development version as the new target from the released version using System Preferences, System Preferences just sits there a few minutes, then reports that it can't write or update the boot caches, at which point it locks up System Preferences. I can select the development version of Sierra from Mountain Lion, Mavericks, and El Capitan without any problems. What bugs me is if it's messing up the Beta version of Sierra, how do I know it won't do the same with other partitions? If I told my boss I was using Sierra and it wiped out all the boot stuff or managed to toast a partition, he'd kill me. Granted we have backups, but restoring all would be at least a days work for all this stuff.

    The Sierra installations (both) are just basic, aside from Xcode. We don't do iOS development so it's not as if there's a simulator or a bunch of iPhones/iPads connected. Aside from Xcode, it's pretty much a base install.

    Xcode versions on the systems can run from Xcode 5 (not used at all) on Mountain Lion (now really used for testing only anyway) Xcode 6 on Mavericks, and Xcode 7 on El Capitan. Xcode 8 has been installed on both the "official" release of Sierra and the beta (developers) version, but I've never tried it yet because of these problems. I should add our products target Snow Leopard through Sierra.

    I should also add that the RAID unit was put into use recently. We used to have an SSD with Mountain Lion and Mavericks on it, then another SSD with El Capitan and the release version of Sierra on it, and the problems were happening with that too (as long as Sierra was connected). We combined all into the RAID unit because it was faster plus it was only using one USB 3 port.

    So there's my story. Right now we're sticking pretty much with the El Capitan and Mavericks for development. Only the release version of Sierra is causing the problems.
     
  4. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #4
    Nothing in your description strikes me as inherently suspect.

    Some ideas:

    1. Which of the OSes on the RAID-0 with Sierra-N have their accompanying Recovery partition?

    2. What happens if you copy the Sierra-N partition to a completely separate disk, say an SD card of suitable speed? Does this affect the visibility? If it's still invisible, what happens if you add the Recovery partition to the SD card? Is visibility only a problem in System Preferences, or is Sierra-N also invisible in the "hold-option-key-at-restart" boot selector?

    3. What happens if you turn off Spotlight indexing on all the bootable partitions? I know from experience that newer OS versions use compressed disk files that have a compression format that's unreadable by older OS versions. I think the xattr is com.apple.decmpfs, but I don't recall what the compression type is.
     
  5. Cordorb macrumors regular

    Joined:
    May 8, 2010
    #5
    I am always able to boot my dev Sierra system form a WD Mybook USB disk using alt boot but some of the OLDER systems before El Capitan may not see a Sierra USB when using "startup disk" in system preferences.

    Watch out with hubs. I have seen several list of which hub work well and which ones seem to have a sleep problem.
    macintouch.com has one list

    I have most new beta and older systems on SSD's in a OWC thunderbays's external storage.

    I did need new firmware on some USB devices with both El Capitan and Sierra during bete and my Belkin thunderbolt dock never did start working again on the USB3 ports.
     
  6. MacRobert10 thread starter macrumors 6502

    Joined:
    Nov 24, 2012
    #6
    After fooling with the system, which included putting Sierra 10.12.2 on an internal drive, a standalone USB SSD, and doing the same with some other versions of Sierra, this appears to be an oddity of 10.12.2. I can still see 10.12.1 on my USB drive, and the developers beta shows up anywhere I put it.
     
  7. WorkerBee2015 macrumors member

    Joined:
    Jan 23, 2015
    #7
    I cut part of your post above because I have a question. You said that you've disabled the internal drives so they don't even show up. How is that done?

    By the way, I have similar problems with Sierra. Here are some of mine:
    • I use my own color profile, but after they added that night shift nonsense, now every time the system starts I need to open system preferences, click on display, and then click on the color tab, then it kicks in. Otherwise the display is too bright and washed out.
    • Sometimes if I shutdown, it won't shut down completely UNLESS I unmount my USB backup drive.
    • Safari has locked the system up for no apparent reason.
    • Sometimes if the system goes to sleep some of the USB drives go to sleep.
    As far as development goes, I don't know what choice any of us really have, especially if they keep pushing out half baked OS releases every year. I wish, just once, they would focus on fixing bugs instead of following some marketing scheme.
     
  8. MacRobert10 thread starter macrumors 6502

    Joined:
    Nov 24, 2012
    #8

    Basically, to unmount the boot drives at start up I put in I created a launchd file and a script:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>Unmounter</string>
    <key>Program</key>
    <string>/Users/<USER NAME GOES HERE>/bin/Unmounter.sh</string>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>

    You have to load that. Then in the my personal bin directory (a manually created directory) I put in the following shell script:

    #!/bin/bash
    sleep 20
    /usr/sbin/diskutil unmount /Volumes/<INTERNAL DRIVE NAME GOES HERE>


    At start up, the launchd process launches the plist file, which in turn launches the shell script. Notice that the shell script waits 20 seconds because if you don't wait, the drive may not be mounted by the time launchd executes. Also you have to replace <USER NAME GOES HERE> and <INTERNAL DRIVE NAME GOES HERE> with actual values, minus the < and > characters.

    A great write up on launchd is here:

    http://www.launchd.info
     
  9. 960design macrumors 68030

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #9
    I have used Sierra for the last year for development and had absolutely no issues. My MBPr15(2016) is currently running Sierra and my iMac27(late 2015) is running High Sierra.

    Still no issues with development on the MBPr2016. I have issues with Apple Mail client locking up on High Sierra, but the betas always seem to have a glitchy mail app. It is easy enough to close out and restart within 15 seconds or so and seems to only plague the very first betas of the new OS. So, I'm using it for development and haven't noticed anything except that everything but the mail app seems much snappier, and this on a beta!
     
  10. Graham Perks macrumors member

    Joined:
    Oct 2, 2003
    Location:
    Austin, TX
    #10
    You have an unusual set up. Your OP asks a much broader question. For me, Sierra has been rock-solid. But I'm not working off external drives and multiple OS'.
     
  11. MacRobert10 thread starter macrumors 6502

    Joined:
    Nov 24, 2012
    #11
    The post is now almost 6 months old. Many of the items have cleared up, presumably because of bug fixes. My setup is unusual because I have to develop and test from Snow Leopard through Sierra, and now even High Sierra. None of the problems have actually had any effect on development, but when you see that many bugs it makes me wary. For Snow Leopard we have even older iMacs and MacBooks to use as test devices.
     
  12. Yebubbleman macrumors 68030

    Yebubbleman

    Joined:
    May 20, 2010
    Location:
    Los Angeles, CA
    #12
    I have experienced glitches with Sierra that persist through the current build. To the point where I just said "screw it" and went back to El Capitan in hopes that High Sierra is good enough to press forward with. It used to be that every version of OS X/macOS was solid. In the post-Snow-Leopard era, I've only found Mountain Lion and El Capitan to be joys to work with. It's like Apple almost wants me to switch to Windows.
     
  13. Senor Cuete macrumors regular

    Joined:
    Nov 9, 2011
    #13
    I haven't had any trouble with XCode but I have experienced HORRIBLE problems with Mail, Time Machine and OS X. Every "update" since 10.6 has been uglier and harder to use as well. In recent coverage of the Apple WWDC, Tim Cook is said to have admitted that recent versions of OS X were less-than spectacular and promised to do better. I hope so because it's getting to where the basic technologies of OS X are broken.
     

Share This Page