Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to initialize Terasology - Caused by: java.lang.SecurityException: sealing violation: package javax.vecmath is sealed #818

Closed
nielinjie opened this issue Jan 13, 2014 · 12 comments

Comments

@nielinjie
Copy link

I am really new to Terasology, and I had failed to the first running.
I just cloned this git repository, and run : grandlw idea. And then, run main class in idea IDE.
Any advise?

Platform: Mac OS X
Java version: 1.7.0_45

Full stack is here. Thanks a lot.

Found the natives dir: /Users/nielinjie/Projects/external/Terasology/natives
11:15:10,907 |-INFO in ch.qos.logback.classic.gaffer.ConfigurationDelegate@7fd00911 - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener]
11:15:10,975 |-INFO in ch.qos.logback.classic.gaffer.ConfigurationDelegate@7fd00911 - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
11:15:10,975 |-INFO in ch.qos.logback.classic.gaffer.ConfigurationDelegate@7fd00911 - Naming appender as [FILE]
11:15:11,207 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [logs/Terasology.log]
11:15:11,217 |-INFO in ch.qos.logback.classic.gaffer.ConfigurationDelegate@7fd00911 - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:15:11,219 |-INFO in ch.qos.logback.classic.gaffer.ConfigurationDelegate@7fd00911 - Naming appender as [CONSOLE]
11:15:11.297 [main] INFO  o.terasology.engine.TerasologyEngine - Initializing Terasology...
11:15:11.314 [main] INFO  o.terasology.engine.TerasologyEngine - [buildNumber=, buildId=, buildTag=, buildUrl=, gitBranch=, gitCommit=, dateTime=, displayVersion=, engineVersion=]
11:15:11.314 [main] INFO  o.terasology.engine.TerasologyEngine - Platform: Mac OS X
11:15:11.314 [main] INFO  o.terasology.engine.TerasologyEngine - Home path: 
11:15:11.314 [main] INFO  o.terasology.engine.TerasologyEngine - Install path: /Users/nielinjie/Projects/external/Terasology
11:15:11.314 [main] INFO  o.terasology.engine.TerasologyEngine - Java version: 1.7.0_45
11:15:11.681 [main] INFO  o.terasology.engine.TerasologyEngine - Video Settings: {"pixelFormat":24,"windowPosX":-1,"windowPosY":-1,"windowWidth":1280,"windowHeight":720,"fullscreen":false,"viewDistance":"near","flickeringLight":true,"animateGrass":true,"animateWater":false,"fieldOfView":90.0,"cameraBobbing":true,"renderPlacingBox":true,"blurIntensity":2,"reflectiveWater":false,"vignette":true,"motionBlur":false,"ssao":false,"filmGrain":true,"outline":true,"lightShafts":false,"eyeAdaptation":true,"bloom":false,"dynamicShadows":false,"oculusVrSupport":false,"maxTextureAtlasResolution":4096,"maxChunksUsedForShadowMapping":1024,"shadowMapResolution":1024,"normalMapping":false,"parallaxMapping":false,"dynamicShadowsPcfFiltering":false,"volumetricFog":true,"cloudShadows":false,"renderNearest":true,"particleEffectLimit":10,"meshLimit":20,"volumetricLighting":false,"inscattering":true,"localReflections":true,"vSync":false,"debug":{"enabled":false,"stage":"opaque_color","firstPersonElementsHidden":false,"hudHidden":false,"wireframe":false,"renderChunkBoundingBoxes":false,"renderSkeletons":false}}
11:15:11.763 [main] DEBUG org.reflections.Reflections - going to scan these urls:
jar:file:/Users/nielinjie/Projects/external/Terasology/engine/libs/tera-ovr.jar!/
file:/Users/nielinjie/Projects/external/Terasology/engine/build/classes/
file:/Users/nielinjie/Projects/external/Terasology/facades/PC/build/classes/
11:15:12.745 [main] INFO  org.reflections.Reflections - Reflections took 981 ms to scan 3 urls, producing 369 keys and 1800 values 
11:15:17.759 [main] ERROR o.terasology.engine.TerasologyEngine - Failed to initialise Terasology
java.lang.ExceptionInInitializerError: null
    at org.terasology.asset.sources.AbstractSource.getUri(AbstractSource.java:103) ~[classes/:na]
    at org.terasology.asset.sources.AbstractSource.getUri(AbstractSource.java:94) ~[classes/:na]
    at org.terasology.asset.sources.DirectorySource.scanAssets(DirectorySource.java:78) ~[classes/:na]
    at org.terasology.asset.sources.DirectorySource.scanAssets(DirectorySource.java:75) ~[classes/:na]
    at org.terasology.asset.sources.DirectorySource.scanAssets(DirectorySource.java:75) ~[classes/:na]
    at org.terasology.asset.sources.DirectorySource.<init>(DirectorySource.java:40) ~[classes/:na]
    at org.terasology.engine.module.ModuleManagerImpl.processModDirectory(ModuleManagerImpl.java:287) ~[classes/:na]
    at org.terasology.engine.module.ModuleManagerImpl.refresh(ModuleManagerImpl.java:214) ~[classes/:na]
    at org.terasology.engine.module.ModuleManagerImpl.<init>(ModuleManagerImpl.java:105) ~[classes/:na]
    at org.terasology.engine.module.ModuleManagerImpl.<init>(ModuleManagerImpl.java:85) ~[classes/:na]
    at org.terasology.engine.TerasologyEngine.initModuleManager(TerasologyEngine.java:508) ~[classes/:na]
    at org.terasology.engine.TerasologyEngine.initManagers(TerasologyEngine.java:490) ~[classes/:na]
    at org.terasology.engine.TerasologyEngine.init(TerasologyEngine.java:169) ~[classes/:na]
    at org.terasology.engine.Terasology.main(Terasology.java:54) [classes/:na]
