MacOS – Crestron XPanel app crashes before establishing the connection

crashlogsmacos

I’m looking for some help with this crash log I have. I’m trying to see if anyone can help me trace what can be causing this app to crash, therefore fixing my problem.

I have a remote iMac running Lion 10.7.5 which is used to control a Crestron system in the apartment, among other basic things – email, browsing the web, setting up my calendar and that’s pretty much it. No heavy usage, gaming or any crazy software installed on it.

The XPanel app is pretty simple and straight forward to use. You actually can’t do much with it, it’s basically an interface to connect and control your main Crestron controller via a .xpnl file which holds the server IP, ports, user/pass, etc. It never gave me any issues in the past, although few months ago it just stopped working.
I would double click my .xpnl file to establish the connection and wait for it to load all the controls but immediately before it finishes connecting, XPanel would crash and a Crash Report was generated – which I’ll attach to the post. It also started to crash on a second Mac I have, this one with Mavericks 10.9.1.

A call to their “True Blue Support” wasn’t much of a help. Basically they pinpointed the issue being with the OS and told me to bring the computer to the Apple Store.
Because the crash is happening only on these two machines and I was able to re-create the connection on other Macs, they will not debug the error or even take a look on the issue.
So to the Genius Bar I took off…long story short…Of course they wouldn’t admit it was an OS X issue and told me to contact Crestron tech support. As a “courtesy” they ran tests, diagnostics, basic repairs and etc – which did not solve the problem. As a possible solution they suggested to re-load the OS. Back to the office I end up doing just that – both machines got their OS reloaded and voila, XPanel started working again.

And it worked for a few months until a couple of days ago when stopped working again and crashing just like before. One possibility I see going on here is that someone is doing some “cleaning” on the system or running some tool/app to delete temporary files, cache, or something like that and breaking whatever XPanel needs to properly function. Of course when I asked around the office nobody knows anything about it, nobody touched the machine, nobody cleaned anything and so on. So I’m still looking for what can be causing this crash.

Full crash log: http://pastebin.com/fasr4kFt

Process:         XPanel [352]
Path:            /Applications/XPanel.app/Contents/MacOS/XPanel
Identifier:      com.Crestron.XPanel
Version:         1.0.0 (10)
Code Type:       X86 (Native)
Parent Process:  launchd [167]

Date/Time:       2014-02-12 11:50:49.211 -0500
OS Version:      Mac OS X 10.7.5 (11G63)
Report Version:  9

Interval Since Last Report:          70443 sec
Crashes Since Last Report:           15
Per-App Interval Since Last Report:  1715 sec
Per-App Crashes Since Last Report:   15
Anonymous UUID:                      7C02A59D-DF35-4518-BC95-3BD07D95F939

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

VM Regions Near 0:
--> __PAGEZERO             0000000000000000-0000000000001000 [    4K] ---/--- SM=NUL  /Applications/XPanel.app/Contents/MacOS/XPanel
    __TEXT                 0000000000001000-0000000000029000 [  160K] r-x/rwx SM=COW  /Applications/XPanel.app/Contents/MacOS/XPanel

