Skip to content
This repository was archived by the owner on Oct 18, 2021. It is now read-only.
This repository was archived by the owner on Oct 18, 2021. It is now read-only.

Returning from background crashes/deadlocks iOS device (iOS 6) #6

Description

@ghmrs356

When I start a MYNetwork and subsequently stop the network service (code below) and put the iOS app into background, when I reactivate the app, MYNetwork logs a ton of warnings:

WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!

It doesn't seem to matter how long the app was suspended (I tried 1 second, 10 seconds, 20 seconds), when I return I get precisely 1002 such messages logged. After that, I get one new warning logged every second and the application remains unresponsive/deadlocked.

It actually doesn't matter if I shut down the network before the application is suspended, when it returns it bombs/deadlocks. Unfortunately I can't get Xcode to show a call stack with more than 2 lines when debugging on the device, so I can't provide meaningful call stacks.

On the simulator returning from the background works fine.

- (void)startup
{
    if (browser != nil)
        return;

    browser = [[MYBonjourBrowser alloc] initWithServiceType:RUBITRACK_SYNCSERVICE__BONJOUR_SERVICE_TYPE];

    registration = [[browser myRegistration] retain];

    listener = [[BLIPListener alloc] initWithPort:12345];
    [listener setPickAvailablePort:YES];

    [browser addObserver:self forKeyPath:@"services" options:NSKeyValueObservingOptionNew context:kRubiNetworkBrowserServicesChangeContext];

    [browser start];
    [listener setDelegate:self];
    [listener open];

    [registration setPort:[listener port]];
    [registration start];
}

- (void)shutdown
{
    [browser removeObserver:self forKeyPath:@"services"];

    [self setAvailablePeers:nil];

    [connection close];
    [connection release], connection = nil;

    [listener close];
    [listener setDelegate:nil];
    [listener release], listener = nil;

    [registration stop];
    [registration release], registration = nil;

    [browser stop];
    [browser release], browser = nil;

    [exchangableEquipment release], exchangableEquipment = nil;
    [exchangableActivities release], exchangableActivities = nil;
    [peerObjectStatusInformation release], peerObjectStatusInformation = nil;
    [peerExchangableObjects release], peerExchangableObjects = nil;
}

Here's on example log

2013-07-03 19:51:50.316 rubiTrack to Go[25281:907] RubiNetwork: Listening for connection requests: BLIPListener[port 12345]
2013-07-03 19:51:59.515 rubiTrack to Go[25281:907] RubiNetwork: Listener closed BLIPListener[port 12345]
19:52:11.478|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65563 !!!
19:52:11.482|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.483|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.485|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.487|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.489|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.490|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.491|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.493|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.494|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.495|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.495|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.496|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.496|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.497|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.497|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.498|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.499|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
...
[1002 in total]
...
19:52:11.968|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.968|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.969|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.969|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.970|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.970|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.971|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.971|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.972|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.972|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.973|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.973|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:11.974|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:12.975|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
2013-07-03 19:52:12.977 rubiTrack to Go[25281:907] RubiNetwork: Listening for connection requests: BLIPListener[port 12345]
19:52:13.982|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:14.984|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:15.986|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:16.988|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:17.990|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:18.992|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:19.994|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:20.996|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:21.998|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:23.004|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!
19:52:24.017|  WARNING*** : MYDNSConnection[conn=0x1ec89e80]: DNSServiceProcessResult failed, err=-65541 !!!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions