More WFS 2.0 NPE due to XSD schema corruption under load

Description

One more NPE failure case here:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2016-10-18 19:21:38,216 ERROR [42836c2d-a054-49c7-b37f-640aef93903a] [http-bio-8087-exec-108] [geoserver.ows] - java.lang.NullPointerException at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380) at org.eclipse.xsd.impl.XSDConcreteComponentImpl.eNotify(XSDConcreteComponentImpl.java:1159) at org.eclipse.emf.ecore.util.EcoreEList.dispatchNotification(EcoreEList.java:255) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:310) at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307) at org.eclipse.xsd.impl.XSDSchemaImpl.imported(XSDSchemaImpl.java:3126) at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder$GML32.importGMLSchema(FeatureTypeSchemaBuilder.java:1005) at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.buildSchemaInternal(FeatureTypeSchemaBuilder.java:234) at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.build(FeatureTypeSchemaBuilder.java:149) at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.build(FeatureTypeSchemaBuilder.java:137) at org.geoserver.wfs.xml.ApplicationSchemaXSD2.buildSchema(ApplicationSchemaXSD2.java:73) at org.geotools.xml.XSD.getSchema(XSD.java:232) at org.geotools.xml.Configuration.schema(Configuration.java:470) at org.geotools.xml.Encoder.<init>(Encoder.java:217) at org.geoserver.wfs.xml.GML32OutputFormat.createEncoder(GML32OutputFormat.java:105) at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:218) at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:195) at com.digitalglobe.wfs.DGCapabilitiesCallback$ResponseMimeWrapper.write(DGCapabilitiesCallback.java:157) at org.geoserver.ows.Dispatcher.response(Dispatcher.java:920)

Same issue as in the previous one, EMF models are not thread safe and thus should not be manipulated in parallel.

Environment

None

Status

Assignee

Andrea Aime

Reporter

Andrea Aime

Triage

None

Fix versions

Affects versions

None

Components

Priority

Medium
Configure