Re: [mitk-users] Startup error: ctkPluginException on first run
Brought to you by:
mitk
|
From: Nil G. <nil...@im...> - 2019-07-31 15:31:05
|
Hi Sascha,
I finally found the problem. I compared MITK Workbench and my app, cmake
files, cpp, etc. Turns out that those three lines are really important
on Linux, but not on macOS and Windows. I stupidly removed them when
porting from the last MITK version.
QStringList preloadLibs;
preloadLibs << "liborg_mitk_gui_qt_ext";
app.setPreloadLibraries(preloadLibs);
Thank you for your support.
Nil
Le 2019-07-22 à 15:54, Nil Goyette a écrit :
>
> Hi Sascha,
>
> I tried on a broken and a good setup (some of my builds work on my
> computer but never on my colleagues'). Sadly, I got exactly the same
> output on both. This doesn't any sense to me.
>
> $ /lib64/ld-linux-x86-64.so.2 --list
> bin/plugins/liborg_blueberry_core_expressions.so
> bin/plugins/liborg_blueberry_core_expressions.so: error while loading
> shared libraries: liborg_blueberry_core_runtime.so: cannot open shared
> object file: No such file or directory
>
> $ ldd -r bin/plugins/liborg_blueberry_core_expressions.so
> bin/plugins/liborg_blueberry_core_expressions.so:
> /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12' not found
> (required by bin/plugins/liborg_blueberry_core_expressions.so)
> linux-vdso.so.1 (0x00007ffdbfbf3000)
> libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
> (0x00007fe317301000)
> liborg_blueberry_core_runtime.so => not found
> libCTKPluginFramework.so.0.1 => not found
> libCTKCore.so.0.1 => not found
> libmbilog.so => not found
> libPocoXML.so.60 => not found
> libPocoFoundation.so.60 => not found
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007fe3170e2000)
> libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> (0x00007fe316997000)
> libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> (0x00007fe31660e000)
> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007fe3163f6000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe316005000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe315e01000)
> /lib64/ld-linux-x86-64.so.2 (0x00007fe317768000)
> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe315be4000)
> libicui18n.so.60 => /usr/lib/x86_64-linux-gnu/libicui18n.so.60
> (0x00007fe315743000)
> libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60
> (0x00007fe31538c000)
> libdouble-conversion.so.1 =>
> /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1 (0x00007fe31517b000)
> libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
> (0x00007fe314e64000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe314ac6000)
> libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60
> (0x00007fe312f1d000)
> libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3
> (0x00007fe312cab000)
> undefined symbol: _ZTIN5berry6ObjectE
> (bin/plugins/liborg_blueberry_core_expressions.so)
> *... Around 110 lines of **undefined symbol ...
> 2 lines are somewhat different*
> symbol qt_version_tag version Qt_5.12 not defined in file
> libQt5Core.so.5 with link time reference
> (bin/plugins/liborg_blueberry_core_expressions.so)
> symbol _ZdlPvm version Qt_5 not defined in file libQt5Core.so.5 with
> link time reference (bin/plugins/liborg_blueberry_core_expressions.so)
>
> Running the same commands while the application is running or after
> the application closes give the same results, except for the .so
> address (0x00...). With all those problems, I wonder how the
> application manages to start! How can an application starts with
> missing libraries and undefined symbols...
>
> Nil
>
> Le 2019-07-19 à 16:06, Sascha Zelzer a écrit :
>>
>> Hi,
>>
>> I am not sure what you tried already, but more information would
>> certainly help here. If you can reproduce a state where you know that
>> starting your application will show the described errors, have a look
>> at the output of those two commands before you actually start your app:
>>
>> /lib64/ld-linux-x86-64.so.2 --list
>> /home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_blueberry_core_expressions.so
>>
>> ldd -r
>> /home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_blueberry_core_expressions.so
>>
>>
>> Then start your app and afterwards run the commands again. Is the
>> output any different?
>>
>> Best,
>>
>> Sascha
>>
>> On 7/19/19 8:09 PM, Nil Goyette wrote:
>>>
>>> Hi all,
>>>
>>> We can't release our application because of this problem so I tested
>>> more. Here's some facts about the problem:
>>>
>>> * Mitk Workbench doesn't have the problem. It happens only on
>>> Linux on each new releases (commit + make package), even if they
>>> are all based on MITK 2018.04.2. I do not use the "build tree",
>>> I use "make package".
>>> * --Blueberry.clean and deleting ~/.local/share/Imeka produce
>>> almost the same error.
>>> * The paths are right. imagenavigator.so is where the app thinks
>>> it is.
>>> * It's clearly related to plugins.db located in
>>> ~/.local/share/Imeka. The first (and only) crash is creating
>>> this file. The next run is doubling its size, to a working
>>> condition. A working build simply creates the file and continue
>>> running the application.
>>> * There's no problem on the computer where the package was
>>> created. Even when I delete plugins.db. And even when I delete
>>> all dependencies: Qt, MITK build and our app build. It seems to
>>> be incompatible between 16.04 and 18.04 builds but I'm not sure
>>> about that yet. Overall, this makes the bug really hard to test.
>>>
>>> Knowing that the Mitk Workbench is fine and that you added "a few Qt
>>> dependencies" to fix it, can I have more details about what you did?
>>> How did you know which dependencies to add? I can't really add the
>>> imagenavigator plugin "more" than it's already added? How am I
>>> supposed to add them? Moreover, is there a way to have a stacktrace?
>>> It's only complaining about imagenavigator.so but I know that it
>>> exists at the right place! I must be doing something in my app that
>>> MITK Workbench isn't doing and I need to know who the culprint is.
>>>
>>> Nil Goyette
>>>
>>> Le 2019-06-21 à 04:47, Dinkelacker, Stefan a écrit :
>>>>
>>>> Hi,
>>>>
>>>> we had several of these issues and shortly before the last release.
>>>> One had to open the Workbench three times before it continuously
>>>> worked afterwards. Most of the issues were Qt related and we could
>>>> fix it by adding a few Qt dependencies to our scripts that are
>>>> actually meant to be dynamically loaded during runtime. We also
>>>> noticed that these issues only occurred when starting MITK out of
>>>> the build tree but the installers just worked fine as all binaries
>>>> are at a single place.
>>>>
>>>> AFAIK we still didn’t find the actual cause for the Poco-issue but
>>>> it never happened in installers. Do you build installers for your
>>>> clients or are they using build-tree versions of MITK?
>>>>
>>>> I also see that you use the releases/2018-04 branch instead of the
>>>> latest stable tag v2018.04.2. Just a small warning that it may fail
>>>> from time to time, even though it should be much more stable than
>>>> the master branch, though.
>>>>
>>>> Stefan
>>>>
>>>> *From:*Nil Goyette [mailto:nil...@im...]
>>>> *Sent:* Thursday, June 20, 2019 3:41 PM
>>>> *To:* mit...@li...
>>>> *Subject:* [mitk-users] Startup error: ctkPluginException on first run
>>>>
>>>> Hi all,
>>>>
>>>> I upgraded to MITK 2018.04, built linux installers and my users see
>>>> this error on the first time they open the application.
>>>>
>>>> 0.393! WARNING: Startup error: ctkPluginException: The plugin
>>>> "/home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_mitk_gui_qt_imagenavigator.so"
>>>> could not be loaded: Cannot load library
>>>> /home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_mitk_gui_qt_imagenavigator.so:
>>>> (/home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_blueberry_core_expressions.so:
>>>> undefined symbol:
>>>> _ZN5berry14ElementHandler6CreateEPNS_19ExpressionConverterEPN4Poco3XML7ElementE)
>>>>
>>>> It opens without any problem when they try again. It's happen *only
>>>> the first time*. It seems you can't mix MITK 2016.11 and MITK
>>>> 2018.04. We tried deleting the temp folder ~/.local/share/Imeka, or
>>>> using --Blueberry.clean, but it gives almost the same error as before.
>>>>
>>>> 0.437! WARNING: Failed to install plugin
>>>> QUrl("file:///home/fmorency/softwares/MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64/bin/plugins/liborg_mitk_gui_qt_imagenavigator.so"
>>>> <file:///\\home\fmorency\softwares\MITK-v2018.04.2-54-gca0a3e57c1-linux-x86_64\bin\plugins\liborg_mitk_gui_qt_imagenavigator.so>)
>>>> : ctkPluginException: Failed to install plugin
>>>> Caused by: ctkPluginException: The plugin ... *REST IS IDENTICAL*
>>>>
>>>> I guess that renaming the project, from "Imeka" to anything else,
>>>> would solve this problem, but we don't really want to change our
>>>> company name! Is there a way to avoid this? Asking our users to
>>>> open the application twice seems unprofessional.
>>>>
>>>> Nil Goyette
>>>>
>>>
>>>
>>> _______________________________________________
>>> mitk-users mailing list
>>> mit...@li...
>>> https://lists.sourceforge.net/lists/listinfo/mitk-users
>>
>>
>> _______________________________________________
>> mitk-users mailing list
>> mit...@li...
>> https://lists.sourceforge.net/lists/listinfo/mitk-users
>
>
> _______________________________________________
> mitk-users mailing list
> mit...@li...
> https://lists.sourceforge.net/lists/listinfo/mitk-users
|