Modify

Opened 6 years ago

Closed 6 years ago

#17666 closed defect (othersoftware)

Cannot launch JOSM through javaws - Provider org.apache.xerces.jaxp.validation.XMLSchemaFactory not found

Reported by: Wulf4096 Owned by: team
Priority: normal Milestone:
Component: Core Webstart Version:
Keywords: itw debian linux Cc:

Description (last modified by Don-vip)

Hello,

I'm running debian unstable with openjdk 11.0.4 and icedtea-netx 1.7.2 and libxerces2-java 2.12.0

When trying to run josm, I get:

$ javaws josm.jnlp
Gtk-Message: 17:01:37.594: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:01:39.142: Failed to load module "canberra-gtk-module"
Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
Starting application [org.openstreetmap.josm.gui.MainApplication] ...
2019-04-30 17:01:41.575 INFO: Log level is at INFO (INFO, 800)
netx: Launch Error: Could not launch JNLP file. ( (Provider for class javax.xml.validation.SchemaFactory cannot be created (javax.xml.validation.SchemaFactory: Provider org.apache.xerces.jaxp.validation.XMLSchemaFactory not found)))
net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report.
	at java.desktop/net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:582)
	at java.desktop/net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:945)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at java.desktop/net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:576)
	... 1 more
Caused by: javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created
	at java.xml/javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:350)
	at java.xml/javax.xml.validation.SchemaFactoryFinder._newFactory(SchemaFactoryFinder.java:217)
	at java.xml/javax.xml.validation.SchemaFactoryFinder.newFactory(SchemaFactoryFinder.java:144)
	at java.xml/javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:245)
	at org.openstreetmap.josm.tools.XmlUtils.newXmlSchemaFactory(XmlUtils.java:55)
	at org.openstreetmap.josm.data.preferences.PreferencesReader.validateXML(PreferencesReader.java:97)
	at org.openstreetmap.josm.data.preferences.PreferencesReader.validateXML(PreferencesReader.java:85)
	at org.openstreetmap.josm.data.Preferences.load(Preferences.java:411)
	at org.openstreetmap.josm.data.Preferences.init(Preferences.java:522)
	at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:782)
	at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:277)
	at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:704)
	... 6 more
Caused by: java.util.ServiceConfigurationError: javax.xml.validation.SchemaFactory: Provider org.apache.xerces.jaxp.validation.XMLSchemaFactory not found
	at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1211)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1267)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1266)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1269)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
	at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
	at java.xml/javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:339)
	at java.xml/javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:335)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.xml/javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:335)
	... 17 more

The file /usr/share/java/xercesImpl-2.12.0.jar contains the class "org/apache/xerces/jaxp/validation/XMLSchemaFactory.class".

Downloading josm.jar and running it directly works.
Until recently, javaws worked. And from what I remember, I didn't change anything that might cause it to not work anymore.
It stopped working ~ Apr 20 or perhaps a few days earlier.

Attachments (0)

Change History (7)

comment:1 by Don-vip, 6 years ago

Description: modified (diff)

comment:2 by Don-vip, 6 years ago

Component: CoreCore Webstart
Keywords: itw debian linux added

comment:3 by Don-vip, 6 years ago

I see Ubuntu switched from Java 10 to 11 on 19th April (by the way it caused #17640 on our server). I guess it follows a similar move from Debian, which would explain why it suddenly stopped working on your machine.

I think you should try to report this problem to Debian, doesn't look like something we can fix from JOSM.

comment:4 by Don-vip, 6 years ago

Ah, I forgot I faced the same issue last year when I tried icedtea-web:

Removing libjaxp1.3-java and all packages needing it (gradle-debian-helper, maven-debian-helper, etc.) fixed the issue.

Can you please check if libjaxp1.3-java is installed?

comment:5 by Wulf4096, 6 years ago

That made me realise I installed osmosis around that time. When removing "libxalan2-java", javaws with josm works again.
I'll report that bug to debian.

Thank you!

comment:6 by Don-vip, 6 years ago

Can you please share the debian bug report here and then close the ticket as othersoftware? Thanks.

comment:7 by Wulf4096, 6 years ago

Resolution: othersoftware
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.