Caused by: java.lang.SecurityException: sealing violation: package javax.vecmath is sealed
    at java.net.URLClassLoader.getAndVerifyPackage(URLClassLoader.java:388) ~[na:1.7.0_45]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:417) ~[na:1.7.0_45]
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_45]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_45]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_45]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_45]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_45]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_45]
    at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_45]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_45]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_45]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_45]
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_45]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_45]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_45]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_45]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_45]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_45]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_45]
    at org.terasology.rendering.assets.atlas.AtlasLoader.<init>(AtlasLoader.java:50) ~[classes/:na]
    at org.terasology.asset.AssetType.<clinit>(AssetType.java:76) ~[classes/:na]
    ... 14 common frames omitted
@immortius
Copy link
Member

Interesting. I assume this is using the 'develop' branch?

Sealed packages is a java feature that prevents a different jar injecting classes into a package, generally to prevent other code from using package-private features. I have no idea why vecmath uses that feature, but that's another story.

We don't try to inject new classes into vecmath, so possible sources of the issue are:

  • Multiple copies of the vecmath library in the classpath.
  • Some issue with the our reflection/runtime module support loading vecmath a second time.

The stacktrace shows it happens when the AssetTypes enum is first loaded, because the AtlasLoader uses Vector2i (which extends Tuple2i from Vecmath). But this doesn't tell a huge amount. However, Tuple2i comes from a new version of vecmath, so possibly you have an old version present as well somehow.

I would suggest opening IntelliJ's Project Structure dialog and under Modules->engine check if multiple vecmath versions are present.

@nielinjie
Copy link
Author

Thank you.

  • I am using develop branch
  • Here is my class-path, there is only one vecmath.
    :-(
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55115,suspend=y,server=n -Xms256m -Xmx1024m -javaagent:/Users/nielinjie/Library/Caches/IntelliJIdea12/groovyHotSwap/gragent.jar -Dfile.encoding=UTF-8 -classpath "/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/javafx-doclet.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/htmlconverter.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/JObjC.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Users/nielinjie/Projects/external/Terasology/facades/PC/build/classes:/Users/nielinjie/Projects/external/Terasology/engine/build/classes:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.google.guava/guava/15.0/bundle/ed727a8d9f247e2050281cb083f1c77b09dcb5cd/guava-15.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.google.code.gson/gson/2.2.4/jar/a60a5e993c98c864010053cb901b7eab25306568/gson-2.2.4.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.google.protobuf/protobuf-java/2.5.0/bundle/a10732c76bfacdbd633a7eb0f7968b1059a65dfa/protobuf-java-2.5.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/net.sf.trove4j/trove4j/3.0.3/jar/42ccaf4761f0dfdfa805c9e340d99a755907e2dd/trove4j-3.0.3.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.projectdarkstar.ext.jorbis/jorbis/0.0.17/jar/b9e006d604d268a3e1cb1b4dd3e91c1434837fde/jorbis-0.0.17.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.lwjgl.lwjgl/lwjgl/2.9.0/jar/5654d06e61a1bba7ae1e7f5233e1106be64c91cd/lwjgl-2.9.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.lwjgl.lwjgl/lwjgl_util/2.9.0/jar/a778846b64008fc7f48ead2377f034e547991699/lwjgl_util-2.9.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/io.netty/netty/3.6.5.Final/bundle/c3385a7138f5a3e91439e358547febc5028a4589/netty-3.6.5.Final.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.reflections/reflections/0.9.9-RC1/jar/b78b545f452a6b7d4fab2641dd0b0147a0f4fd5e/reflections-0.9.9-RC1.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/java3d/vecmath/1.5.2/jar/79846ba34cbd89e2422d74d53752f993dcc2ccaf/vecmath-1.5.2.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/net.java.dev.jna/jna/3.5.2/jar/f1bf9fe267e17c1a8f7d1aa2c985e7fe81a06da6/jna-3.5.2.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/net.java.dev.jna/platform/3.5.2/jar/beac07d13858ef3697ceeab43897d70aeb5113c9/platform-3.5.2.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.newdawn.slick/slick/237/jar/d59834341d858e866ba52e11ac1d18db5be940d0/slick-237.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.terasology.bullet/tera-bullet/1.0.0/jar/81be015da72931aff2910ece2b667651381eba50/tera-bullet-1.0.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.esotericsoftware.reflectasm/reflectasm/1.07/jar/761028ef46da8ec16a16b25ce942463eb1a9f3d5/reflectasm-1.07.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/ec.util/MersenneTwister/20/jar/9998e5d452a20402ee6161a5da01dc06b1b5e385/MersenneTwister-20.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/ch.qos.logback/logback-classic/1.0.13/jar/6b56ec752b42ccfa1415c0361fb54b1ed7ca3db6/logback-classic-1.0.13.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.slf4j/slf4j-api/1.7.5/jar/6b262da268f8ad9eff941b25503a9198f0a0ac93/slf4j-api-1.7.5.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/net.java.jutils/jutils/1.0.0/jar/e12fe1fda814bd348c1579329c86943d2cd3c6a6/jutils-1.0.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/net.java.jinput/jinput/2.0.5/jar/39c7796b469a600f72380316f6b1f11db6c2c7c4/jinput-2.0.5.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.javassist/javassist/3.16.1-GA/jar/315891b371395271977af518d4db5cee1a0bc9bf/javassist-3.16.1-GA.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/xml-apis/xml-apis/1.0.b2/jar/3136ca936f64c9d68529f048c2618bd356bf85c9/xml-apis-1.0.b2.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/dom4j/dom4j/1.6.1/jar/5d3ccc056b6f056dbf0dddfdf43894b9065a8f94/dom4j-1.6.1.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/com.jcraft/jogg/0.0.7/jar/8d79e2bf312278ed077054d620631755851b8a8/jogg-0.0.7.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.ow2.asm/asm/4.0/jar/659add6efc75a4715d738e73f07505246edf4d66/asm-4.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/ch.qos.logback/logback-core/1.0.13/jar/dc6e6ce937347bd4d990fc89f4ceb469db53e45e/logback-core-1.0.13.jar:/Users/nielinjie/Projects/external/Terasology/engine/libs/tera-ovr.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.codehaus.groovy/groovy/2.1.7/jar/9ff37f8fc304611085e38a763c4172c6a1e4801/groovy-2.1.7.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/antlr/antlr/2.7.7/jar/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.ow2.asm/asm-tree/4.0/jar/67bd266cd17adcee486b76952ece4cc85fe248b8/asm-tree-4.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.ow2.asm/asm-commons/4.0/jar/a839ec6737d2b5ba7d1878e1a596b8f58aa545d9/asm-commons-4.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.ow2.asm/asm-util/4.0/jar/d7a65f54cda284f9706a750c23d64830bb740c39/asm-util-4.0.jar:/Users/nielinjie/.gradle/caches/artifacts-26/filestore/org.ow2.asm/asm-analysis/4.0/jar/1c45d52b6f6c638db13cf3ac12adeb56b254cdd7/asm-analysis-4.0.jar:/Applications/IntelliJ IDEA 12.app/lib/idea_rt.jar" org.terasology.engine.Terasology -homedir

@nielinjie
Copy link
Author

Find a recent upgrade of vecmath - 8019eb5, I will try downgrading it back to 1.3.1.

@immortius
Copy link
Member

Sounds good, thanks.

@nielinjie
Copy link
Author

Not luck.
After back to 1.3.1 (by checkout 8019eb5 's parent), no error here, but got some error else.

···
18:34:35.301 [main] INFO o.t.l.console.internal.ConsoleImpl - [CONSOLE] Welcome to the wonderful world of Terasology!

Type 'help' to see a list with available commands.
To see a detailed command description try '/help ""'.
Be sure to surround text type parameters in quotes.
No commas needed for multiple parameters.
Commands are case-sensitive, block names and such are not.
18:34:35.313 [main] INFO o.t.e.m.l.InitialiseWorld - World seed: "zW5qVTlpvgC9ZzhMyGSBWmgRZvfLGKU6"
18:34:35.332 [main] ERROR o.t.engine.module.ModuleClassLoader - Failed to load org.terasology.utilities.procedural.Noise3D
javassist.NotFoundException: org.terasology.utilities.procedural.Noise3D
at javassist.ClassPool.get(ClassPool.java:450) ~[javassist-3.16.1-GA.jar:na]
at org.terasology.engine.module.ModuleClassLoader.findClass(ModuleClassLoader.java:74) [classes/:na]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [na:1.7.0_45]
at org.terasology.engine.module.ModuleClassLoader.loadClass(ModuleClassLoader.java:59) [classes/:na]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [na:1.7.0_45]
at org.terasology.core.world.generator.worldGenerators.PerlinWorldGenerator.initialize(PerlinWorldGenerator.java:39) [na:na]
at org.terasology.engine.modes.loadProcesses.InitialiseWorld.step(InitialiseWorld.java:85) [classes/:na]
at org.terasology.engine.modes.StateLoading.update(StateLoading.java:197) [classes/:na]
at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:678) [classes/:na]
at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:275) [classes/:na]
at org.terasology.engine.Terasology.main(Terasology.java:55) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) [idea_rt.jar:na]
18:34:35.334 [main] ERROR o.terasology.engine.TerasologyEngine - Uncaught exception
java.lang.NoClassDefFoundError: org/terasology/utilities/procedural/Noise3D
at org.terasology.core.world.generator.worldGenerators.PerlinWorldGenerator.initialize(PerlinWorldGenerator.java:39) ~[na:na]
at org.terasology.engine.modes.loadProcesses.InitialiseWorld.step(InitialiseWorld.java:85) ~[classes/:na]
at org.terasology.engine.modes.StateLoading.update(StateLoading.java:197) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:678) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:275) ~[classes/:na]
at org.terasology.engine.Terasology.main(Terasology.java:55) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) [idea_rt.jar:na]
Caused by: java.lang.ClassNotFoundException: Failed to find or load class org.terasology.utilities.procedural.Noise3D
at org.terasology.engine.module.ModuleClassLoader.findClass(ModuleClassLoader.java:91) ~[classes/:na]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_45]
at org.terasology.engine.module.ModuleClassLoader.loadClass(ModuleClassLoader.java:59) ~[classes/:na]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_45]
... 11 common frames omitted
Caused by: javassist.NotFoundException: org.terasology.utilities.procedural.Noise3D
at javassist.ClassPool.get(ClassPool.java:450) ~[javassist-3.16.1-GA.jar:na]
at org.terasology.engine.module.ModuleClassLoader.findClass(ModuleClassLoader.java:74) ~[classes/:na]
... 14 common frames omitted
AL lib: (EE) alc_cleanup: 1 device not closed
···

