【问题标题】:Qt app crashes on every message boxQt 应用程序在每个消息框上崩溃
【发布时间】:2014-02-12 17:40:48
【问题描述】:

自从在 Maverick 上升级后,我的 Qt 应用程序出现了一个奇怪的问题 当在 QWebView 上的 javascript 中执行 alert() 或 confirm() 时,关闭简单的 Qmessagebox 或事件时,它们都会崩溃..

所以即使是 javascript 也让应用程序崩溃,我认为这不是错误的 c++ 代码?

我不知道从哪里开始,尝试什么。 我使用预编译的 Qt 5.2.0 编译,而我自己编译的结果相同...

这是 Mac OSX 上的崩溃日志:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   QtWidgets                       0x0000000100e963a1 QWidget::mapFromGlobal(QPoint const&) const + 49
1   QtWidgets                       0x0000000100e9ae56 QWidgetWindow::handleTabletEvent(QTabletEvent*) + 598
2   QtWidgets                       0x0000000100e9878d QWidgetWindow::event(QEvent*) + 509
3   QtWidgets                       0x0000000100e433bc QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
4   QtWidgets                       0x0000000100e45ef0 QApplication::notify(QObject*, QEvent*) + 6224
5   QtCore                          0x00000001008dbbc2 QCoreApplication::notifyInternal(QObject*, QEvent*) + 114
6   QtGui                           0x000000010025e0df QGuiApplicationPrivate::processTabletEvent(QWindowSystemInterfacePrivate::TabletEvent*) + 911
7   QtGui                           0x0000000100259fd0 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 944
8   QtGui                           0x0000000100249a68 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 56
9   libqcocoa.dylib                 0x0000000108b59a17 QCocoaEventDispatcherPrivate::processPostedEvents() + 295
10  libqcocoa.dylib                 0x0000000108b5a4f8 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 40
11  com.apple.CoreFoundation        0x00007fff960c58f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
12  com.apple.CoreFoundation        0x00007fff960b7062 __CFRunLoopDoSources0 + 242
13  com.apple.CoreFoundation        0x00007fff960b67ef __CFRunLoopRun + 831
14  com.apple.CoreFoundation        0x00007fff960b6275 CFRunLoopRunSpecific + 309
15  com.apple.HIToolbox             0x00007fff89e53f0d RunCurrentEventLoopInMode + 226
16  com.apple.HIToolbox             0x00007fff89e53b85 ReceiveNextEventCommon + 173
17  com.apple.HIToolbox             0x00007fff89e53abc _BlockUntilNextEventMatchingListInModeWithFilter + 65
18  com.apple.AppKit                0x00007fff944f728e _DPSNextEvent + 1434
19  com.apple.AppKit                0x00007fff944f68db -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
20  com.apple.AppKit                0x00007fff944ea9cc -[NSApplication run] + 553
21  libqcocoa.dylib                 0x0000000108b592a7 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2391
22  QtCore                          0x00000001008d905d QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 397
23  QtCore                          0x00000001008dc162 QCoreApplication::exec() + 354
24  @BUNDLEIDENTIFIER@              0x0000000100006d22 main + 130
25  @BUNDLEIDENTIFIER@              0x0000000100006c94 start + 52

有趣的是,我不知道这是否相关,但是... Qt Creatorr 的行为方式相同。当有一个对话框(如首选项)并返回主框架时,它会崩溃。

这与某种“重新聚焦”有关吗?

【问题讨论】:

  • 尝试重启。从发布后的第 7 天开始,我就一直在小牛队,从来没有遇到过这样的问题。这可能是特定于安装 OS X 的特定架构的 Qt 错误 - 诚然,我只运行 6 年的 Core 2 硬件。
  • 你有一个简单的测试用例吗?然后我会在 Qt 的 JIRA 中报告它。
  • @KubaOber 我在 macpro 2009 8core 上尝试了几次(在不同的磁盘上有 10.6 和 10.9)但没有成功
  • @FrankOsterfeld 你的意思是某种编译的应用程序示例?
  • Vincent Duprez:是的,一个可以编译并为您重现问题的简单示例。

标签: c++ macos qt osx-mavericks


【解决方案1】:

好的,我想通了,这是 Wacom 附加平板电脑输入的已知错误...

https://bugreports.qt-project.org/browse/QTBUG-35984

没有解决方案(还)...

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 1970-01-01
    • 2017-01-15
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多