Macos Mac OS 10.9上的QMetaObject::changeGuard崩溃

Macos Mac OS 10.9上的QMetaObject::changeGuard崩溃,macos,qt,crash,osx-mavericks,Macos,Qt,Crash,Osx Mavericks,我的一个客户在MacOS10.9(Mavericks)上的Qt4.8.5应用程序中遇到以下崩溃。因为我有点卡住了,无法复制它:这里有人有什么提示吗 以下是调用堆栈: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 QtCore 0x000000010177adfd QMetaObject::changeGuard(QObject**, QObject*) + 509

我的一个客户在MacOS10.9(Mavericks)上的Qt4.8.5应用程序中遇到以下崩溃。因为我有点卡住了,无法复制它:这里有人有什么提示吗

以下是调用堆栈:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   QtCore                             0x000000010177adfd QMetaObject::changeGuard(QObject**, QObject*) + 509
1   QtGui                              0x000000010197d716 QCursor::handle() const + 566
2   QtGui                              0x00000001019a5638 QMacCocoaAutoReleasePool::~QMacCocoaAutoReleasePool() + 18632
3   QtGui                              0x000000010199a814 QMacInputContext::reset() + 24884
4   com.apple.AppKit                   0x00007fff92775a62 -[NSApplication sendEvent:] + 2819
5   QtGui                              0x000000010199f814 QMacInputContext::reset() + 45364
6   com.apple.AppKit                   0x00007fff925c5a29 -[NSApplication run] + 646
7   QtGui                              0x00000001019aa680 QDesktopWidget::resizeEvent(QResizeEvent*) + 13040
8   QtCore                             0x0000000101762af4 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
9   QtCore                             0x0000000101762ea4 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 324
10  QtCore                             0x000000010176558c QCoreApplication::exec() + 188
线程0崩溃::调度队列:com.apple.main-Thread
0 QtCore 0x000000010177adfd QMetaObject::changeGuard(QObject**,QObject*)+509
1 QtGui 0x000000010197d716 QCursor::handle()常量+566
2 QtGui 0x00000001019a5638 QMacCocoaAutoReleasePool::~QMacCocoaAutoReleasePool()+18632
3 QtGui 0x000000010199a814 QMacInputContext::reset()+24884
4 com.apple.AppKit 0x00007fff92775a62-[NSApplication sendEvent:+2819
5 QtGui 0x000000010199f814 QMacInputContext::reset()+45364
6 com.apple.AppKit 0x00007fff925c5a29-[n应用程序运行]+646
7 QtGui 0x00000001019aa680 QDesktopWidget::resizeEvent(QResizeEvent*)+13040
8 QtCore 0x0000000101762af4 QEventLoop::processEvents(QFlags)+68
9 QtCore 0x0000000101762ea4 QEventLoop::exec(QFlags)+324
10 QtCore 0x000000010176558c QCoreApplication::exec()+188

根据客户的说法,崩溃不会发生在特定的操作上,而是在使用应用程序时发生。

注意,在调用堆栈上,您有
QDesktopWidget::resizeEvent(QResizeEvent*)
通过事件循环直接调用。若您阅读了的功能,那个么测试场景应该和您的应用程序并没有直接关系

尝试与更改桌面大小相关的操作,最大化某些应用程序(您不需要)更改桌面,最小化/最大化某些应用程序,尝试多个监视器,在监视器之间移动应用程序,尝试更改屏幕分辨率,等等

比较OSX版本、您的和客户端。最近苹果做了一些多显示器支持的事情。

我在谷歌上搜索了一下,发现一个提示10.9.1可能会解决这个问题的东西。关于这段恋情有很多话题,所以也许你会发现一些对你有用的东西。

我设法找到了一些问题。它发生在我的应用程序中特定的多选情况下,调整计时器值可以绕过崩溃


我仍然不知道它为什么会在那个特定的位置崩溃,但可能是我的应用程序导致了这个问题。无论如何,我只是想知道,可能与其他人无关。

崩溃发生在10.9.1系统上,很抱歉没有提及这一点。我将测试调整大小。你能发布关于这次崩溃的其他信息吗(你在谷歌上找到的)?我没有找到一个完全相同的。我用的是谢谢。Google确实在callstack中显示了几个resize事件的崩溃,但不幸的是,没有一个事件的结局与我的一样(在QMetaObject::changeGuard中崩溃)。因此,它们似乎是不同的。