@immortius
Copy link
Member

Ah, make sure you do a full clean and project rebuild. Noise3D is a recent addition.

@immortius
Copy link
Member

Ok. Apparently, Macs have a Java3D package that partially installs into the JRE, which includes its own version of vecmath that is sealed (the one we use is not sealed). You will need to track down this stray vecmath library and delete it, or uninstall the Java3D package if that is even possible.

Seems like all the more reason to stop using vecmath.

@immortius
Copy link
Member

The old version 1.3.1 is likely identical to the one included on macs, so that is why we had not encountered the issue before.

@Cervator
Copy link
Member

shakes tiny fist at Mac OS

First LWJGL, now vecmath. It seems Apple is of the conviction that Mac users cannot have shiny things not made by Apple :-)

Thanks for helping us with the troubleshooting, @nielinjie !

@nielinjie
Copy link
Author

Removed /System/Library/Java/Extensions/vecmath.jar
And everything seems fine now. :-)
Thank you guys.
Please update setup document.

@Cervator
Copy link
Member

Much appreciated - added it at https://github.com/MovingBlocks/Terasology/wiki/Dev-Setup#common-issues :-)

That whole page needs a bit of an overhaul, but at least not we won't forget!

@wreithkaSSAN
Copy link

Nielinjie is absolutely correct. Macbook 13 2012 and deleting vecmath.jar was the answer. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants