Hi Sascha, I removed $HOME/.ExtApp, and that resolved the problem of picking up 2 different sets of plugins. However, the seg-fault is still happening.
This problem is seen just running the standard MITK ExtApp program from a completely clean build of MITK, on both my Centos and Mac machines. As far as I can work out on my Centos machine, it's the "result = iter->second.Cast<I>();" in berryTweaklets.h Get method that is failing. When the WorkbenchTweaklet is first created, it is entered into the map, which is a map of smart pointers to objects. When it is used from the map, the Cast operation performs a dynamic cast, and this fails. Swapping to a static_cast instead of a dynamic cast appears to get past this issue, but there are other problems further along the line, where the IPreferencesService appears to not be present. Thats as far as I have got for now. Matt ----- "Sascha Zelzer" <[email protected]> wrote: > Hi Matt, > > thanks for the feedback. A clean build (meaning deleting the build > directory) should not create a directory like > > /scratch0/NOT_BACKED_UP/clarkson/build/MITK-build/MITK-build/bin/ExtBundles/org.mitk.gui.qt.extapplication/ > > However, the first thing you could try is to remove your $HOME/.ExtApp > > directory. If you have tried to run a CTK-based ExtApp app before, > there > might be some misleading data in this directory (the CTK plugin > framework remember the installed plugins). Hence it is also important > to > use unique strings in > > myApp.setApplicationName("MyApp"); > myApp.setOrganizationName("My Organization"); > > in your custom project, because they are used to create the directory > > name (like .ExtApp) for storing app specific data. That could also be > > the problem in your case, if you try to start the ExtApp from two > different build trees. Then duplicate libraries (from the two build > trees) will get loaded. > > I hope that helps, > > Sascha > > On 06/07/2011 02:37 PM, Matt Clarkson wrote: > > Hi Sascha > > > > Ah, sorry, I should have read the instructions. > > However, I tried to follow the instructions: > http://www.mitk.org/wiki/Fixing%20external%20projects and my basic > application seg faults. > > > > So, I did a git clone of MITK latest, and did a standard build from > scratch on both Linux and Mac, and the standard ExtApp seg faults in > both cases. > > > > Debugging on Linux, there are 2 strange issues (see attached log). > First, when ExtApp starts, it appears to pick up two sets of the same > plugins. > > One set comes from my project (UCLToolkit-SuperBuild), and the other > from the brand new stand alone MITK-build. I've grepped through config > files, and can't find why. > > > > The second thing appears to be a seg fault at: > > berryWorkbench.cpp:line 1445, or > > > > WorkbenchWindow::Pointer Workbench::NewWorkbenchWindow() > > { > > WorkbenchWindow::Pointer wbw = > > here-> > Tweaklets::Get(WorkbenchTweaklet::KEY)->CreateWorkbenchWindow(this->GetNewWindowNumber()); > > //wbw->Init(); > > return wbw; > > } > > > > so presumably WorkbenchTweaklet::KEY is blank/NULL/wrong. > > > > and interestingly, I just spotted: > > > > #0.590# [BlueBerry] ERROR: Exception: File not found: Could not load > META-INF/MANIFEST.MF from > /scratch0/NOT_BACKED_UP/clarkson/build/MITK-build/MITK-build/bin/ExtBundles/org.mitk.gui.qt.extapplication/ > > !0.590! [BlueBerry] WARNING: Bundle state invalid: The bundle must > be in state INSTALLED in order to be loaded. > > resolve: "org.blueberry.osgi" [ 18 ] > > > > > > in the output. This makes it look like one of the plugins is looking > for an old MANIFEST.MF. > > > > Does this help? > > > > Thanks > > > > Matt > > > > ----- "Sascha Zelzer"<[email protected]> wrote: > > > >> Hi Matt, > >> > >> yes, that is related. > >> > >> Please have a look at > >> http://www.mitk.org/wiki/Fixing%20external%20projects for > instructions > >> > >> how to fix external projects. > >> > >> Best, > >> Sascha > >> > >> On 06/06/2011 03:25 PM, Matt Clarkson wrote: > >>> Hi Sascha, > >>> > >>> after the change to make MITK use the CTK plugin framework, I set > my > >> project to rebuild CTK and then MITK to get nice fresh up to date > >> code. My "main" program is at this stage a simple thing, to load > >> default MITK plugins. i.e. I haven't got round to creating my own > >> plugins yet. > >>> #include<org.blueberry.osgi/src/application/berryStarter.h> > >>> > >>> int main(int argc, char** argv) > >>> { > >>> return berry::Starter::Run(argc, argv); > >>> } > >>> > >>> However, when it comes to compile I get: > >>> > >>> In file included from > >> /Users/mattclarkson/build/UCLToolkit/Code/Gui/MITK/MITK.cpp:25: > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/berryStarter.h:21:39: > >> error: org_blueberry_osgi_Export.h: No such file or directory > >>> In file included from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../event/../berryWeakPointer.h:25, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../event/../berryMacros.h:21, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../event/../berryIBundle.h:24, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../event/berryPlatformEvent.h:23, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../event/berryPlatformEvents.h:25, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/../berryPlatform.h:162, > >>> from > >> > /Users/mattclarkson/build/UCLToolkit-SuperBuild/CMakeExternals/Source/MITK/BlueBerry/Bundles/org.blueberry.osgi/src/application/berryStarter.h:23, > >>> from > >> /Users/mattclarkson/build/UCLToolkit/Code/Gui/MITK/MITK.cpp:25: > >>> Does this look related to the MITK/CTK plugin changes? > >>> > >>> Thanks > >>> > >>> Matt > >>> > >>> > >> > ------------------------------------------------------------------------------ > >>> Simplify data backup and recovery for your virtual environment > with > >> vRanger. > >>> Installation's a snap, and flexible recovery options mean your > data > >> is safe, > >>> secure and there when you need it. Discover what all the > cheering's > >> about. > >>> Get your free trial download today. > >>> http://p.sf.net/sfu/quest-dev2dev2 > >>> _______________________________________________ > >>> mitk-users mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/mitk-users ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ mitk-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mitk-users
