Bug#785257: osmosis: ClassCastException when reading from pgsnapshot

Toby Speight T.M.Speight.90 at cantab.net
Wed May 13 21:17:34 UTC 2015


Package: osmosis
Version: 0.43.1-4
Severity: normal

I recently dropped my pgsimple database and created a new pgsnapshot
database.  But although osmosis successfully writes to it (both
initially and every night using replication), a read fails:

/--------
| $ osmosis -q --read-pgsimp database=osm --dataset-dump --write-null
| log4j:WARN No appenders could be found for logger (org.springframework.jdbc.datasource.DataSourceTransactionManager).
| log4j:WARN Please initialize the log4j system properly.
| log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
| May 13, 2015 5:30:03 AM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
| SEVERE: Thread for task 1-read-pgsql failed
| java.lang.ClassCastException: java.util.HashMap cannot be cast to org.openstreetmap.osmosis.hstore.PGHStore
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityRowMapper.mapCommonEntityData(EntityRowMapper.java:80)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.NodeRowMapper.mapRow(NodeRowMapper.java:30)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.NodeRowMapper.mapRow(NodeRowMapper.java:17)
| 	at org.openstreetmap.osmosis.pgsnapshot.common.RowMapperRowCallbackListener.processRow(RowMapperRowCallbackListener.java:46)
| 	at org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.extractData(JdbcTemplate.java:1493)
| 	at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:446)
| 	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
| 	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
| 	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:460)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.getFeaturelessEntity(EntityDao.java:178)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.iterate(EntityDao.java:227)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.EntityDao.iterate(EntityDao.java:256)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.PostgreSqlDatasetContext.iterate(PostgreSqlDatasetContext.java:208)
| 	at org.openstreetmap.osmosis.dataset.v0_6.DumpDataset.process(DumpDataset.java:48)
| 	at org.openstreetmap.osmosis.pgsnapshot.v0_6.PostgreSqlDatasetReader.run(PostgreSqlDatasetReader.java:53)
| 	at java.lang.Thread.run(Thread.java:745)
| 
| May 13, 2015 5:30:03 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(NativeMethodAccessorImpl.java:57)
| 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| 	at java.lang.reflect.Method.invoke(Method.java:606)
| 	at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:328)
| 	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
| 	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
| 	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
| 	at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
\--------

Shell tracing /usr/bin/osmosis shows the final command as

/--------
| exec java -server -Xmx4G -Djava.io.tmpdir=/tmp/user/1000 -cp /usr/share/java/plexus-classworlds.jar -Dapp.home=/usr/share/osmosis -Dclassworlds.conf=/etc/osmosis/plexus.conf -Dlog4j.configuration=file:/etc/osmosis/log4j.properties org.codehaus.classworlds.Launcher -q --read-pgsimp database=osm --dataset-dump --write-null
\--------

My database was created using the SQL from
/usr/share/doc/osmosis/examples/pgsnapshot_schema_0.6*, and the table
definitions look reasonable - here's the nodes table:

/--------
| osm=# \d nodes
|                   Table "public.nodes"
|     Column    |            Type             | Modifiers 
| --------------+-----------------------------+-----------
|  id           | bigint                      | not null
|  version      | integer                     | not null
|  user_id      | integer                     | not null
|  tstamp       | timestamp without time zone | not null
|  changeset_id | bigint                      | not null
|  tags         | hstore                      | 
|  geom         | geometry(Point,4326)        | 
| Indexes:
|     "pk_nodes" PRIMARY KEY, btree (id)
|     "idx_nodes_geom" gist (geom)
\--------

P.S. the log4j warnings start appearing once I use pgsnapshot operations,
and didn't with pgsimple - related to Bug #579206, perhaps?


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing'), (900, 'stable'), (400, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel

Kernel: Linux 3.16.7-ckt2-balti (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages osmosis depends on:
ii  default-jre-headless [java6-runtime-headless]    2:1.7-52
ii  libbatik-java                                    1.7+dfsg-5
ii  libcommons-codec-java                            1.10-1
ii  libcommons-compress-java                         1.9-1
ii  libcommons-dbcp-java                             1.4-5
ii  libcommons-pool-java                             1.6-2
ii  libjpf-java                                      1.5.1+dfsg-4
ii  libmysql-java                                    5.1.32-1
ii  libnetty-java                                    1:3.2.6.Final-2
ii  libosmpbf-java                                   1.3.3-3
ii  libplexus-classworlds-java                       1.5.0-5
ii  libpostgis-java                                  2.1.7+dfsg-1
ii  libpostgresql-jdbc-java                          9.2-1002-1
ii  libprotobuf-java                                 2.6.1-1
ii  libspring-beans-java                             3.2.13-1
ii  libspring-context-java                           3.2.13-1
ii  libspring-core-java                              3.2.13-1
ii  libspring-jdbc-java                              3.2.13-1
ii  libspring-transaction-java                       3.2.13-1
ii  libxerces2-java                                  2.11.0-7
ii  libxz-java                                       1.5-1
ii  openjdk-6-jre-headless [java6-runtime-headless]  6b35-1.13.7-1
ii  openjdk-7-jre-headless [java6-runtime-headless]  7u79-2.5.5-1~deb8u1

osmosis recommends no packages.

osmosis suggests no packages.

-- no debconf information



More information about the Pkg-grass-devel mailing list