MantisBT - CMake |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0013996 | CMake | QtDialog | public | 2013-03-09 13:10 | 2013-10-07 10:04 |
|
Reporter | Andrea Scarpino | |
Assigned To | Stephen Kelly | |
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | Linux | OS | Arch Linux | OS Version | |
Product Version | CMake 2.8.10.2 | |
Target Version | CMake 2.8.11 | Fixed in Version | CMake 2.8.11 | |
|
Summary | 0013996: cmake-gui needs to work around Qt 5.0.0-5.0.2 bug to avoid freezing |
Description | If you build cmake upon Qt5, the second time you click on the "Configure" button in the cmake-gui app, the system freezes. After a bit, the kernel kills cmake-gui.
% cmake-gui
Cannot create accessible interface for object: QHeaderView(0x1c12da0)
Cannot create accessible interface for object: QCMakeCacheView(0x1c0e940, name = "CacheValues")
Cannot create accessible interface for object: QCMakeCacheView(0x1c0e940, name = "CacheValues")
Cannot create accessible interface for object: QCMakeCacheView(0x1c0e940, name = "CacheValues")
Cannot create accessible interface for object: QComboBoxListView(0x1bceab0)
Cannot create accessible interface for object: QComboBoxListView(0x1bceab0)
[1] 25843 killed cmake-gui
Ask if you need more info.
|
Steps To Reproduce | Build cmake using Qt5.
Create a new build dir and run cmake-gui, configure the project.
Configure the project again: the system freezes. |
Additional Information | cmake 2.8.10.2
qt 5.0.1 |
Tags | No tags attached. |
Relationships | |
Attached Files | arch-qt5.patch (931) 2013-03-09 19:14 https://public.kitware.com/Bug/file/4675/arch-qt5.patch |
|
Issue History |
Date Modified | Username | Field | Change |
2013-03-09 13:10 | Andrea Scarpino | New Issue | |
2013-03-09 19:14 | Bart Janssens 2 | File Added: arch-qt5.patch | |
2013-03-09 19:17 | Bart Janssens 2 | Note Added: 0032563 | |
2013-03-11 05:44 | Stephen Kelly | Note Added: 0032566 | |
2013-03-11 05:48 | Stephen Kelly | Note Added: 0032567 | |
2013-03-11 10:10 | Brad King | Note Added: 0032574 | |
2013-03-11 10:54 | Stephen Kelly | Note Added: 0032575 | |
2013-03-11 11:24 | Brad King | Assigned To | => Clinton Stimpson |
2013-03-11 11:24 | Brad King | Status | new => assigned |
2013-03-11 17:21 | Bart Janssens 2 | Note Added: 0032586 | |
2013-03-12 06:36 | Stephen Kelly | Note Added: 0032588 | |
2013-03-12 18:22 | Bart Janssens 2 | Note Added: 0032595 | |
2013-03-12 18:46 | Brad King | Note Added: 0032597 | |
2013-03-13 13:35 | Brad King | Assigned To | Clinton Stimpson => Stephen Kelly |
2013-03-13 13:35 | Brad King | Status | assigned => resolved |
2013-03-13 13:35 | Brad King | Resolution | open => fixed |
2013-03-13 13:35 | Brad King | Fixed in Version | => CMake 2.8.11 |
2013-03-13 13:35 | Brad King | Target Version | => CMake 2.8.11 |
2013-03-13 13:35 | Brad King | Summary | cmake-gui freezes if built with Qt5 => cmake-gui needs to work around Qt 5.0.0-5.0.2 bug to avoid freezing |
2013-10-07 10:04 | Robert Maynard | Note Added: 0034002 | |
2013-10-07 10:04 | Robert Maynard | Status | resolved => closed |
Notes |
|
(0032563)
|
Bart Janssens 2
|
2013-03-09 19:17
|
|
Confirmed also using latest from git. Attached is a patch that *seems* to solve it, apparently the loop goes beyond the maximum number of rows. No idea why this only happens in QT5. |
|
|
(0032566)
|
Stephen Kelly
|
2013-03-11 05:44
|
|
I can't reproduce this with the latest from the qtbase stable branch. |
|
|
(0032567)
|
Stephen Kelly
|
2013-03-11 05:48
|
|
Presumably f136701bc50b63b90281856c2ab5953a40f4b868 in qtbase fixes the issue. |
|
|
(0032574)
|
Brad King
|
2013-03-11 10:10
|
|
Even if this is a Qt bug we could still work around it if it is in a Qt release.
Can the proposed patch be applied conditionally with a #if on the version of Qt? |
|
|
(0032575)
|
Stephen Kelly
|
2013-03-11 10:54
|
|
Yes, presumably the patch is needed if Qt is less than 5.0.2 (due out soon), so
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 2)
might do it. |
|
|
(0032586)
|
Bart Janssens 2
|
2013-03-11 17:21
|
|
This was introduced by 9dfba89c28bbff3316cb7aed6c07f90c0f2d5a22, which first appeared in 5.0.0-beta1 |
|
|
(0032588)
|
Stephen Kelly
|
2013-03-12 06:36
|
|
Please try the cmake next branch. I've pushed a fix there. |
|
|
(0032595)
|
Bart Janssens 2
|
2013-03-12 18:22
|
|
This didn't work, I think your patch checks is the index is both beyond the end and before the start at the same time. I modified it like this, and that works:
while(!idxs.isEmpty() && (
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 3)
(idxs.last().row()+1) >= rowCount(idxs.last().parent()) ||
#endif
!idxs.last().sibling(idxs.last().row()+1, 0).isValid())) |
|
|
(0032597)
|
Brad King
|
2013-03-12 18:46
|
|
|
|
(0034002)
|
Robert Maynard
|
2013-10-07 10:04
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|