Closed GreenWatcher closed 6 years ago
It's a weird svg library compatibility problem on some machines.
Please, fill more info:
java -version
in command line).Current workaround:
svg
folder;Debian GNU/Linux testing (buster) (64 bit)
Running XMage through the launcher downloaded from the official website (0.3.8).
Java version (the command is 'java -version' btw):
openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
I thought XMage is using it's own java installation?
The workaround works, thanks :)
I've installed debian test version and check it out -- all works fine with SVG images:
There were problems like:
But svg images works fine.
Try to run app from command line in mage-client
folder like bash file startClient.command
.
Since this seems to be a somewhat sneaky bug I will try to do some debugging myself. I will report back if I find something.
It's will be good. Stackoverflow have hints on same problems. But I can't test or reproduce it on my machines. I think it's about wrong libraries and paths to java/xmage. If you find out steps to reproduce it then I can try to fix.
I have the same issue with openSUSE Leap 42.3 and Java OpenJDK 1.8.0
INFO 2018-01-09 16:53:02,644 Starting MAGE client version 1.4.26V11c =>[main] MageFrame.main
INFO 2018-01-09 16:53:02,647 Logging level: INFO =>[main] MageFrame.main
WARN 2018-01-09 16:53:04,371 SVG or GIF symbol can't be load: 0 =>[AWT-EventQueue-0] ManaSymbols.loadSymbolImages
WARN 2018-01-09 16:53:04,372 SVG or GIF symbol can't be load: 1 =>[AWT-EventQueue-0] ManaSymbols.loadSymbolImages
...
WARN 2018-01-09 16:53:04,404 SVG or GIF symbol can't be load: X =>[AWT-EventQueue-0] ManaSymbols.loadSymbolImages
WARN 2018-01-09 16:53:04,404 SVG or GIF symbol can't be load: C =>[AWT-EventQueue-0] ManaSymbols.loadSymbolImages
WARN 2018-01-09 16:53:04,405 SVG or GIF symbol can't be load: E =>[AWT-EventQueue-0] ManaSymbols.loadSymbolImages
org.h2.jdbc.JdbcSQLException: IO Exception: "java.net.UnknownHostException: tesla.suse: tesla.suse: Name or service not known" [90028-187]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:287)
at org.h2.util.NetUtils.getLocalAddress(NetUtils.java:268)
at org.h2.server.TcpServer.getURL(TcpServer.java:201)
at org.h2.tools.Server.start(Server.java:475)
at org.h2.engine.Database.startServer(Database.java:780)
at org.h2.engine.Database.open(Database.java:636)
at org.h2.engine.Database.openDatabase(Database.java:266)
at org.h2.engine.Database.<init>(Database.java:260)
at org.h2.engine.Engine.openSession(Engine.java:60)
at org.h2.engine.Engine.openSession(Engine.java:167)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:145)
at org.h2.engine.Engine.createSession(Engine.java:128)
at org.h2.engine.Engine.createSession(Engine.java:26)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:347)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at com.j256.ormlite.jdbc.JdbcConnectionSource.makeConnection(JdbcConnectionSource.java:252)
at com.j256.ormlite.jdbc.JdbcConnectionSource.getReadWriteConnection(JdbcConnectionSource.java:184)
at com.j256.ormlite.table.TableUtils.doCreateTable(TableUtils.java:440)
at com.j256.ormlite.table.TableUtils.createTable(TableUtils.java:220)
at com.j256.ormlite.table.TableUtils.createTableIfNotExists(TableUtils.java:61)
at mage.cards.repository.RepositoryUtil.isDatabaseObsolete(RepositoryUtil.java:20)
at mage.cards.repository.ExpansionRepository.<init>(ExpansionRepository.java:42)
at mage.cards.repository.ExpansionRepository.<clinit>(ExpansionRepository.java:24)
at org.mage.card.arcane.ManaSymbols.loadImages(ManaSymbols.java:118)
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)
Caused by: java.net.UnknownHostException: tesla.suse: tesla.suse: Name or service not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
at org.h2.util.NetUtils.getLocalAddress(NetUtils.java:266)
... 42 more
Caused by: java.net.UnknownHostException: tesla.suse: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
... 43 more
FATAL 2018-01-09 16:53:04,664 MAGE Client UI error =>[AWT-EventQueue-0] EDTExceptionHandler.handle
java.lang.NullPointerException
at mage.cards.repository.ExpansionRepository.getSetCodes(ExpansionRepository.java:74)
at org.mage.card.arcane.ManaSymbols.loadImages(ManaSymbols.java:118)
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)
@pseiler your error about missing symbol files (even old gif can't find). Go to "symbols" menu and download all data. Then restart app and report about it (is was any errors).
@JayDi85 I can't even start the client to download the symbols. I also tried starting the client through mage-client/startClient.sh. Same error as when I start the client through the launcher
@pseiler
You have a database problem.
Do that steps:
*.db
files and delete it;*.log
files and delete it;Howto report:
*.log
files;..\xmage_launcher.log
..\xmage\mage-client\mageclient.log
It didn't helped. I deleted everything and reinstalled everything and the client won't even start (from launcher and from command line (bash startClient.sh)
pseiler's UnknownHostException
error was fixed by assign local ip address to user's machine in loopback device settings.
org.h2.jdbc.JdbcSQLException: IO Exception: "java.net.UnknownHostException: tesla.suse: tesla.suse: Name or service not known" [90028-187]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
I didn't thought that this was the cause for the UI error. Java logs are mostly cryptic to me. I can confirm that setting the hostname to the loopback device worked for me.
@Lakorta try this dev versions (200 MB) -- download, unzip and run (ignore new version warning if get it). It's may help with svg icons (you can see it in deck editor and other places). Report results and errors.
Trying to start the client from the launcher doesn't open a window and gives me the following error:
home/lakorta/Downloads/xmage_test/xmage/mage-client"): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at com.xmage.launcher.Utilities.launchProcess(Utilities.java:150) at com.xmage.launcher.Utilities.launchClientProcess(Utilities.java:105) at com.xmage.launcher.XMageLauncher.handleClient(XMageLauncher.java:412) at com.xmage.launcher.XMageLauncher.access$300(XMageLauncher.java:58) at com.xmage.launcher.XMageLauncher$4.actionPerformed(XMageLauncher.java:227) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700) 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) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 43 more Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException at com.xmage.launcher.XMageConsole.start(XMageConsole.java:47) at com.xmage.launcher.XMageLauncher.handleClient(XMageLauncher.java:414) at com.xmage.launcher.XMageLauncher.access$300(XMageLauncher.java:58) at com.xmage.launcher.XMageLauncher$4.actionPerformed(XMageLauncher.java:227) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700) 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)
But like I said, I will do some testing myself. Just don't have that much time right now.
Still doing some testing. My current findings are: If I compile the game from source everything works without any problems. If I try to start the client through the launcher after downloading the symbols the client won't start (maybe a problem with adobe java?). Downloading the client through the launcher but starting it directly works even after downloading the symbols. I'm however not able to download the symbols that way (the download simply won't progress). So I have to start the client through the launcher, download the symbols and start the client without the launcher to get it to work this way. I guess it's because I'm using the local java version (OpenJDK 1.8.0_151) when starting the client directly opposed to the downloaded adobe one.
If I find the exact reason for this bug I will let you know!
@Lakorta is that still actual or already fixed?
Did a fresh install, the symbols download window now properly closes after downloading all symbols. After trying to access the card viewer through the client I got the UI error again and I had to terminate the client. After restarting the client everything worked (including the card viewer and the symbols).
After that I deleted everything except the launcher and tried it again, this time everything worked, I could access the viewer right after downloading the symbols without any kind of UI error.
The 3rd time was also successful so I guess it's fixed now, don't know what happened the first time.
Thanks for feedback.
Old version had wrong svg libraries config and failed on linux x64 (see #4421). Now it's must work fine. Also xmage had compatibility problem with upgrade -- it's not delete old v27 files and some JDK/java can use that files instead v28 in same dirs (that's why fresh install can fix some problems).
That issue can be closed. If someone have same problem then report here or create new issue.
After downloading symbols the status window for the symbols download doesn't close (for the error see below*). The only way I got it to close is to close the XMage client. After restarting the client only the console opens, which gives me the following error:
There's no window for the client itself and I have to close it using the terminal or system monitor (I'm using Linux, those are similar to the Task Manager). Deleting the symbols folder in mage-client->plugins->images solves this problem but I obviously won't have symbols after doing that.
*If I try to close the Download symbols window it gives me the following error: