Приложение Crestron XPanel падает перед установлением соединения

1

Я ищу некоторую помощь с этим журналом аварий, который у меня есть. Я пытаюсь выяснить, может ли кто-нибудь помочь мне отследить, что может вызывать сбой этого приложения, и тем самым исправить мою проблему.

У меня есть удаленный iMac под управлением Lion 10.7.5, который используется для управления системой Crestron в квартире, среди прочего: электронная почта, просмотр веб-страниц, настройка моего календаря, и это почти все. Никакого интенсивного использования, игр или каких-либо сумасшедших программ, установленных на нем.

Приложение XPanel довольно простое и понятное в использовании. Вы на самом деле ничего не можете с этим поделать, это в основном интерфейс для подключения и управления вашим основным контроллером Crestron через файл .xpnl, который содержит IP-адрес сервера, порты, пользователя / пароль и т. Д. В прошлом это никогда не вызывало у меня никаких проблем. хотя несколько месяцев назад он просто перестал работать. Я бы дважды щелкнул мой файл .xpnl, чтобы установить соединение, и подождать, пока он загрузит все элементы управления, но непосредственно перед тем, как он завершит соединение, XPanel вылетит и будет сгенерирован отчет о сбое, который я прикреплю к сообщению. Это также начало падать на втором Mac, который у меня есть, этот с Mavericks 10.9.1.

Звонок в «True Blue Support» не сильно помог. По сути, они точно определили проблему с ОС и сказали мне принести компьютер в Apple Store. Поскольку сбой происходит только на этих двух машинах, и я смог воссоздать соединение на других компьютерах Mac, они не будут отлаживать ошибку или даже смотреть на проблему. Так что в Genius Bar я снялся ... Короче говоря ... Конечно, они не признали бы, что это проблема OS X и сказали мне обратиться в службу технической поддержки Crestron. В качестве вежливости они проводили тесты, диагностику, капитальный ремонт и т. Д., Которые не решили проблему. В качестве возможного решения они предложили перезагрузить ОС. Вернувшись в офис, я в конечном итоге сделал это - обе машины перезагрузили свою ОС и вуаля, XPanel снова начал работать.

И это работало от нескольких месяцев до пары дней назад, когда снова перестало работать и зависало, как и раньше. Здесь я вижу одну возможность: кто-то делает «очистку» в системе или запускает какой-то инструмент / приложение для удаления временных файлов, кэша или чего-то в этом роде и ломает все, что XPanel необходимо для правильной работы. Конечно, когда я спросил в офисе, никто ничего не знает об этом, никто не трогал машину, никто ничего не чистил и так далее. Поэтому я все еще ищу, что может быть причиной этой аварии.

Полный журнал аварий: 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
futech.apple
источник

Ответы:

1

Код рухнул в процессе рисования. Я отредактировал пост, чтобы показать вам соответствующую ветку 0, которая была ответственна за сбой (если вы доверяете журналам, и в этом случае все кажется нормальным, и это сбой программы пользователя, поэтому он, как правило, более надежен, чем журнал ядра).

Для уменьшения или устранения аварии можно сделать три вещи:

  1. Выясните, какая часть кода чертежа ответственна за сбой с течением времени, и уменьшите / устраните эту часть программы, не используя ее.
  2. Получите исходный код и исправьте его (это также может быть ошибка Apple, когда вам нужно обновить ОС или даже обновить, чтобы действительно решить проблему.) Как правило, только тот, кто имеет доступ к исходному коду, может сделать этот вызов.
  3. Измените данные, которые использует программа (удалите некоторые настройки, функции и т. Д.), И надейтесь, что это уменьшит вероятность того, что программа получит те же данные в процедуре сбоя.

Кроме того, есть 4-й пункт - это может быть несколько случайным явлением. Если вы не можете обнаружить, как каждый раз вызывать сбои, лучше всего вести бумажный (или другой) журнал о сбоях и сохранять эти журналы. Примерно после 10 раз обычно начинают формироваться шаблоны, которые помогают вам понять, что вызывает сбой.

bmike
источник
Я немного погуглил эту проблему и не смог найти в ней много информации, хотя одна часть информации, которую я смог найти, указывала на ошибку либо на стороне приложения, либо на что-то, что «сломалось» на стороне ОС - даже пропущенный кекст. К сожалению, у меня нет доступа к исходному коду, поскольку это коммерческое приложение, не принадлежащее мне или моей компании. Я немного повозился с несколькими файлами, вызванными XPanel в отношении разрешения, положения и т. Д., Но без какой-либо удачи. Будем продолжать пытаться! Спасибо за понимание, @bmike! VBerg.
futech.apple