weixin_39610631
weixin_39610631
2020-11-26 12:00

Can't launch client from launcher on x64 linux systems (Fedora, Ubuntu, Etc)

Launcher version: 1.4.27V0 Java version: 1.8.0_131 Attempt to run the client causes the following exception: java.lang.NoSuchMethodError: org.apache.batik.dom.util.HashTableStack.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;

Current workaround -- run client by script from mage-client folder: bash startClient.command or bash startClient.sh

该提问来源于开源项目:magefree/mage

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

20条回答

  • weixin_39945795 weixin_39945795 5月前

    Well, I've tested it on x64 fedora system and can confirm -- it's have issue with classpath on that systems (or something similar). It's can be run by launcher. Only by command line or script (see above). It's a weird.

    That's tool can be help with classpath searches.

    Launcher code is here: it's use -cp param, change current dir and environment variable. I've try to manually run java -jar with wrong classpath -cp param, by app works fine anyway.

    点赞 评论 复制链接分享
  • weixin_39610229 weixin_39610229 5月前

    I'm on Ubuntu 16.04.3 LTS with 4.13.0-26 generic kernel. Launcher fails.

    bash startClient.sh works with no issues.

    Here is the console log from Launch Client from launcher. Note that this has /symbols/svg renamed.

    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0 INFO 2018-01-19 12:48:25,269 Starting MAGE client version 1.4.27V0 =>[main] MageFrame.main INFO 2018-01-19 12:48:25,302 Logging level: INFO =>[main] MageFrame.main FATAL 2018-01-19 12:48:35,813 MAGE Client UI error =>[AWT-EventQueue-0] EDTExceptionHandler.handle java.lang.NoSuchMethodError: org.apache.batik.dom.util.HashTableStack.put(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; at org.apache.batik.dom.svg.SAXSVGDocumentFactory.startDocument(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:347) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:276) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source) at org.mage.card.arcane.ManaSymbols.loadSVG(ManaSymbols.java:293) at org.mage.card.arcane.ManaSymbols.loadSymbolAsSVG(ManaSymbols.java:361) at org.mage.card.arcane.ManaSymbols.loadSymbolImages(ManaSymbols.java:429) at org.mage.card.arcane.ManaSymbols.loadImages(ManaSymbols.java:89) at mage.client.MageFrame.(MageFrame.java:226) at mage.client.MageFrame.lambda$main$16(MageFrame.java:1179) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    点赞 评论 复制链接分享
  • weixin_39610229 weixin_39610229 5月前

    Problem persists on Ubuntu 16.04 with xmage version 1.4.27V1 (2018-01-28).

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    x64 linux problem will be fixed with next release or you can download current test version. If you update by launcher, then you must delete all files from \xmage\mage-client\lib folder and run update again.

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    All works fine now. That issue can be closed. If someone have same problem then report here or create new issue.

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    I've installed Fedora 27, but can't reproduce your error with default xmage (downloading by launcher, not test).

    There are was only headless java error on first xmage launcher run. I've installed default java and error gone: yum install java

    XMage run from launcher folder (open terminal in folder): java -jar XMageLauncher-0.3.8.jar

    All works: shot_180116_033738

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    Try to delete java folder and let it downloaded by launcher, may be help. In last test version I've added "missing" "batik-util" package to xmage client -- it's must show you another error, I'm think.

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前
    
    $ java -version
    openjdk version "1.8.0_151"
    OpenJDK Runtime Environment (build 1.8.0_151-b12)
    OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
    

    Could 32-bit/64-bit possibly be the issue here?

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    Don't known. Will test x64 later.

    P.S. Even start from commands file works fine (from mage-client folder): bash startClient.command or bash startClient.sh

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    Wait next release 27v1 or download test version from here -- it's have fixes. If not help, then report here.

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    I should have mentioned that I'm on Linux. Also, it appears to be a java version error, as I copied the java folder from my install to you test directory and the same exception occurred.

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    Are you run from launcher? If you got that error with test version and start by launcher then report here your OS version and full errors list (from logs window or from log file in ..\xmage\mage-client\mageclient.log). you can also send me error log file to email: jaydi85.com

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    Yes, I am running from launcher. The full stack trace from the logs follows:

    INFO 2018-01-15 20:02:35,476 Starting MAGE client version 1.4.27V0 =>[main] MageFrame.main INFO 2018-01-15 20:02:35,478 Logging level: INFO =>[main] MageFrame.main FATAL 2018-01-15 20:02:36,688 MAGE Client UI error =>[AWT-EventQueue-0] EDTExceptionHandler.handle java.lang.NoSuchMethodError: org.apache.batik.dom.util.HashTableStack.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String; at org.apache.batik.dom.svg.SAXSVGDocumentFactory.startDocument(SAXSVGDocumentFactory.java:274) at org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:183) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:248) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:108) at org.mage.card.arcane.ManaSymbols.loadSVG(ManaSymbols.java:293) at org.mage.card.arcane.ManaSymbols.loadSymbolAsSVG(ManaSymbols.java:361) at org.mage.card.arcane.ManaSymbols.loadSymbolImages(ManaSymbols.java:429) at org.mage.card.arcane.ManaSymbols.loadImages(ManaSymbols.java:89) at mage.client.MageFrame.<init>(MageFrame.java:226) at mage.client.MageFrame.lambda$main$16(MageFrame.java:1179) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    Is there any way to increase logging level (without compiling from source)?

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    No need to new logging error -- it's an SVG library problem (some incompatibility with your environment). Report your OS version -- i will test it.

    As workaround you can delete svg folder from ..\xmage\mage-client\plugins\images\symbols

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    Using Fedora 27 here.

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    Renaming the svg directory worked (original version, NOT the test you sent). Could it be related to the pom.xml at Mage.Client? I see there is a dependency clause for batik-transcoder, but not batik-dom or batik-svg-dom modules. I don't know if that's intended.

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    Try this new test version (download, unzip to new folder, run, wait java downloaded, run client and report error if got it again).

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    Just out of curiosity, where can those test versions and their respective sources be found? Are they from a particular branch? Your personal fork?

    点赞 评论 复制链接分享
  • weixin_39945795 weixin_39945795 5月前

    It's from my developer machine (current master + some "work in progress" fixes). If that's work then will be added to master. Waiting your report on it.

    点赞 评论 复制链接分享
  • weixin_39610631 weixin_39610631 5月前

    Same error with the new test. Also, when the exception occurs, the java process for the client keeps running forever untill I forcefully kill it. You might want to take a look on that as well.

    点赞 评论 复制链接分享

相关推荐