当Tunnelblick 3.1.1连接时,Xcode总是崩溃

时间:2011-03-25 04:08:27

标签: xcode

如果我在连接Tunnelblick(VPN)之前启动它,Xcode工作正常。但是当我使用Tunnelblick连接启动Xcode时崩溃了。有人有这个问题并找到了解决方案吗?

这是应用崩溃报告:

Application Specific Information:
objc_msgSend() selector name: count
ProductBuildVersion: 4A304a
UNCAUGHT EXCEPTION (NSInvalidArgumentException): -[NSCFArray length]: unrecognized selector sent to instance 0x200d3e540
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff88da9796 __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff838b10f3 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff88e03110 +[NSObject(NSObject) doesNotRecognizeSelector:] (in CoreFoundation)
  3  0x00007fff88d7b91f ___forwarding___ (in CoreFoundation)
  4  0x00007fff88d77a68 _CF_forwarding_prep_0 (in CoreFoundation)
  5  0x00007fff88d09228 CFStringFindWithOptionsAndLocale (in CoreFoundation)
  6  0x00007fff88d091cc CFStringFindWithOptions (in CoreFoundation)
  7  0x00007fff88d091a0 CFStringHasSuffix (in CoreFoundation)
  8  0x00007fff8161f19e +[NSHost currentHost] (in Foundation)
  9  0x0000000118499bf7 -[XCDistributedBuildLocalHost _allocateHost] (in DevToolsCore)
 10  0x0000000118496293 -[_XCDistributedBuildHostInfoTask receivedStdoutObjectInBackground:] (in DevToolsCore)
 11  0x0000000118435ede -[XCPosixTaskBackgroundReaderThread backgroundThread:] (in DevToolsCore)
 12  0x00007fff815cbf29 __NSThread__main__ (in Foundation)
 13  0x00007fff812dd4f6 _pthread_start (in libSystem.B.dylib)
 14  0x00007fff812dd3a9 thread_start (in libSystem.B.dylib)

2 个答案:

答案 0 :(得分:0)

看起来Xcode正试图访问网络上的某些内容,并且当您通过VPN连接到Internet时无法正确处理结果。

对XCDistributedBuildLocalHost的引用可能意味着Xcode正在尝试对分布式构建执行某些操作 - 可能尝试注册为可用的构建工作者,或者可能尝试获取可用构建工作者的列表,或者类似的东西。

您可能想尝试取消选中Xcode的分布式构建首选项(如果已选中)。

顺便说一句,Tunnelblick 3.1.1存在安全漏洞。请参阅2011-01-27 Tunnelblick Vulnerability FAQ

答案 1 :(得分:0)

我在Lexmark打印机驱动程序二进制文件中遇到了类似的崩溃,我在此blog post中对此进行了描述。

我确定根本原因是/etc/resolv.conf的“搜索”参数中列出了多个域名。

您使用Tunnelblick可能遇到此问题的原因是,您的config.ovpn中可能有一个“dhcp-option DOMAIN”行,它指定了多个域。在这种情况下,如果您允许Tunnelblick设置DNS(您发现禁用会“阻止”崩溃),那么NSHost在调用CFString时会出现错误。