Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Kiwi test suite hangs indefinitely in KWSymbolicator while waiting for /usr/bin/atos #596

Closed
sharplet opened this issue Feb 10, 2015 · 4 comments
Labels

Comments

@sharplet
Copy link
Contributor

Xcode 6.1.1, OS X 10.10.2

I noticed that the tests seemed to be taking a long time to start up on my machine, and when I paused in the debugger the test suite was stuck waiting for the NSTask calling out to /usr/bin/atos to complete.

If I run the command directly via the shell it completes and prints the expected output, so maybe this is something to do with the use of NSTask when running in the iOS Simulator? The tests run fine against Mac OS X.

If you happen to have any thoughts on this @jerrymarino, I'd appreciate it!

@sharplet sharplet changed the title Kiwi tests hang indefinitely in KWSymbolicator while waiting for /usr/bin/atos Kiwi test suite hang indefinitely in KWSymbolicator while waiting for /usr/bin/atos Feb 10, 2015
@sharplet sharplet changed the title Kiwi test suite hang indefinitely in KWSymbolicator while waiting for /usr/bin/atos Kiwi test suite hangs indefinitely in KWSymbolicator while waiting for /usr/bin/atos Feb 10, 2015
@jerrymarino
Copy link
Contributor

Hey @sharplet, it looks like Yosemite has changed a few things around symbolication and making calls to atos.

The feature uses atos to find the physical line of a given call site so it can filter nodes based on the user specified KW_SPEC environment variable.

I tested it out in Yosemite it it seems to deadlock. However, I can successfully symbolicate with atos for a given process id if I invoke atos via external shell which is a good sign. I've got a few ideas of how to fix this in Yosemite and will have bandwidth to dig into it this weekend or next.

I know focused tests are important: when working with a decent sized test suite it's a huge time saver. I hear from many people the Xcode plugin is helpful and needs Yosemite & Xcode6 support.

From what I remember, it can get laggy when dealing with a large KWSpecs. I have a good idea of how to get constant time performance on the calls to atos (i.e. O(1) symbolications :) )

It might be the right call to disable the feature for 10.0 until we have a fix.

@jerrymarino
Copy link
Contributor

Hey @sharplet I tested the fix out in 10.10.2. Xcode 6.1.1 and it seemed to work well.

From my empirical testing, it seems that in the latest versions of OSX & Xcode it's not possible to run atos from the simulator with the pid. It just hangs. I tested the command out in an external shell and it still worked. The workaround is to just use the executable path instead of the pid (via the -o argument).

I think launching the task in the background and setting a timeout is more user friendly than just waiting indefinitely for it to exit ala -[NSTask waitUntilExit]. If atos doesn't work in the future (times out, doesn't launch, or fails) the error messages should be somewhat helpful. 🍻

@ecaselles
Copy link
Member

@jerrymarino 👏

@sharplet
Copy link
Contributor Author

Fixed in #597.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants