Author Topic: WeatherCatRCP 1.0 crash bug on invalid server  (Read 113 times)

Xipper

  • Gentle Breeze
  • **
  • Posts: 26
    • EW1914
    • KORPORTL202
  • Station Details: Davis Vantage Pro
WeatherCatRCP 1.0 crash bug on invalid server
« on: May 06, 2018, 08:36:16 PM »
Was going to post this in the announcement thread, but didn't want to pollute the excitement with this related discussion...or to have it get missed. 

Found a significant bug in this.  I don't know what is causing it, but it started out as me buying the app and then going to point it to my public DNS entry for my server.  At that point it didn't work, but then I noticed that RCP protocol is on a different TCP port that I hadn't included previously. 

I modified my firewall but still kept getting an "unverified server" message in the iOS app.  I switched to another app on iOS to troubleshoot the firewall, however now whenever I open the WeatherCatRCP it immediately crashes.  Seems error handling for an "invalid server" needs to be improved. 

iOS system log from Console on OSX:
Code: [Select]
default 12:24:11.089417 -0700 SpringBoard Running <SBAppToAppWorkspaceTransaction: 0x12fbfb040> for transition request:
<SBMainWorkspaceTransitionRequest: 0x1cc8e7280; eventLabel: SBUIApplicationIconLaunchEventLabel; display: Main; source: HomeScreen> {
    applicationContext = <SBWorkspaceApplicationSceneTransitionContext: 0x1cc151460; background: NO> entities = {
        SBLayoutRolePrimary = <SBDeviceApplicationSceneEntity: 0x1cc48adc0; ID: com.poohbah.WeatherCatRCP; layoutRole: primary>;
    };
}
default 12:24:11.123192 -0700 SpringBoard Bootstrapping com.poohbah.WeatherCatRCP with intent foreground-interactive
default 12:24:11.123301 -0700 assertiond Submitting new job for "com.poohbah.WeatherCatRCP" on behalf of <BKProcess: 0x10250e5f0; SpringBoard; com.apple.springboard; pid: 12928; agency: SystemShell; visibility: foreground; task: running>
default 12:24:11.125824 -0700 assertiond Submitted job with label: UIKitApplication:com.poohbah.WeatherCatRCP[0xf0ee][8709]
default 12:24:11.130010 -0700 assertiond [WeatherCat RCP:16136] Adding client: <BKProcessInfoServerClient: 0x10231b650; pid: 12928>
default 12:24:11.130169 -0700 assertiond [WeatherCat RCP:16136] Setting jetsam priority to 10 [0x10000]
default 12:24:11.133173 -0700 assertiond Now tracking process <BKProcess: 0x102627390; WeatherCat RCP; com.poohbah.WeatherCatRCP; pid: 16136; agency: Application; visibility: none; task: running; hostpid: 12928> with host <BKProcess: 0x10250e5f0; SpringBoard; com.apple.springboard; pid: 12928; agency: SystemShell; visibility: foreground; task: running>
default 12:24:11.133271 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Bootstrap complete with label: UIKitApplication:com.poohbah.WeatherCatRCP[0xf0ee][8709]
default 12:24:11.133458 -0700 SpringBoard [FBProcessManager] Adding: <FBApplicationProcess: 0x123e74f10; WeatherCat RCP (com.poohbah.WeatherCatRCP); pid: 16136>
default 12:24:11.134351 -0700 symptomsd 16136 com.poohbah.WeatherCatRCP: ForegroundRunning (most elevated: ForegroundRunning)
default 12:24:11.134574 -0700 assertiond [SpringBoard:12928] Attempting to acquire assertion for WeatherCat RCP:16136: <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9>
default 12:24:11.134682 -0700 assertiond [WeatherCat RCP:16136] Add assertion: <BKProcessAssertion: 0x10263f4f0; id: 12928-3221E45A-01D7-4711-892D-868576EAB7F9; name: UIApplicationLaunch; state: active; reason: activation; duration: infs> {
    owner = <BSProcessHandle: 0x10241cce0; SpringBoard:12928; valid: YES>;
    flags = preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, wantsForegroundResourcePriority, preventSuspendOnSleep;
}
default 12:24:11.138641 -0700 assertiond [WeatherCat RCP:16136] Activate assertion: <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9>
default 12:24:11.138887 -0700 assertiond [WeatherCat RCP:16136] New process assertion state; preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, wantsForegroundResourcePriority, preventSuspendOnSleep (assertion 0x10263f4f0 added: preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, wantsForegroundResourcePriority, preventSuspendOnSleep; removed: (none))
default 12:24:11.139163 -0700 assertiond [WeatherCat RCP:16136] Setting jetsam priority to 10 [0x10100]
default 12:24:11.140585 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:1 (CPUMON check): {
    <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9> [active]
}
default 12:24:11.140744 -0700 assertiond [WeatherCat RCP:16136] setpriority success for resource GPU to PRIO_DARWIN_GPU_ALLOW
default 12:24:11.140941 -0700 assertiond [WeatherCat RCP:16136] setpriority success for resource CPU to default (0)
default 12:24:11.140991 -0700 SpringBoard WIFI PICKER [com.poohbah.WeatherCatRCP]: isProcessLaunch: 1,    isForegroundActivation: 1,     isForegroundDeactivation: 0
default 12:24:11.185926 -0700 WeatherCat RCP Retrieving resting unlock: 0
default 12:24:11.186920 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Setting deactivation reasons to: 'systemAnimation' for reason: scene settings update - settings are eligible for deactivation reasons.
default 12:24:11.187551 -0700 assertiond [WeatherCat RCP:16136] workspaceConnectedWithTaskPortRight: received task port
default 12:24:11.188838 -0700 SpringBoard [FBSystemServiceServer] Client WeatherCat RCP:16136 connected to service com.apple.frontboardservices.system-app-proxy
default 12:24:11.201733 -0700 SpringBoard Application process state changed for com.poohbah.WeatherCatRCP: <SBApplicationProcessState: 0x1d5429060; pid: 16136; taskState: Running; visibility: Unknown>
default 12:24:11.257599 -0700 symptomsd Entry, display name com.poohbah.WeatherCatRCP uuid A3E2BB99-F407-3440-8CED-7D6800284E5A pid 16136 isFront 1
default 12:24:11.259561 -0700 symptomsd Continue with bundle name com.poohbah.WeatherCatRCP, is front 1
default 12:24:11.259876 -0700 symptomsd com.poohbah.WeatherCatRCP: Foreground: true
default 12:24:11.264179 -0700 mediaserverd -CMSessionMgr- CMSessionMgrHandleApplicationStateChange: CMSession: Client com.poohbah.WeatherCatRCP with pid '16136' is now Foreground Running. Background entitlement: NO
default 12:24:11.269735 -0700 WeatherCat RCP [FBDisplayManager=0x1d0047770] silently connecting <FBSDisplayConfiguration: 0x1d0177100; Main; mode: "375x812@3x 60Hz p3 SDR"> {
    CADisplay.name = LCD;
    CADisplay.deviceName = primary;
    CADisplay.seed = 2;
    tags = 0;
    currentMode = <FBSDisplayMode: 0x1d00964e0; 375x812@3x (1125x2436/3) 60Hz p3 SDR>;
    safeOverscanRatio = {0.89999997615814209, 0.89999997615814209};
    nativeCenter = {562.5, 1218};
    pixelSize = {1125, 2436};
    bounds = {{0, 0}, {375, 812}};
    CADisplay = <CADisplay:LCD primary>;
}
default 12:24:11.272889 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Sending scene action [Logical Activate] through WorkspaceServer: 0x1d1488610
default 12:24:11.273741 -0700 assertiond [SpringBoard:12928] Attempting to acquire assertion for WeatherCat RCP:16136: <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277>
default 12:24:11.273965 -0700 assertiond [WeatherCat RCP:16136] Add assertion: <BKProcessAssertion: 0x1025467d0; id: 12928-F0E0D4B1-BC7E-4E58-AB15-95E742BDB277; name: Resume; state: active; reason: activation; duration: infs> {
    owner = <BSProcessHandle: 0x10241cce0; SpringBoard:12928; valid: YES>;
    flags = preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, preventSuspendOnSleep;
}
default 12:24:11.274038 -0700 assertiond [WeatherCat RCP:16136] Activate assertion: <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277>
default 12:24:11.274245 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:2 (CPUMON check): {
    <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9> [active]
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
}
default 12:24:11.274772 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Sending scene action [SceneLifecycleEventOnly] through WorkspaceServer: 0x1d1488610
default 12:24:11.275952 -0700 assertiond [SpringBoard:12928] Attempting to acquire assertion for WeatherCat RCP:16136: <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B>
default 12:24:11.276305 -0700 assertiond [WeatherCat RCP:16136] Add assertion: <BKProcessAssertion: 0x102156540; id: 12928-C0CB4165-1CB0-4925-89BA-853275F1D10B; name: "Deliver Message"; state: active; reason: suspend; duration: 10.0s> {
    owner = <BSProcessHandle: 0x10241cce0; SpringBoard:12928; valid: YES>;
    flags = preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, preventSuspendOnSleep;
}
default 12:24:11.276393 -0700 assertiond [WeatherCat RCP:16136] Activate assertion: <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B>
default 12:24:11.276549 -0700 assertiond [WeatherCat RCP:16136] Setting jetsam priority to 10 [0x10300]
default 12:24:11.276838 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9> [active]
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
    <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B> [active]
}
default 12:24:11.278843 -0700 assertiond [WeatherCat RCP:16136] Deactivate assertion: <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9>
default 12:24:11.278896 -0700 SpringBoard Application process state changed for com.poohbah.WeatherCatRCP: <SBApplicationProcessState: 0x1d34236e0; pid: 16136; taskState: Running; visibility: Foreground>
default 12:24:11.279031 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (deactivateAssertion): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
    <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B> [active]
}
default 12:24:11.279262 -0700 assertiond [WeatherCat RCP:16136] Scheduling allow-idle-sleep timer with interval: 180.0
default 12:24:11.279500 -0700 assertiond [WeatherCat RCP:16136] New process assertion state; preventSuspend, preventThrottleDownUI, preventThrottleDownCPU, preventSuspendOnSleep (assertion 0x10263f4f0 added: (none); removed: wantsForegroundResourcePriority)
default 12:24:11.279816 -0700 SpringBoard Application process state changed for com.poohbah.WeatherCatRCP: <SBApplicationProcessState: 0x1d2a30940; pid: 16136; taskState: Running; visibility: Foreground>
default 12:24:11.279892 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
    <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B> [active]
}
default 12:24:11.280397 -0700 assertiond [WeatherCat RCP:16136] Remove assertion: <BKProcessAssertion: 0x10263f4f0; "UIApplicationLaunch" (activation:inf); id:868576EAB7F9>
default 12:24:11.280574 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
    <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B> [active]
}
default 12:24:11.481644 -0700 backboardd Was notified gax client did load: com.poohbah.WeatherCatRCP. pid:16136 send right name: 118b27
default 12:24:11.481692 -0700 backboardd The pid sent from loaded client:(com.poohbah.WeatherCatRCP: PID:16136) does not match the pid we are managing: (16134). This is expected if the app crashed.
default 12:24:11.481743 -0700 backboardd The GAXClientLoaded flag was already set. Something is out of sync. AXApp<0x100ddba50>: PID:16136 BundleID:com.poohbah.WeatherCatRCP Primary:1 FullScrModal:0. GAX Client loaded: 1
default 12:24:11.520540 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Setting deactivation reasons to: '(none)' for reason: updateAllScenesForBand - Assertion removed.
default 12:24:11.521819 -0700 SpringBoard [com.poohbah.WeatherCatRCP] Sending scene action [SceneLifecycleEventOnly] through WorkspaceServer: 0x1d1488610
default 12:24:11.562239 -0700 backboardd Was notified that client did become active. ID:com.poohbah.WeatherCatRCP PID:16136
default 12:24:11.563020 -0700 assertiond [WeatherCat RCP:16136] Deactivate assertion: <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B>
default 12:24:11.563193 -0700 backboardd Session app is (null). Effective app is com.poohbah.WeatherCatRCP.
default 12:24:11.563297 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (deactivateAssertion): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
}
default 12:24:11.563471 -0700 assertiond [WeatherCat RCP:16136] Setting jetsam priority to 10 [0x10100]
default 12:24:11.563519 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
}
default 12:24:11.563922 -0700 assertiond [WeatherCat RCP:16136] Remove assertion: <BKProcessAssertion: 0x102156540; "Deliver Message" (suspend:10s); id:853275F1D10B>
default 12:24:11.564060 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
}
default 12:24:11.638967 -0700 WeatherCat RCP -[PbChannelVC verificationFailedOnPreviousAttempt:]: unrecognized selector sent to instance 0x107a3a0d0
default 12:24:11.639049 -0700 WeatherCat RCP *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PbChannelVC verificationFailedOnPreviousAttempt:]: unrecognized selector sent to instance 0x107a3a0d0'
*** First throw call stack:
(0x18129ed8c 0x1804585ec 0x1812ac098 0x18b352de4 0x1812a42d4 0x18118a41c 0x104e7bff8 0x104e685d4 0x181ceb3d4 0x181247aa8 0x18124776c 0x181247010 0x181244b60 0x181164da8 0x183147020 0x18b14578c 0x104e772cc 0x180bf5fc0)
default 12:24:11.639175 -0700 backboardd Was notified gax client did become invalid: com.poohbah.WeatherCatRCP. send right name: 118b27
default 12:24:11.724730 -0700 ReportCrash Formulating report for corpse[16136] WeatherCat RCP
default 12:24:11.781619 -0700 ReportCrash Saved type '109(<private>)' report (9 of max 25) at /var/mobile/Library/Logs/CrashReporter/WeatherCat RCP-2018-05-06-122411.ips
default 12:24:11.783516 -0700 SpringBoard Front display did change: <SBApplication: 0x1d09c1ef0; com.poohbah.WeatherCatRCP>
default 12:24:11.979494 -0700 assertiond [WeatherCat RCP:16136] Port death watcher fired.
default 12:24:11.982853 -0700 assertiond Process exited: <BKProcess: 0x102627390; WeatherCat RCP; com.poohbah.WeatherCatRCP; pid: 16136; agency: Application; visibility: foreground; task: none; hostpid: 12928>
default 12:24:11.983121 -0700 assertiond [WeatherCat RCP:16136] Invalidating...
default 12:24:11.983422 -0700 assertiond [WeatherCat RCP:16136] dump all assertions HWM:3 (CPUMON check): {
    <BKProcessAssertion: 0x1025467d0; "Resume" (activation:inf); id:95E742BDB277> [active]
}
default 12:24:11.984174 -0700 assertiond [WeatherCat RCP:16136] Ignoring assertion remove, because we are terminated or pending termination
default 12:24:12.094699 -0700 assertiond [WeatherCat RCP:16136] Got exit context: <BKSProcessExitContext: 0x102514400; reason: (none)>
default 12:24:12.100164 -0700 SpringBoard <FBApplicationProcess: 0x123e74f10; WeatherCat RCP (com.poohbah.WeatherCatRCP); pid: 16136> exited.
default 12:24:12.100620 -0700 SpringBoard [FBProcessManager] Removing: <FBApplicationProcess: 0x123e74f10; WeatherCat RCP (com.poohbah.WeatherCatRCP); pid: 16136>
default 12:24:12.101140 -0700 SpringBoard Process exited: <FBApplicationProcess: 0x123e74f10; WeatherCat RCP (com.poohbah.WeatherCatRCP); pid: -1> -> <FBApplicationProcessExitContext: 0x1c4a526c0; exitReason: (none); terminationReason: (none)> {
    stateAtExit = <FBProcessState: 0x1c4628020; pid: 16136; taskState: Not Running; visibility: Unknown>;
}
default 12:24:12.101475 -0700 SpringBoard Application process state changed for com.poohbah.WeatherCatRCP: (null)
default 12:24:12.102045 -0700 assertiond [WeatherCat RCP:16136] Terminating because the job-submitter has disconnected.
default 12:24:12.102161 -0700 assertiond Deleted job with label: UIKitApplication:com.poohbah.WeatherCatRCP[0xf0ee][8709]
default 12:24:12.102277 -0700 assertiond [WeatherCat RCP:16136] Deleted launchd job with label: UIKitApplication:com.poohbah.WeatherCatRCP[0xf0ee][8709]
default 12:24:12.102392 -0700 assertiond [WeatherCat RCP:16136] Invalidation complete.
default 12:24:12.102583 -0700 assertiond Checking for deferred bootstrap request for com.poohbah.WeatherCatRCP
default 12:24:12.108170 -0700 assertiond [WeatherCat RCP:16136] Removing client: <BKProcessInfoServerClient: 0x10231b650; pid: 12928>
default 12:24:12.114145 -0700 assertiond [WeatherCat RCP:16136] No clients remain.
default 12:24:12.126535 -0700 symptomsd 16136 com.poohbah.WeatherCatRCP: Terminated (most elevated: Terminated)
default 12:24:12.127620 -0700 mediaserverd -CMSessionMgr- CMSessionMgrHandleApplicationStateChange: CMSession: Client com.poohbah.WeatherCatRCP with pid '16136' is now Terminated. Background entitlement: NO
default 12:24:12.128612 -0700 SpringBoard WIFI PICKER [com.poohbah.WeatherCatRCP]: isProcessLaunch: 0,    isForegroundActivation: 0,     isForegroundDeactivation: 1
default 12:24:12.136408 -0700 symptomsd Entry, display name com.poohbah.WeatherCatRCP uuid (null) pid 16136 isFront 0
default 12:24:12.139127 -0700 symptomsd Continue with bundle name com.poohbah.WeatherCatRCP, is front 0
default 12:24:12.139178 -0700 symptomsd com.poohbah.WeatherCatRCP: Foreground: false


