JOSM/Plugins/Kendzi3D/trouble

From OpenStreetMap Wiki
< JOSM‎ | Plugins‎ | Kendzi3D
Jump to navigation Jump to search

In case of trouble

Java 9/10

Plugin is not fully compatible with modules in new java. Before application is upgraded please download josm jar to disk and run it with command:

java -jar --add-modules ALL-SYSTEM josm-tested.jar

Debugging

  • check if you have new version of JOSM and if you downloaded last version of plugin
  • run JOSM from console using command:
java -jar josm-tested.jar

In windows system console can be open using shortcut:

  • CTRL-R, in input area write
  • cmd
  • click OK


When bug is repeated send all output from console to:

https://github.com/kendzi/kendzi3d/issues

Or send it by mail

Add information about used OS and java.

Overriding driver auto-detection

If the plugin does not work as expected, you can try running with altered MESA or JOGL environment variables. To do this, prefix the java command with a KEY=VALUE string like shown below. See MESA Environment Variables for additional information.

yourbox:~/$ MESA_GL_VERSION_OVERRIDE=3.0 java -Dsun.java2d.xrender=true -jar josm-latest.jar

To test if the plugin works in principle, bypassing the 3d hardware, (slow) software rendering can be requested.

yourbox:~/$ LIBGL_ALWAYS_SOFTWARE=1 java -Dsun.java2d.xrender=true -jar josm-latest.jar

OpenGL can also be used to accelerate JOSM map frame 2d drawing. This may conflict with the 3d plugin, which means it is advisable to avoid using the option marked red in combination with Kendzi3D:

yourbox:~/$ java -Dsun.java2d.opengl=true -jar josm-latest.jar
# ... opening 3d view fails ...:
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGFPE (0x8) at pc=0x00007ffe880c4e1c, pid=14084, tid=140731517433600
#
# JRE version: 7.0_25-b30
# Java VM: OpenJDK 64-Bit Server VM (23.7-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libdrm_radeon.so.1+0x4e1c]  radeon_cs_get_id+0x162c

Either of the following commands enable output of debug information to the console, starting with least, continuing to most verbose.

yourbox:~/$ java -Djogl.debug=all -jar josm-latest.jar
yourbox:~/$ java -Dnewt.debug=all -Djogl.debug=all -jar josm-latest.jar
yourbox:~/$ java -Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all -jar josm-latest.jar

To disable kendzi3d autostart, locate the setting tag kendzi3d.autostart in josm preferences and change the value to false.

yourbox:~/$ grep -C2 kendzi.*autostart ../.josm/preferences.xml
  <?xml version="1.0" encoding="UTF-8"?>
  <preferences xmlns="http://josm.openstreetmap.de/preferences-1.0" version="6248">
    <tag key='kendzi3d.autostart' value='false'/>
    <tag key='alignways.majorver' value='2'/>
    <tag key='alignways.showtips' value='false'/>

edited Cmuelle8 (talk) 05:07, 6 January 2018 (UTC)

Profile GL2 is not available on null, but ...

On Ubuntu 22.04 (debian) and Java 11 got the error:

WARNING: All illegal access operations will be denied in a future release

com.jogamp.opengl.GLException: Profile GL2 is not available on null, but: [GLProfile[GLES1/GLES1.hw], GLProfile[GLES2/GLES3.hw], GLProfile[GL2ES1/GLES1.hw], GLProfile[GL4ES3/GL4.hw], GLProfile[GL2ES2/GL4.hw], GLProfile[GL4/GL4.hw], GLProfile[GLES3/GLES3.hw], GLProfile[GL4/GL4.hw], GLProfile[GL3/GL4.hw], GLProfile[GL2GL3/GL4.hw]]

The solution that works is setting Java option "jogl.disable.openglcore=false" :

$ export JAVA_OPTS="$JAVA_OPTS -Djogl.disable.openglcore=false" && /usr/bin/josm