-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle timing-out Simulator/Devices #84
Comments
Hi @valeriomazzeo, sorry for the late response, I was on vacation. I personally don't test on iOS Simulators (only on real devices), so I haven't seen this problem. Do you know what the exact Xcode Server status is when this happens? |
This is strange, I looked at the code and as you can see, the integration state must have been 'success', 'warnings' or 'analyzer warnings', because you got this kind of a GitHub comment from Buildasaur. Please provide more info, this looks like a weird bug either in Buildasaur or in Xcode Server 👍 |
Interesting. What would be very useful to me would be if you could just go to Downloading and parsing the output would also be possible, but it'd be a lot of work + hacky "solution", so I'd like to avoid that if possible. Feel free to DM me a Dropbox link or something: czechboy0 |
this is interesting, the json file is very big 5+ MB but this is the part regarding the screenshot I posted previously:
So, the timeout error is definitely on Xcode server / xcodebuild, but maybe there is something also in buildasaur! |
Hmm yeah, I see what the problem is. Since you're testing on multiple simulators and two of them tested just fine, the third one (the one that never ran), doesn't affect the Before we go any further, are you using Xcode Server with Xcode 6 or 7? |
Xcode 6. I think there are two things going on here:
Because it looks like buildasaur it's reading the report only of the first device, but that won't all the time be correct (assuming that multiple report are available). |
Ok - first thing: I'm focusing all my time now to getting onto Xcode 7's API so that new Buildasaur is ready when it comes out this fall. This is not to say I won't fix bugs in the older Buildasaur versions, just that major changes will require you to move to Xcode 7 at some point, maybe even before its stable release. But this issue I think exists the same way in both Xcode 6 and 7.
This way of reporting is actually a great idea! I'll create a new ticket just for investigating how much work that would be, but I would actually like that level of detail as well. |
My concern is that the same happen with a bot that tests only on 1 simulator at the time. Therefore, only adding a more detailed report won't help because in that case it won't make any difference. |
Yup, that's correct. The detailed report was not to fix this issues, which is an Xcode Server bug, just to make results a bit more informative. What would really help me is to get that response from |
Do you mean the whole version of what I pasted above or is another endpoint? |
Yeah the whole output of the above, so that I could see what it looks like when one simulator fails to launch but the rest runs fine. |
Isn't something you can do configuring the builadsaur project to test on more than one simulator? I'll see what I can do about stripping personal information from that log file so I can send it to you. |
Yes, you can. When editing a Build Template, you select an iOS scheme and then |
I meant, you in the sense that you can replicate it on your server. Looking at the logs, it doesn't seem there is a summary for device available.
if you look inside each test, those are the |
Yeah I might need to do some processing myself. But that's fine as long as everything is included in the Cool, thanks. I'll look into it. |
👍 |
To get back to the original topic, would it be possible to add an option to check that log for errors and launch another integration? This happens also when testing on a single device and in this case adding more information about the device being tested won't solve the problem. |
I am worried about continuously starting new integrations. I'm not saying I won't do it, just sharing my reservations about trying to fix the bugs of Xcode Server by just running it again. Also, downloading the log and parsing it would be pretty slow. Again, doable, I just want to make sure there is no other way to recognize this case and react appropriately. |
There might be a way to detect this (possibly). In this timing-out case, this seems to be true: I'm just noting this down here, so that we can go back and try to figure out logic to detect the case without false positives. One thing to consider, however, is if you mark the bot as testable on a couple of devices/simulators, but your test target doesn't actually have any tests. Then we might get into an infinite re-integrating loop. |
Hi @czechboy0, is there any progress on this? Is there anything I can help you with? |
Hey @valeriomazzeo, sorry, no, I haven't had time to do this yet. Feel free to send a PR with a fix if you can come up with something based on the conversation we had above. |
Hi @valeriomazzeo, it's been a while. Could you please update to the latest Xcode 7, OS X Server 5 and Buildasaur 0.4.0 and try whether this is still happening? It's a known issue in |
We changed project structure and we didn't encounter this issue anymore to be honest after that. |
Okay, let's close this for now and feel free to reopen it if you see it again. Thanks! |
Certain times Xcode server failed to start the simulator with the following error:
When that happen the bot show
Unknown Status
and doesn't mark the build as failed.Buildasaur comment then says:
and make the build pass.
It would be super awesome if buildasaur could detect the above error in the logs, flag the build as failed and start a new integration, that in most of the cases fixes the problem.
The text was updated successfully, but these errors were encountered: