Hi Scott,

I've just modified the serialisation code to serialise the full 32-bit
signed int instead of casting to an unsigned chararacter.

This means that the internal serialisation format will be slightly less
efficient but I suspect the difference will be immeasurable.  Note that
recently I updated the primary id to be stored as a 64-bit signed long
instead of casting to a 32-bit signed int because some users of Osmosis were
expected to run into the limit soon.  That change has an even bigger impact
to the serialised format (4 extra bytes versus 2) so this one isn't worth
worrying about.

Changing your code to 0 would have also worked, but at least this way
there'll be no surprises for anybody else in the future who wishes to use
negative ids.

Cheers,
Brett

On Wed, Mar 9, 2011 at 3:39 PM, Scott Crosby <sc...@sacrosby.com> wrote:

> Brett, do you have any advice?
>
> In OsmosisBinaryParser, I'm using NOCHANGESET and NOVERSION when
> there's omitted metadata. Currently both are -1. The bug is because
> another serializer in osmosis is complaining that the version number
> is negative. We can set NOVERSION to 0, make that code more robust, or
> something else.
>
> Scott
>
>
> On Mon, Mar 7, 2011 at 8:01 AM, Nakor <nakor....@gmail.com> wrote:
> >
> >> Can you give me more of the stack trace?
> >>
> >> Scott
> >
> > Here you go:
> >
> > SEVERE: Thread for task 1-read-pbf failed
> > org.openstreetmap.osmosis.core.OsmosisRuntimeException: Cannot represent
> -1
> > as a char.
> >    at
> >
> org.openstreetmap.osmosis.core.util.IntAsChar.intToChar(IntAsChar.java:35)
> >    at
> >
> org.openstreetmap.osmosis.core.domain.v0_6.CommonEntityData.store(CommonEntityData.java:186)
> >    at
> > org.openstreetmap.osmosis.core.domain.v0_6.Entity.store(Entity.java:138)
> >    at
> org.openstreetmap.osmosis.core.domain.v0_6.Node.store(Node.java:184)
> >    at
> >
> org.openstreetmap.osmosis.core.container.v0_6.NodeContainer.store(NodeContainer.java:49)
> >    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.tagfilter.v0_6.UsedNodeFilter.process(UsedNodeFilter.java:78)
> >    at
> >
> org.openstreetmap.osmosis.core.container.v0_6.NodeContainer.process(NodeContainer.java:58)
> >    at
> >
> org.openstreetmap.osmosis.tagfilter.v0_6.UsedNodeFilter.process(UsedNodeFilter.java:61)
> >    at
> >
> org.openstreetmap.osmosis.tagfilter.v0_6.WayKeyValueFilter.process(WayKeyValueFilter.java:70)
> >    at
> >
> org.openstreetmap.osmosis.core.container.v0_6.NodeContainer.process(NodeContainer.java:58)
> >    at
> >
> org.openstreetmap.osmosis.tagfilter.v0_6.WayKeyValueFilter.process(WayKeyValueFilter.java:53)
> >    at
> >
> crosby.binary.osmosis.OsmosisBinaryParser.parseDense(OsmosisBinaryParser.java:136)
> >    at crosby.binary.BinaryParser.parse(BinaryParser.java:107)
> >    at crosby.binary.BinaryParser.handleBlock(BinaryParser.java:51)
> >    at crosby.binary.file.FileBlock.process(FileBlock.java:117)
> >    at
> crosby.binary.file.BlockInputStream.process(BlockInputStream.java:15)
> >    at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:36)
> >    at java.lang.Thread.run(Unknown Source)
> > Mar 7, 2011 9:01:05 AM org.openstreetmap.osmosis.core.Osmosis main
> > SEVERE: 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:92)
> >    at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
> >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> >    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> >    at java.lang.reflect.Method.invoke(Unknown Source)
> >    at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
> >    at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
> >    at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
> >    at
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> >    at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
> >
> >
>
> _______________________________________________
> osmosis-dev mailing list
> osmosis-dev@openstreetmap.org
> http://lists.openstreetmap.org/listinfo/osmosis-dev
>
_______________________________________________
osmosis-dev mailing list
osmosis-dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/osmosis-dev

Reply via email to