View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002439 | Slicer4 | Core: Usability | public | 2012-08-28 09:19 | 2013-01-02 10:17 |
Reporter | fedorov | Assigned To | jcfr | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.2.2-1 | Fixed in Version | Slicer 4.2.2-1 | ||
Summary | 0002439: Nightly Slicer crashes trying to load modules compiled against local Slicer build | ||||
Description | (0005830) fedorov (developer) - 2012-08-28 12:37
| ||||
Additional Information | If I start from command line, I have this additional messages before crash: [fedorov@bear SlicerCLITools] /Applications/Slicer.app/Contents/MacOS/Slicer | ||||
Tags | No tags attached. | ||||
The idea is to check the version associated with a plugin and the version of Slicer before trying to load it. Then it wouldn't crash. Let's also note that this issue wouldn't occur if the extensions and associated settings would be specific to a version of Slicer. That said, adding the extra check mentioned above can just be positive. It is more complicated that it seems because everything happen at the factory level. Indeed, the factory search for plugins that match given patterns in a given list of directory. Considering that at the module level (opposed to extension level), there are no metadata allowing to now the associated version of Slicer. This change is in fact quite involved. We will to discuss further how we want to approach that issue. |
|
Jc: I notice that incompatible extensions are detected at startup and are not loaded - can this issue be closed? |
|
The issue appears to have been resolved in the post-4.2 builds. |
|
The issue is happening again with Nov 15 nightly (r21414) Thread 0 Crashed: Dispatch queue: com.apple.main-thread Thread 1: Dispatch queue: com.apple.libdispatch-manager Thread 2: Thread 3: Thread 4: Thread 5: Thread 6: Thread 7: Thread 8: Thread 9: Thread 10: Thread 11: Thread 12: com.apple.CFSocket.private Thread 0 crashed with X86 Thread State (64-bit): |
|
To clarify the situation, here's the current behavior as I understand it: (A) - if a user downloads several versions of slicer (release or nightly), and downloads extensions for them, only the extensions that are compatible with the currently running version of slicer will be loaded. (B) - if a developer builds a module and sets the module path by hand, it will attempt to load in whatever version of slicer the user loads, and if they were built against different libraries and/or with different compilers there can be a crash. Situation (A) is a real issue we should address via some kind of versioning of parts of the settings file, while leaving other settings global. Situation (B) probably should be allowed since developers need freedom, but there should be some kind of mechanism to detect and warn to avoid surprising crashes that the developer may not instantly recognize. |
|
JC, situation (B) was the topic of the original issue |
|
thanks for clarifying Steve :) For situation (A). See 0002143 For situation (B). See http://www.na-mic.org/Bug/view.php?id=2439#c6080 |
|
From the mailing list: Hi, Is it a valid usage scenario to have multiple versions of Slicer at I just spent quite some time with a user who complained about We tried first removing config file, but reporting logic was not The user was not aware that having multiple versions could potentially What is the expected behavior in this situation? If having multiple AF |
|
Will attempt to fix this for 4.2.2 |
|
Fixed in: |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2012-08-28 09:19 | fedorov | New Issue | |
2012-08-28 09:19 | fedorov | Status | new => assigned |
2012-08-28 09:19 | fedorov | Assigned To | => kikinis |
2012-08-28 09:19 | fedorov | Relationship added | child of 0002310 |
2012-08-28 09:21 | fedorov | Assigned To | kikinis => crmullin |
2012-08-28 09:22 | jcfr | Target Version | => Slicer 4.3.0 |
2012-08-28 09:23 | jcfr | Relationship replaced | related to 0002310 |
2012-09-14 12:15 | jcfr | Note Added: 0006080 | |
2012-11-07 05:47 | pieper | Note Added: 0007093 | |
2012-11-07 05:55 | jcfr | Assigned To | crmullin => jcfr |
2012-11-09 12:24 | fedorov | Note Added: 0007145 | |
2012-11-09 12:24 | fedorov | Status | assigned => closed |
2012-11-09 12:24 | fedorov | Resolution | open => unable to reproduce |
2012-11-09 12:24 | fedorov | Fixed in Version | => Slicer 4.2.1 |
2012-11-15 04:36 | fedorov | Note Added: 0007233 | |
2012-11-15 04:36 | fedorov | Status | closed => feedback |
2012-11-15 04:36 | fedorov | Resolution | unable to reproduce => reopened |
2012-11-15 04:42 | pieper | Note Added: 0007235 | |
2012-11-15 04:45 | fedorov | Note Added: 0007236 | |
2012-11-15 04:46 | jcfr | Note Added: 0007237 | |
2012-11-15 04:46 | jcfr | Relationship added | related to 0002143 |
2012-11-15 04:50 | jcfr | Status | feedback => assigned |
2012-11-19 03:38 | pieper | Note Added: 0007308 | |
2012-11-19 09:08 | jcfr | Target Version | Slicer 4.3.0 => Slicer 4.2.2 |
2012-11-19 09:08 | jcfr | Note Added: 0007320 | |
2012-12-06 14:37 | jcfr | Note Added: 0007440 | |
2012-12-06 14:37 | jcfr | Status | assigned => resolved |
2012-12-06 14:37 | jcfr | Fixed in Version | Slicer 4.2.1 => Slicer 4.2.2 |
2012-12-06 14:37 | jcfr | Resolution | reopened => fixed |
2013-01-02 10:17 | fedorov | Status | resolved => closed |