Skip to content

Troubleshooting

Matthias Heizmann edited this page Apr 1, 2024 · 17 revisions

Troubleshooting

git clone fails because paths are too long

If you are using Linux you have to use a filesystem that supports long path names.

If you are using Windows 10, you have to enable long paths both in Git and in Windows

  • Enable long path in Windows 10
    Open Local group policy editor (press Windows key and then enter gpedit.msc)
    Navigate to Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem
    Enable the option Enable Win32 long paths
  • Enable long paths in Git
    Start a shell with admin rights
    Enter git config --system core.longpaths true

Older Windows versions do not support long paths. Contact your advisor in this case.

Ultimate does not compile

Perhaps after you updated your working copy or just after your initial setup, Ultimate does not compile. Check the following:

  • Refresh packages
    In Eclipse's package explorer:
    Mark all packages, then hit F5 (Refresh)
    Note that if closed packages are marked, refresh will not work (but won't tell you that it did nothing). Either filter them out or mark only open packages.
  • Cleanup the build
    Project->Clean..->Clean all projects->OK
    Project->Build All (or Build automatically)
  • Import new projects
    File->Import..
    Existing Projects into workspace
    select Ultimate's trunk/source folder
    check all new plugins in the list (the ones not greyed out)
    "Finish"
  • xjc not found
    If there are errors in ToolchainData.java during the build, the reason might be that xjc is not found. xjc is part of the Java SDK. Add /path/to/jdk/bin to your PATH environment variable and restart Eclipse.
  • Environment variable not set
    An Ant script may fail with the message generate_ast: [java] Error: Could not find or load main class de.uni_freiburg.informatik.ultimate.astbuilder.Main [java] Java Result: 1 This can mean that a variable mapping is missing.
    1. Open the dialog "Window -> Preferences -> Ant -> Runtime"
    2. Go to the tab "Properties"
    3. Check if you have a mapping from the global property workspacedir to the value ${workspace_loc}.
    4. If it is missing, add it.
  • Spaces in Eclipse path
    If you work with Eclipse Mars under Windows and get an error message like
    the archive: C:/Program%20Files%20(x86)/Eclipse%20Mars/plugins/org.eclipse.swt.win32.win32.x86_64_3.104.0.v20150528-0211.jar which is referenced by the classpath, does not exist you have encountered a bug in Eclipse Mars. Namely it cannot deal with directory names containing spaces. If you do not want to move your Eclipse installation, you may use a solution from Stackoverflow. Summary: make a link of all involved directories with spaces that is named such that all spaces are replaced by "%20"
  • Java Version of External Tools If there are several Java VMs installed on the system external tools (e.g., Ant) might use the wrong Java version. Set the appropriate version at Run > External Tools > External Tools Configurations > JRE

Ultimate compiles, but does not start due to runtime errors

  • Check plugin dependencies
    "Run" pulldown menu->Run configurations...
    Choose your Run configuration
    Go to Plugins tab
    Click Validate plugins
    If any problems are detected, check the boxes in the list for the plugins that are reported as unfulfilled dependencies
    In Eclipse Mars, you have to uncheck Include optional dependencies... before clicking Add required plugins. One should also remove the package org.eclipse.ui.trace, as this is not needed and just gives you trouble.
  • Clear all related files
    If the initial run configuration screws up, it might be necessary to clear all related files:
    "Run" pulldown menu->Run configurations...
    Choose your Run configuration
    Go to Configuration tab
    Check Clear the configuration area before launching
    After a successful run, in the interest of speed, you should uncheck this setting again.
  • Import new projects
    See above

Ultimate JUnit Plug-in Test throw various RCP/OSGi errors

  • Ensure that Ultimate itself starts without errors
  • Reconfigure Plug-ins
    Go to the Plug-in test Run Configuration and open the Tab "Plug-ins"
    Select "Launch with: plug-ins selected below only"
    Deselect all plug-ins (press "Deselect All")
    Ensure that "Include optional dependencies when computing required plug-ins" is disabled
    Select the plug-in that contains the plug-in test (usually ..ultimatetest or ..regressiontest)
    Press "Add Required Plug-ins"
    Try again

Ultimate fails because it could not find z3

You probably use some run configuration without the necessary PATH extension. See Create Run Configuration on how to fix it.

Update from Eclipse Mars to Eclipse Neon

While we suggest to create a new workspace, it is possible (confirmed under Windows with no problems so far) to use the old workspace from Mars in Neon. Several things need to be done by hand.

  • Do not uninstall Mars before using Neon. Eclipse will detect the old version and ask you to install all Plugins you had in Mars. There is also an option to first update the plugins to the latest version.
  • When you tell Eclipse to switch to the old workspace, agree to convert the workspace to Neon.
  • Go to Preferences -> Plug-in Development -> Target Platform and click Add -> Default -> Next -> Finish. Choose the newly created configuration.
  • Do a clean build as usual.
  • You need to create new run configurations (or you find out how to adapt the old ones).

Toolchain selection failed, aborting...

If you use the GUI and you get No toolchain found. Toolchain selection failed, aborting... after successfully selecting a toolchain there might be a problem with different Java versions. Make sure that your runtime environment and the selected JRE (for compiling) are similar (in fact same Java version should be sufficient). The error message in the Eclipse console has the following stacktrace.

java.lang.ExceptionInInitializerError
at
com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:79)
at
com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165)
at
com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:256)
at
com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:81)
at
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
...
Clone this wiki locally