Bug#911078: triplea: Fails to start with NullPointerException
Hello, On Wed, 7 Aug 2019 08:36:38 -0700 Dan Van Atta wrote: > Apologies for the long delay, updates to Debian are a deeper issue than I > initially realized. TripleA has had a history of maintenance overhead > problems, seeing the Debian fork has me realize that it is a fork with its > own unique code and in effect would be a second codebase to maintain. I do > not think it's sustainable to maintain two code bases as has been done. Of > note, it's difficult sustaining development in the core codebase itself and > there's been a lot of effort to improve efficiency there in order to make > progress in substantially improving the game. I wouldn't call the Debian packaging of triplea a fork. When I was packaging the last version for Debian I discovered that you used the non-free org.json:json artifact with the infamous copyright clause. I reported it upstream at https://github.com/triplea-game/triplea/issues/2672 So two patches, JSONException.patch and no-evil-json.patch do merely exist because of that reason. Since the issue has been already fixed upstream both patches can be dropped now. Then we have no-Mac.patch with MacOS specific code which is problematic with OpenJDK 11 and which didn't work on Debian. disable-javazoom-audioplayer.patch exists because nobody has packaged the javazoom audio player. And last but not least we have the build.patch to work around various issues with the Gradle build system. That's not a fork in my opinion but a call for more help in packaging triple in a Debian compliant way. > With that said, I think the solution is to try and incorporate the Debian > patches into the main codebase to the largest extent possible. In that case > the Debian version could be a clean fork of the main codebase and would > remove the second maintenance effort. I've opened a tracking issue in the > Github issue queue to discuss this amongst the TripleA developers and > greater community: https://github.com/triplea-game/triplea/issues/4933. > Input and coordination on that effort from the Debian side would be very > welcome. While I'm not sure if we can make the Debian version a 'true' > fork, having the main repo and Debian fork mirror as closely as possible > should reduce redundant maintenance efforts and make this process more > sustainable. Including our patches would be greatly appreciated. But as I said some do merely exist because due to a lack of contributors, some patches can be dropped and the other ones could be incorporated but it requires some work. What we would like to do in Debian is just download your release tarball and create a Debian package without patching at all. :) Regards, Markus signature.asc Description: OpenPGP digital signature
Bug#911078: triplea: Fails to start with NullPointerException
Apologies for the long delay, updates to Debian are a deeper issue than I initially realized. TripleA has had a history of maintenance overhead problems, seeing the Debian fork has me realize that it is a fork with its own unique code and in effect would be a second codebase to maintain. I do not think it's sustainable to maintain two code bases as has been done. Of note, it's difficult sustaining development in the core codebase itself and there's been a lot of effort to improve efficiency there in order to make progress in substantially improving the game. With that said, I think the solution is to try and incorporate the Debian patches into the main codebase to the largest extent possible. In that case the Debian version could be a clean fork of the main codebase and would remove the second maintenance effort. I've opened a tracking issue in the Github issue queue to discuss this amongst the TripleA developers and greater community: https://github.com/triplea-game/triplea/issues/4933. Input and coordination on that effort from the Debian side would be very welcome. While I'm not sure if we can make the Debian version a 'true' fork, having the main repo and Debian fork mirror as closely as possible should reduce redundant maintenance efforts and make this process more sustainable.
Bug#911078: triplea: Fails to start with NullPointerException
Hello, Am 22.11.18 um 23:09 schrieb Dan Van Atta: [...] >> Presumably the latest Substance binaries have fixed this issue. > > I'm eager for confirmation that this looks to be fixed, I'm happy to > help with what I can in that effort. Thank you very much for responding to this bug report. I'm not 100% sure though what you mean by "the latest Substance binaries have fixed this issue". In Debian we use a fork of substance called insubstantial. https://tracker.debian.org/pkg/insubstantial If I recall correctly the old substance package had some serious issues and didn't even compile anymore. However insubstantial hasn't received any updates in the past years either. https://github.com/Insubstantial/insubstantial It would be great if you could point us to the aforementioned fix. But to be honest it would be even greater if you or someone else from the community lent a helping in hand in keeping triplea up-to-date because I fear the original uploader/maintainer is no longer active. I have done the previous updates to keep the game in Debian but it is unlikely that I will update the game on a more regular basis. In any case I would sponsor patches and updates or you can also make a pull request on salsa.debian.org if you prefer that work flow. http://salsa.debian.org/java-team/triplea Regards, Markus signature.asc Description: OpenPGP digital signature
Bug#911078: triplea: Fails to start with NullPointerException
Hello! We should have this fixed in our latest stable: 1.9.0.0.13066 ( https://github.com/triplea-game/triplea/releases/latest) I opened a ticket within the TripleA project for coordination amongst the TripleA maintainers on this topic: https://github.com/triplea-game/triplea/issues/4372 @ssoloff, a Triple maintainer, confirmed a fix in the latest version (quoting from github#4372) > Using Oracle Java 11.0.1 with a Substance L&F active, I was able to repro the NPE at startup using 1.9.0.0.7062 on Fedora. I then ran both 1.9.0.0.13066 and 1.10.0.0.13112 in the same configuration, and no NPE was observed at startup. > Presumably the latest Substance binaries have fixed this issue. I'm eager for confirmation that this looks to be fixed, I'm happy to help with what I can in that effort.
Bug#911078: triplea: Fails to start with NullPointerException
Package: triplea Version: 1.9.0.0.7062-2 Severity: grave Justification: renders package unusable After the switch to OpenJFX 11, triplea fails to start with a NullPointerException. triplea.engine.version.bin:1.9 java.lang.NullPointerException at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:759) at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:661) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installDefaults(SubstancePanelUI.java:74) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installDefaults(SubstancePanelUI.java) at java.desktop/javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:62) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installUI(SubstancePanelUI.java) at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installUI(SubstancePanelUI.java) at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685) at java.desktop/javax.swing.JPanel.setUI(JPanel.java:150) at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126) at java.desktop/javax.swing.JPanel.(JPanel.java:86) at java.desktop/javax.swing.JPanel.(JPanel.java:109) at java.desktop/javax.swing.JPanel.(JPanel.java:117) at games.strategy.engine.framework.startup.ui.SetupPanel.(SetupPanel.java:25) at games.strategy.engine.framework.startup.ui.MetaSetupPanel.(MetaSetupPanel.java:45) at games.strategy.engine.framework.startup.mc.SetupPanelModel.showSelectType(SetupPanelModel.java:33) at games.strategy.engine.framework.GameRunner.lambda$main$0(GameRunner.java:159) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.lang.NullPointerException at games.strategy.engine.framework.GameRunner.lambda$showMainFrame$4(GameRunner.java:255) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at games.strategy.engine.framework.GameRunner$1.dispatchEvent(GameRunner.java:330) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.lang.NullPointerException at games.strategy.engine.framework.GameRunner.lambda$showMainFrame$4(GameRunner.java:255) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:7