Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Similar to #3411, when debugging on an iOS device, the debugger attaches fine, but it will timeout in about a minute if you don not continue the app execution.
This also happens on Android.
Latest Xamarin Studio with the latest Android/iOS library extensions.
Can you get the device log (Xamarin Studio's menu -> View -> Pads -> iOS Device Log) and any crash reports from Xcode's Organizer?
And exactly what do you have to do for this to happen? Is it just a matter of hitting a breakpoint and wait for a minute?
All I tried to do was launch the debugger on the device (Start Debugging with iOS Device target). Hit a breakpoint. Then I look at local variables, hover over variables looking at the popup window of its value. In about a minute, the debugger disconnects. If I shamrock-enter, then the debugger stays connected until the next breakpoint, then the clock resets and I have another minute to look at local variables ...
On Android, the timeout is a few seconds from what the MonoGame team has reported. Others on the team report that something similar happens on Ouya.
I can't reproduce this. Jeff, can you?
If your AppDelegate's FinishedLaunching() method is anywhere in the stack when your breakpoint is hit, the OS will kill your app after a short period of time.
I suspect that this is the issue you are hitting.
I'll give it try later. That sounds likely since most of our debugging is done during the launch of the game.
This comes up fairly frequently so it's probably worth adding a warning at some point. Maybe whenever the app stops we could scan main thread's thread stacks for the FinishedLaunching frame, and show a warning.
I ran the app this time, and paused it in a place where it was hung up. Looking at code then boink! the debugger stops.
pr 2 10:14:45 the-precious-II SpringBoard <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=0
Apr 2 10:14:45 the-precious-II SpringBoard <Notice>: MultitouchHID: detection mode: 0->255
Apr 2 10:14:46 the-precious-II UserEventAgent <Warning>: DEBUG: Changing screen blanked state: 1
Apr 2 10:14:57 the-precious-II SpringBoard <Warning>: cocos2dtests has active assertions beyond permitted time:
<SBProcessAssertion: 0x493b30> identifier: Suspending process: cocos2dtests permittedBackgroundDuration: 10.000000 reason: suspend owner pid:52 preventSuspend preventThrottleDownCPU preventThrottleDownUI
Apr 2 10:14:57 the-precious-II SpringBoard <Warning>: Forcing crash report of cocos2dtests...
Apr 2 10:14:59 the-precious-II SpringBoard <Warning>: Finished crash reporting.
Apr 2 10:14:59 the-precious-II com.apple.launchd (UIKitApplication:cocos2d.tests[0x84c0]) <Notice>: (UIKitApplication:cocos2d.tests[0x84c0]) Exited: Killed: 9
Apr 2 10:14:59 the-precious-II SpringBoard <Warning>: Application 'tests' exited abnormally with signal 9: Killed: 9
something killed your app with a SIGKILL, probably the OS?
That's the only thing that I can think of. It's like the OS thinks it's "halted" and kills it rather than letting the debugger continue.
is AppDelegate.FinishedLaunching() in the stack? If so, that's probably why (that method has to return within 17 seconds or the OS will kill the app)
no it is not. This is after the game has launched and I just press the pause button.
Where are you putting the breakpoint? Do you have a small repro case we could try?
small - no. breakpoint - nowhere, I am just pausing (click pause).
This is using the cocos2d-xna project from github. We have a test project up there and just running the test app in the debugger and pausing it after launch will give me this error.
This might be useful info:
Apr 10 16:29:26 kernel <Debug>: ALS: AppleARMBacklight::handleMessageGated - framebufferState -> 0
Apr 10 16:29:37 backboardd <Warning>: cocos2dtests has active assertions beyond permitted time:
<BKProcessAssertion: 0x210a5d60> identifier: Suspending process: cocos2dtests permittedBackgroundDuration: 10.000000 reason: suspend owner pid:27 preventSuspend preventThrottleDownCPU preventThrottleDownUI
Apr 10 16:29:37 backboardd <Warning>: Forcing crash report of cocos2dtests...
Apr 10 16:29:38 backboardd <Warning>: Finished crash reporting.
It might be that the OS is killing the app because the doTick callback for your CADisplayLink took too long to return.
Did you ever figure out if the CADisplayLink callback timing out was the cause?
I did not, but it was the most likely cause of the problem.