View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003129 | Slicer4 | Module Transforms | public | 2013-05-26 18:35 | 2017-06-07 23:27 |
Reporter | lassoan | Assigned To | jcfr | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.3.1 | Fixed in Version | Slicer 4.3.1 | ||
Summary | 0003129: Slicer crashes if Alt+Tab is pressed when transforms module is active | ||||
Description | If the Transforms module is active when the user switches to another application using Alt+Tab then Slicer crashes. How to reproduce:
It happens only with the Transforms module (not with Welcome, Annotations, Data, Models, Volumes, etc.). It is reproducible on Windows with Nightly releases: with the latest nightly (Slicer 4.2.0-2013-05-25 (Win64)) and also with older ones (such as (Slicer 4.2.0-2013-03-23 (Win64)). It is not reproducible with Slicer 4.2.2-1 (Win64). Interestingly, the crash does not occur with this scenario:
It seems that the crash is due to stack overflow when handling a focus change event. | ||||
Tags | No tags attached. | ||||
Does the crash occur if building against Qt 4.8.4 ? |
|
It is reproducible using the official nightly build packages on Windows. |
|
I acknowledge the fact it crashes when built against 4.7.4. That said, did you manage to reproduce the crash when building against Qt 4.8.4 ? |
|
I haven't tried with 4.8.4, but I can start a build now and test it tomorrow. |
|
Would be great. Thks |
|
Note that there is no crash with any other modules, so there is something wrong with the Transforms module GUI or one of its custom widgets. It would be better to investigate and understand the problem on 4.7.4, as it may be possible that upgrading to 4.8.4 will not solve the problem just make it harder to reproduce. |
|
I confirm that the crash happens exactly the same way with Qt-4.8.4 (tested on windows, latest trunk, 32-bit, release mode). |
|
This crash happens exactly the same way with Qt-4.8.5 (on windows 64-bit, release mode) |
|
The crash happens the same way with the Reformat module as well (Win7, 2013-08-15 release) |
|
The crash is cause by a stack overflow (First-chance exception at 0x65079e5f (QtGuid4.dll) in SlicerApp-real.exe: 0xC00000FD: Stack overflow.) 13 lines are repeated many times in the stack trace:
... It seems that there is an infinite loop while applying some QT style? |
|
@Chrystel: Can you reproduce this problem ? |
|
I can reproduce this problem, Slicer crashes on Windows with the r22390 Slicer revision |
|
Since this is still an issue - Re-targeted for 4.3.1 (Thanks Chrystel) |
|
As I wrote above, the crash is due to infinite loop in ctkProxyStyle::ensureBaseStyle(). There is a very simple fix for this: if ensureBaseStyle is requested on an object where it is already in progress then just ignore the request. See below a patch that implements this simple reentrance check. I've tested it and prevents the crashes and there doesn't seem to be any side-effect. diff --git "a/C:\Users\lasso\AppData\Local\Temp\TortoiseGit\ctk77F9.tmp\ctkProxyStyle-90000c3-left.cpp" "b/F:\S4D\CTK\Libs\Widgets\ctkProxyStyle.cpp"
@@ -102,6 +104,12 @@ ctkProxyStyle::~ctkProxyStyle()
|
|
Sent pull request to CTK: |
|
Fixed in r22541 |
|
Closing resolved issues that have not been updated in more than 3 months |
|
Fix committed to 2145-support-for-installing-extension-from-file branch. |
|
Slicer: 2145-support-for-installing-extension-from-file 73229447 2013-10-01 15:32:17 Details Diff |
BUG: Fix crash if Alt+Tab is pressed when transforms module is active. $ git shortlog 90000c32..f64b68acd Andras Lasso (1): Prevent reentrant calling of ctkProxyStyle::ensureBaseStyle() Jean-Christophe Fillion-Robin (1): Merge pull request 0000372 from lassoan/371-ensure-base-style-infinite-recursion-crash Fixes 0003129 From: Andras Lasso <lasso@cs.queensu.ca> git-svn-id: http://svn.slicer.org/Slicer4/trunk@22541 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_CTK.cmake | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-05-26 18:35 | lassoan | New Issue | |
2013-05-27 13:12 | jcfr | Assigned To | => jcfr |
2013-05-27 13:12 | jcfr | Status | new => assigned |
2013-05-27 13:12 | jcfr | Target Version | => Slicer 4.3.0 |
2013-05-27 13:13 | jcfr | Note Added: 0008674 | |
2013-05-27 13:13 | jcfr | Status | assigned => feedback |
2013-05-27 13:14 | lassoan | Note Added: 0008675 | |
2013-05-27 13:20 | jcfr | Note Added: 0008677 | |
2013-05-27 13:27 | lassoan | Note Added: 0008678 | |
2013-05-27 13:28 | jcfr | Note Added: 0008679 | |
2013-05-27 13:32 | lassoan | Note Added: 0008680 | |
2013-05-27 17:28 | lassoan | Note Added: 0008681 | |
2013-08-06 04:24 | chrysteljuan | Note Added: 0009387 | |
2013-08-17 13:38 | lassoan | Note Added: 0009495 | |
2013-08-17 13:53 | lassoan | Note Added: 0009496 | |
2013-09-03 07:38 | jcfr | Status | feedback => assigned |
2013-09-03 07:38 | jcfr | Assigned To | jcfr => chrysteljuan |
2013-09-03 07:38 | jcfr | Note Added: 0009831 | |
2013-09-03 09:06 | chrysteljuan | Note Added: 0009835 | |
2013-09-03 09:11 | jcfr | Target Version | Slicer 4.3.0 => Slicer 4.3.1 |
2013-09-03 09:12 | jcfr | Note Added: 0009836 | |
2013-09-30 21:34 | lassoan | Note Added: 0010110 | |
2013-10-01 08:49 | lassoan | Note Added: 0010111 | |
2013-10-01 09:10 | jcfr | Assigned To | chrysteljuan => jcfr |
2013-10-01 11:32 | jcfr | Note Added: 0010115 | |
2013-10-01 11:32 | jcfr | Status | assigned => resolved |
2013-10-01 11:32 | jcfr | Fixed in Version | => Slicer 4.3.1 |
2013-10-01 11:32 | jcfr | Resolution | open => fixed |
2014-03-06 05:00 | jcfr | Note Added: 0010877 | |
2014-03-06 05:01 | jcfr | Status | resolved => closed |
2017-06-07 23:27 | jcfr | Changeset attached | => Slicer 2145-support-for-installing-extension-from-file 73229447 |
2017-06-07 23:27 | jcfr | Note Added: 0014577 |