Re: XCode 3.1 frequently hangs
Re: XCode 3.1 frequently hangs
- Subject: Re: XCode 3.1 frequently hangs
- From: Andrew Pontious <email@hidden>
- Date: Wed, 30 Jul 2008 11:56:42 -0700
On Jul 30, 2008, at 3:42 AM, Aaron Burghardt wrote:
Before you uninstall/reinstall, I have another suggestion. Since it
is hanging on an lstat() call, it appears to be an issue that can be
diagnosed at the file system level. Try using fs_usage to determine
the path that is the problem, using my Terminal example below. WIth
fs_usage running, recreate the symptom. When Xcode hangs, go back
to the Terminal window and see what the last file path is. Since
fs_usage is reporting the amount of time spent in the system call, I
expect the lstat() that is causing the hang won't have returned
yet. In that case, the menu command View -> Clear Scrollback will
clear the Terminal window, and when the call does return, it should
be at the top of the Terminal window buffer. The last numeric
column is the time spent in the system call, so that will help
determine which lstat() is the problem.
Also, looking at the backtrace, it appears Xcode is indexing the
file you just edited. Can you comment out any single #include and
affect the symptom?
# Get Xcode's PID
$ ps aux | grep Xcode.app
aburgh 48965 0.0 4.6 774920 191568 ?? S Mon09AM
20:33.92 /Developer/Applications/Xcode.app/Contents/MacOS/Xcode -
psn_0_684199
aburgh 58869 0.0 0.0 599780 468 s005 R+ 6:01AM
0:00.00 grep Xcode.app
# Use the PID to limit fs_usage's output
$ sudo fs_usage -f filesys 48965 | grep lstat
06:08:10 lstat k/System/Library/Frameworks/
IOKit.framework/Versions/A/Headers/usb/IOUSBLib.h 0.000021 Xcode
06:08:10 lstat /Volumes/test/MyProject/usbtest-
Info.plist 0.000015 Xcode
06:08:10 lstat /Volumes/test/
MyProject
0.000004 Xcode
06:08:10 lstat sers/aburgh/Desktop/Another USB
Notification Example/USBNotificationExample.c 0.000010 Xcode
06:08:10 lstat /System/Library/Frameworks/
IOKit.framework/Versions/A/Headers/IOCFPlugIn.h 0.000011 Xcode
06:08:10 lstat /System/Library/Frameworks/
IOKit.framework/Versions/A/Headers/IOReturn.h 0.000009 Xcode
This would just be to tell which file was involved, correct? It's true
that it might tell us something if it's always the same file.
Larry, if you could try this investigation with fs_usage, I would
appreciate it. We've had reports of this issue, but we've never been
able to reproduce it under laboratory conditions.
Please email me directly with your findings.
Also, you don't actually need to uninstall 3.1 and to install 3.0.
Just install 3.0 in a different location, and only install the
relocatable portion, so that the portions of 3.1 in e.g. /usr/bin
don't get overwritten. Those pieces aren't needed during normal Xcode
operations anyway, since Xcode always uses the relocatable versions.
-- Andrew
On Jul 30, 2008, at 12:16 AM, Larry Emdur wrote:
On Tue, Jul 29, 2008 at 1:18 PM, Andrew Pontious
<email@hidden> wrote:
On Jul 26, 2008, at 1:35 PM, Larry Emdur wrote:
The most interesting part of the sample is this:
1070 -[XCInvocationQueue
_processInvocationsInThreadSlotNumber:]
1070 -[XCInvocationQueue
_processNextInvocationInThreadSlotNumber:]
1070 -[NSInvocation invoke]
1070 __invoking___
1070 -[PBXProjectIndex _indexBackground:]
1070 -[PBXDevKitIndexingEngine
indexFileAtAbsolutePath:withSettings:]
1070 ObjcParse::ObjcParse(TokenStream*,
ParseErrorStream*, ObjcActions*, int)
1070 ObjcParse::nextToken()
1070 Cpp::nextToken()
1070 Cpp::nextToken0()
1070 Cpp::header(Token*, TokenType)
1070 Cpp::sysStream(char const*,
TokenType, signed char)
1070
PBXIndexCppActions::getSystemPathForHeader(char const*, char*)
1070 -
[NSString(TSPathUtilities)
PBX_stringByResolvingSymlinksInPath]
1070 -
[NSString(NSPathUtilities)
_stringByResolvingSymlinksInPathUsingCache:]
1070 lstat
1070 lstat
It is 100% reproducible. I never saw this with xcode v3.0.
This code generally hasn't changed between 3.0 and 3.1.
Can you try 3.0 on the same machine with the same projects, and
see if it
reoccurs?
Sure, where can I download 3.0?
Is your source code accessed over a network?
No, it is all local (on a single disk)
Thanks,
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@mac.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden