Deploying Studio 8 desktop apps
Michael Houlberg
michael at houlbergdevelopment.com
Mon Nov 21 17:02:25 EST 2016
Alex,
Here is the top of the error my client sent me. The Omnis application has been renamed “SOLAR” and inside the executable has been renamed “Sunny”. I don’t know if any of this helps you understand what happened, I don’t understand it myself.
I’ve downloaded you example for using Package, but just a quick question, Does anything need to be installed in a location outside the application folder itself? I know on Windows I have to do that. I use Advanced Installer for that task myself.
I’m guessing the permissions issue might be it, I think in earlier versions of OS X, if you dragged an application into the Applications folder from another disk, (CD or disk image), I think it set all the permissions correctly for the user.
Michael
Date/Time: 2016-10-24 09:10:09 -0400
OS Version: Mac OS X 10.11.6 (Build 15G31)
Architecture: x86_64h
Report Version: 22
Command: SOLAR
Path: /Applications/SOLAR.app/Contents/MacOS/Sunny
Version: 5.4.1 (5.4.1)
Parent: launchd [1]
PID: 4033
Event: hang
Duration: 0.98s (process was unresponsive for 4 seconds before sampling)
Steps: 10 (100ms sampling interval)
Hardware model: Macmini7,1
Active cpus: 4
Fan speed: 1800 rpm
--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------
Heaviest stack for the main thread of the target process:
10 start + 53 (Sunny + 3525) [0x1dc5]
10 main + 642 (Sunny + 7117542) [0x6caae6]
10 qrtime::Start(StartParms&) + 65 (Sunny + 5703899) [0x5718db]
10 qbuild::Start(StartParms&) + 24 (Sunny + 417324) [0x66e2c]
10 qappn::Start(StartParms&) + 33 (Sunny + 303587) [0x4b1e3]
5 qbase::Start(StartParms&) + 2373 (Sunny + 339765) [0x53f35]
5 EXTCompManager::loadAll(Personel&) + 965 (Sunny + 2418931) [0x24f8f3]
5 EXTCompItem::EXTCompItem(str80&, str255*, short&, EXTcompGroup, EXTCompItem*, Personel*) + 367 (Sunny + 2440587) [0x254d8b]
5 EXTCompItem::getCompInfo(Personel*) + 101 (Sunny + 2440745) [0x254e29]
3 EXTCompItem::load(Personel*) + 314 (Sunny + 6855580) [0x68ab9c]
2 getExternalFrameworkResource(FSRef*, signed char, unsigned char) + 160 (Sunny + 6837228) [0x6863ec]
2 CFBundleCopyResourceURL + 85 (CoreFoundation + 360981) [0x976cf215]
2 _CFBundleCopyFindResources + 1143 (CoreFoundation + 362135) [0x976cf697]
2 _copyResourceURLsFromBundle + 348 (CoreFoundation + 364844) [0x976d012c]
2 _copyQueryTable + 41 (CoreFoundation + 366665) [0x976d0849]
2 _CFBundleCopyLanguageSearchListInBundle + 42 (CoreFoundation + 367162) [0x976d0a3a]
2 CFBundleCopyBundleLocalizations + 362 (CoreFoundation + 368282) [0x976d0e9a]
2 _CFBundleCopyLProjDirectoriesForURL + 192 (CoreFoundation + 370160) [0x976d15f0]
2 _CFIterateDirectory + 98 (CoreFoundation + 134722) [0x97697e42]
2 readdir$INODE64 + 38 (libsystem_c.dylib + 189341) [0x9dd5a39d]
2 __getdirentries64 + 10 (libsystem_kernel.dylib + 109554) [0x94808bf2]
*2 hndl_unix_scall + 216 (kernel + 2017880) [0xffffff80003eca58]
*2 unix_syscall + 560 (kernel + 6456192) [0xffffff8000828380]
*2 getdirentries64 + 55 (kernel + 3189799) [0xffffff800050ac27]
*2 ??? (kernel + 3236700) [0xffffff800051635c]
*2 vnode_readdir64 + 130 (kernel + 3188690) [0xffffff800050a7d2]
*2 hfs_vnop_readdir + 1333 (kernel + 5482837) [0xffffff800073a955]
*1 cat_getdirentries + 657 (kernel + 5220609) [0xffffff80006fa901]
*1 BTSearchRecord + 389 (kernel + 5520245) [0xffffff8000743b75]
*1 SearchTree + 155 (kernel + 5542187) [0xffffff800074912b]
*1 GetBTreeBlock + 198 (kernel + 5192198) [0xffffff80006f3a06]
*1 buf_biowait + 124 (kernel + 3019132) [0xffffff80004e117c]
*1 ??? (kernel + 5988643) [0xffffff80007b6123]
*1 lck_mtx_sleep + 132 (kernel + 946676) [0xffffff80002e71f4]
*1 thread_block_reason + 175 (kernel + 986671) [0xffffff80002f0e2f]
*1 ??? (kernel + 1000220) [0xffffff80002f431c]
*1 machine_switch_context + 316 (kernel + 1875900) [0xffffff80003c9fbc]
Process: Sunny (SOLAR) [4033]
Path: /Applications/SOLAR.app/Contents/MacOS/Sunny
Architecture: i386
Parent: launchd [1]
UID: 501
Task size: 4672 pages (+143)
Pageins: 123 pages
CPU Time: 0.033s
Note: Unresponsive for 4 seconds before sampling
Note: 4 idle work queue threads omitted
Thread 0x72541 DispatchQueue 1 10 samples (1-10) priority 47 (base 46-47) cpu time 0.033s
<process frontmost, thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [137], IO policy important, priority 47 (47)>
10 start + 53 (Sunny + 3525) [0x1dc5] 1-10
10 main + 642 (Sunny + 7117542) [0x6caae6] 1-10
10 qrtime::Start(StartParms&) + 65 (Sunny + 5703899) [0x5718db] 1-10
10 qbuild::Start(StartParms&) + 24 (Sunny + 417324) [0x66e2c] 1-10
10 qappn::Start(StartParms&) + 33 (Sunny + 303587) [0x4b1e3] 1-10
4 qbase::Start(StartParms&) + 1882 (Sunny + 339274) [0x53d4a] 1-4
4 Personel::checkActivation() + 358 (Sunny + 5027378) [0x4cc632] 1-4
4 TLLS_OmnisInitialize + 24 (Sunny + 7627038) [0x74711e] 1-4
4 InitLicense + 427 (Sunny + 7626998) [0x7470f6] 1-4
4 SECInitialize + 1412 (Sunny + 7614005) [0x743e35] 1-4
4 DecryptActCode + 166 (Sunny + 7602550) [0x741176] 1-4
4 CheckHardwareString + 52 (Sunny + 7599894) [0x740716] 1-4
4 LoadCheckSum + 480 (Sunny + 7607930) [0x74267a] 1-4
2 GetProcessorInfo + 304 (Sunny + 7606916) [0x742284] 1-2
2 fread + 49 (libsystem_c.dylib + 260208) [0x9dd6b870] 1-2
2 __fread + 354 (libsystem_c.dylib + 260582) [0x9dd6b9e6] 1-2
2 __srefill1 + 34 (libsystem_c.dylib + 282040) [0x9dd70db8] 1-2
2 _sread + 35 (libsystem_c.dylib + 283799) [0x9dd71497] 1-2
2 __read_nocancel + 10 (libsystem_kernel.dylib + 112142) [0x9480960e] 1-2
> On Nov 20, 2016, at 11:10 AM, Alex Clay <aclay at mac.com> wrote:
>
> Hi Michael,
>
> We switched from the drag-and-drop from a .dmg installation method to a .pkg installer when macOS 10.9 rolled out with Gatekeeper 2. We can't sign our branded Omnis bundle since Omnis put files in unsupported locations. However, we can sign the pkg installer and that works well.
>
> Are you setting the permissions on the app so the user can access the right files with read/write access? This used to be a problem we had with the drag-and-drop approach and we'd need to run sudo chmod -R 777 /Applications/[our app].app especially with multiple users on the same Mac. The pkg installers alleviates that problem by letting us run a script to set the permissions accordingly. We can also be a little more intentional than granting read/write/execute access on the whole bundle. :)
>
> If you search the Omnis list archives for my name you'll see a conversation from late September 2016 about this approach under the subject "Package as an installer for OS X".
>
> What are the top few lines of the stack that's dumped out and the details on the exception nn the machines that crash? Maybe that will provide some clue as the reason for the crash.
>
> Alex
>
>> On Nov 18, 2016, at 19:25, Michael Houlberg <michael at houlbergdevelopment.com> wrote:
>>
>> $listers,
>>
>> Does the Omnis Studio version 8 Runtime need to use an installer on Mac OS X? What I’ve been doing for years with previous versions of Omnis Studio is creating a customized version of the Runtime with my main library in the Startup folder and customizing things like the icons and such. Then I just put it on a disk image file and have my users drag-install into their Applications folder, and all is well.
>>
>> But my first two deployments using version 8 have had problems. The application runs fine on some computers and just crashes prior to asking for the serial numbers on others. The OS version is at least the recommended version.
>>
>> So I guess my question is, have you been successful at deploying Studio 8 Runtimes via drag-install?
>>
>> Michael Houlberg
>> Houlberg Development, LLC
>> _____________________________________________________________
>> Manage your list subscriptions at http://lists.omnis-dev.com
>
>
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com
More information about the omnisdev-en
mailing list