Application Specific Information:
objc_msgSend() selector name: retain
objc[352]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                 0x99e53d4b objc_msgSend + 27
1   com.apple.CoreFoundation        0x918da898 CFRetain + 136
2   com.apple.CoreGraphics          0x90dd5185 CGColorRetain + 22
3   com.apple.CoreGraphics          0x90dcb2c9 CGGStateSetFillColor + 52
4   com.apple.CoreGraphics          0x90ddca04 CGContextSetFillColorWithColor + 79
5   com.Crestron.XPanel             0x000152b5 -[CrestronView drawRect:] + 197
6   com.apple.AppKit                0x965106c9 -[NSView _drawRect:clip:] + 3717
7   com.apple.AppKit                0x9653fae6 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1958
8   com.apple.AppKit                0x9653fe87 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2887
9   com.apple.AppKit                0x9653fe87 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2887
10  com.apple.AppKit                0x9653fe87 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2887
11  com.apple.AppKit                0x9653fe87 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2887
12  com.apple.AppKit                0x9650e026 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 708
13  com.apple.AppKit                0x9650f193 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 5169
14  com.apple.AppKit                0x9650f193 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 5169
15  com.apple.AppKit                0x9650d627 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 259
16  com.apple.AppKit                0x96508caa -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4817
17  com.apple.AppKit                0x96501bd9 -[NSView displayIfNeeded] + 1365
18  com.apple.AppKit                0x964fe99d -[NSWindow displayIfNeeded] + 316
19  com.apple.Foundation            0x9ab4eefc __NSFirePerformWithOrder + 600
20  com.apple.CoreFoundation        0x919410ce __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
21  com.apple.CoreFoundation        0x9194100d __CFRunLoopDoObservers + 413
22  com.apple.CoreFoundation        0x91913984 __CFRunLoopRun + 1044
23  com.apple.CoreFoundation        0x919131dc CFRunLoopRunSpecific + 332
24  com.apple.CoreFoundation        0x91913088 CFRunLoopRunInMode + 120
25  com.apple.HIToolbox             0x93db0543 RunCurrentEventLoopInMode + 318
26  com.apple.HIToolbox             0x93db78ab ReceiveNextEventCommon + 381
27  com.apple.HIToolbox             0x93db771a BlockUntilNextEventMatchingListInMode + 88
28  com.apple.AppKit                0x964c0ee8 _DPSNextEvent + 678
29  com.apple.AppKit                0x964c0752 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 113
30  com.apple.AppKit                0x964bcac1 -[NSApplication run] + 911
31  com.apple.AppKit                0x9674dac5 NSApplicationMain + 1054
32  com.Crestron.XPanel             0x000025ca start + 54

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 5
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 528
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=168.2M resident=83.2M(49%) swapped_out_or_unallocated=85.0M(51%)
Writable regions: Total=76.2M written=5336K(7%) resident=9684K(12%) swapped_out=0K(0%) unallocated=66.8M(88%)

REGION TYPE                      VIRTUAL
===========                      =======
CG backing stores                  1648K
CG image                              4K
CG raster data                      160K
CG shared images                   3408K
CoreGraphics                          8K
CoreServices                       1076K
MALLOC                             44.4M
MALLOC guard page                    48K
Memory tag=240                        4K
Memory tag=242                       12K
SQLite page cache                   480K
Stack                              68.1M
VM_ALLOCATE                        16.1M
__CI_BITMAP                          80K
__DATA                             8504K
__DATA/__OBJC                        76K
__IMAGE                             528K
__IMPORT                              4K
__LINKEDIT                         43.5M
__OBJC                             2460K
__OBJC/__DATA                        44K
__PAGEZERO                            4K
__TEXT                            124.6M
__UNICODE                           544K
mapped file                       124.0M
shared memory                      2624K
shared pmap                        8076K
===========                      =======
TOTAL                             449.9M

Model: iMac12,1, BootROM IM121.0047.B1F, 4 processors, Intel Core i5, 2.7 GHz, 8 GB, SMC 1.71f21
Graphics: AMD Radeon HD 6770M, AMD Radeon HD 6770M, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333531533642465238432D48392020
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333531533642465238432D48392020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x9A), Atheros 9380: 4.0.67.5-P2P
Bluetooth: Version 4.0.8f17, 2 service, 18 devices, 1 incoming serial ports
Network Service: AirPort, AirPort, en1
Serial ATA Device: WDC WD1001FALS-403AA0, 1 TB
Serial ATA Device: HL-DT-STDVDRW  GA32N
USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfa100000 / 3
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 4
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8215, 0xfa111000 / 5
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x850b, 0xfa200000 / 2
USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfd100000 / 2
USB Device: Internal Memory Card Reader, apple_vendor_id, 0x8403, 0xfd110000 / 4
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd120000 / 3

Best Answer

The code crashed in a drawing routine. I edited the post to show you the relevant thread 0 that was responsible for the crash (if you trust the logs and in this case, everything seems normal and this is a user program crash, so it's generally more reliable than a kernel log).

Three things can be done to reduce or eliminate the crash:

  1. Figure out what part of the drawing code is responsible for the crash over time and reduce / eliminate that part of the program by not using it.
  2. Get the source code and fix it (it could also be an Apple Bug where you need to update the OS or even upgrade to really fix the issue.) Only someone with access to the source code generally can make that call.
  3. Change the data the program uses (remove some settings, features, etc) and hope that it reduces the chance the program has to draw the same data in the crashing routine.

Also, there is a 4th item - it could be a somewhat random occurrence. Unless you can discover how to make things crash each and every time, it's best to keep a paper (or other) log of when it crashes and save the logs. After about 10 times patterns usually start to form that help you know what is causing a crash.