[OSM-dev] Osmosis error while cutting out a special region from a planet file

Brett Henderson brett at bretth.com
Sun Aug 30 23:12:01 BST 2009


Hi Frank,

I've had a look at the failing line of code and believe it's been caused 
by a java collection not being initialised properly.

It looks like you're using the --tee task.  All data gets made read-only 
by the --tee task and this uses the UnmodifiableTagCollection class.  It 
also looks like you're using the completeWays or completeRelations 
option on the --bounding-box task.  Is that correct?  If so it triggers 
some serialisation logic so data can be written to temporary files.  A 
combination of read-only data and serialisation appears to be triggering 
the problem.

I've checked in a change which should fix the problem but I haven't 
tested it.  It will be available in the next nightly build.
http://dev.openstreetmap.org/~bretth/osmosis-build/

For future reference, please provide the full osmosis command line 
you're using.  It makes it easier to diagnose the problem.

Brett

Frank Bielig wrote:
> Hallo,
>
> I use Osmosis for cutting out a special region by out of the planet 
> file by giving a bounding box. Sometimes I get following exception 
> after many hours of conversion:
>
>
> SCHWERWIEGEND: Thread for task 1-read-xml 
> failed                                                                                                                                            
>
> java.lang.NullPointerException                                                                                                                                                              
>
>         at 
> org.openstreetmap.osmosis.core.domain.v0_6.UnmodifiableTagCollection.store(UnmodifiableTagCollection.java:38)                                                                    
>
>         at 
> org.openstreetmap.osmosis.core.domain.v0_6.CommonEntityData.store(CommonEntityData.java:198)                                                                                     
>
>         at 
> org.openstreetmap.osmosis.core.domain.v0_6.Entity.store(Entity.java:138)                                                                                                         
>
>         at 
> org.openstreetmap.osmosis.core.domain.v0_6.Relation.store(Relation.java:184)                                                                                                     
>
>         at 
> org.openstreetmap.osmosis.core.container.v0_6.RelationContainer.store(RelationContainer.java:51)                                                                                 
>
>         at 
> org.openstreetmap.osmosis.core.store.BaseObjectWriter.writeObject(BaseObjectWriter.java:63)                                                                                      
>
>         at 
> org.openstreetmap.osmosis.core.store.SimpleObjectStore.add(SimpleObjectStore.java:106)                                                                                           
>
>         at 
> org.openstreetmap.osmosis.core.filter.v0_6.AreaFilter.process(AreaFilter.java:242)                                                                                               
>
>         at 
> org.openstreetmap.osmosis.core.container.v0_6.RelationContainer.process(RelationContainer.java:60)                                                                               
>
>         at 
> org.openstreetmap.osmosis.core.filter.v0_6.AreaFilter.process(AreaFilter.java:96)                                                                                                
>
>         at 
> org.openstreetmap.osmosis.core.tee.v0_6.EntityTee$ProxySinkSource.process(EntityTee.java:124)                                                                                    
>
>         at 
> org.openstreetmap.osmosis.core.tee.v0_6.EntityTee.process(EntityTee.java:70)                                                                                                     
>
>         at 
> org.openstreetmap.osmosis.core.xml.v0_6.impl.RelationElementProcessor.end(RelationElementProcessor.java:108)                                                                     
>
>         at 
> org.openstreetmap.osmosis.core.xml.v0_6.impl.OsmHandler.endElement(OsmHandler.java:108)                                                                                          
>
>         at 
> org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
> Source)                                                                                                           
>
>         at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown 
> Source)                                                                                             
>
>         at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown 
> Source)                                                                         
>
>         at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
> Source)                                                                                               
>
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> Source)                                                                                                               
>
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> Source)                                                                                                               
>
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown 
> Source)                                                                                                                        
>
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
> Source)                                                                                                                
>
>         at 
> org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown 
> Source)                                                                                                         
>
>         at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown 
> Source)                                                                                                                       
>
>         at 
> javax.xml.parsers.SAXParser.parse(SAXParser.java:198)                                                                                                                            
>
>         at 
> org.openstreetmap.osmosis.core.xml.v0_6.XmlReader.run(XmlReader.java:108)                                                                                                        
>
>         at 
> java.lang.Thread.run(Thread.java:619)                                                                                                                                            
>
> 30.08.2009 10:39:37 org.openstreetmap.osmosis.core.Osmosis 
> main                                                                                                                             
>
> SCHWERWIEGEND: Execution 
> aborted.                                                                                                                                                           
>
> org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more 
> tasks 
> failed.                                                                                                           
>
>         at 
> org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)                                                                                     
>
>         at 
> org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:85)                                                                                                                      
>
>         at 
> org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:30)                                                                                                                     
>
> Does anybody has a hint to solve this problem? Could osmosis changed, 
> that all open writing tasks cleanly closed in case of internal errors? 
> Then results will be not complete but you get still valid output.
>
> Thank you for your help
> Frank
>
> -- 
> Frank Bielig               Tel:   +49 33398 687848
> OneStepAhead AG            Fax:   +49 33398 687849
> Research & Development     Mobil: +49 177 3339868
> Leuschnerstr. 45           eMail: Frank.Bielig at OneStepAhead.de
> D-70176 Stuttgart          Web:   http://www.OneStepAhead.de
>
> Firma:                     OneStepAhead AG
> Firmensitz/Amtsgericht:    Stuttgart, HRB 22686
> Vorstand/Vorsitzender:     Nihat Kücük
> Aufsichtsratvorsitzender:  Prof. Dr. Reinhold von Schwerin
> ------------------------------------------------------------------------
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev
>   





More information about the dev mailing list