Page MenuHomePhabricator

totz (Johannes Totz)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 1 2016, 12:10 PM (404 w, 2 d)

Recent Activity

Aug 2 2016

totz added projects to T17201: mitkItkBaseDataAdapter.h is missing include guards: MITK, Bugzilla.
Aug 2 2016, 10:10 AM · Bugzilla, MITK
totz added a comment to T16209: Static initialiser crash in various DLLs.

(In reply to Miklos Espak from comment #32)

Are you sure that the factory register manager is compiled only into the
MITK core? If I do a file search in the bin folder, I found the
"FactoryRegisterManager" string in these files:

DiffusionCore.pdb
[...]

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

(In reply to Sascha Zelzer from comment #33)

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

If I remember correctly I checked our factory stuff in itk::ObjectFactoryBasePrivate::m_RegisteredFactories was still present. I.e. they were not unregistered nor corrupted. (But I couldn't tell whether there were all of them; 56 in total.)

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

I found a workaround for us. Preload the following libraries:
libuk_ac_ucl_cmic_midasmorphologicalsegmentor
libuk_ac_ucl_cmic_midasgeneralsegmentor
libuk_ac_ucl_cmic_gui_qt_commonmidas
libuk_ac_ucl_cmic_niftyreg
That makes the GUI start fine.
Preloading any of these individually is not enough. I didn't test all combinations though.

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

(In reply to Johannes Totz from comment #11)

The entries in itk::ObjectFactoryBasePrivate::m_RegisteredFactories that
become corrupt (which then triggers the crash) are all from
SceneSerializationBase.dll, i.e. the stuff in
MITK-src\Modules\SceneSerializationBase\BasePropertySerializer.
I can't figure out though how that happens...

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

We tracked down one of our MITK_CREATE_MODULE()-modules called niftkMIDAS that depends on mitk's Segmentation. When loading niftkMIDAS, it will lead to the crash described. If we hack our code to not load niftkMIDAS the GUI starts just fine.

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

(In reply to Matt Clarkson from comment #9)

Hi Johannes,

as this is urgent for MITK people, please could you try disabling

NifTKCoreObjectFactory

in

Code/Gui/MITK/Apps/NifTKApplication.h

and see if the crashes still occur?

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

I was checking what stuff is in ObjectFactoryBasePrivate::m_RegisteredFactories (in itk somewhere). There are definitely corrupted entries.
The last valid entry has index 56 and points to mitk::CoordinateAxesDataWriterFactory (is one of ours?). Eventually entry 57 (and following) become corrupted. Before it becomes corrupted, entry 57 points to mitk::ContourModelIOFactory (it always points to this one during my debugging).

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

The entries in itk::ObjectFactoryBasePrivate::m_RegisteredFactories that become corrupt (which then triggers the crash) are all from SceneSerializationBase.dll, i.e. the stuff in MITK-src\Modules\SceneSerializationBase\BasePropertySerializer.
I can't figure out though how that happens...

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

Thanks for the patch, sascha!
unfortunately, it didnt help.
Depending on what we preload, it keeps crashing with the mentioned callstacks.

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added projects to T16209: Static initialiser crash in various DLLs: MITK, Bugzilla.
Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T16209: Static initialiser crash in various DLLs.

Contents of the provisioning files:

Aug 2 2016, 10:07 AM · MITK (2013-12), Bugzilla
totz added a comment to T14623: Prevent Poco Windows undefs to avoid compile errors in third-party libs.

For the original CreateMutex issue, the macro in the windows headers evaluates to either CreateMutexA or CreateMutexW (for ANSI or Wide character). This difference is only relevant if you are supplying a mutex name.
As you are not giving your mutexes a name (passing NULL) you might just call CreateMutexA directly. I just tested that (before Matt pointed me to this bug entry here). Works.
Whether that is a better or worse workaround, dont know.

Aug 2 2016, 10:01 AM · Bugzilla, MITK