Xipper

  • Gentle Breeze
  • **
  • Posts: 26
    • EW1914
    • KORPORTL202
  • Station Details: Davis Vantage Pro
Re: WeatherCatRCP 1.0 crash bug on invalid server
« Reply #1 on: May 06, 2018, 08:45:03 PM »
Apparently there is a limit to how much text can be included in a single post, even when in a code block?  Forum bug?

WeatherCatRCP app analytics from extracted the iOS device attached.

I deleted the app and re-installed and now it is fine...the "fix" to the firewall had been applied before deleting it, nothing was changed after deleting the app until the app was re-installed and started to function fine.  It appears that if you close the app while the server is "invalid" and have that server selected that the app crashes on opening.  The issue here was that the firewall was not permitting the TCP port to connect from the "outside".

The Grand Poohbah

  • Moderator
  • Strong Breeze
  • *****
  • Posts: 219
  • Developer of WeatherCat for iOS, tvOS, and watchOS
    • EW6355 KCANEVAD43
    • Hopeful Hill Ranch
  • Station Details: Vantage Pro 2, aspirated, solar radiation, uv, soil temp and moisture
Re: WeatherCatRCP 1.0 crash bug on invalid server
« Reply #2 on: May 06, 2018, 10:48:59 PM »
Quote
It appears that if you close the app while the server is "invalid" and have that server selected that the app crashes on opening.

This is one of the most concise bug reports I've seen in a long time. Thank you.