Bug#935990: mkgmap: Boundary preprocessor and splitter throw exceptions, likely dependency issue

Melvin Vermeeren vermeeren at posteo.net
Wed Aug 28 19:11:10 BST 2019


Package: mkgmap
Version: 0.0.0+svn4262-1
Severity: grave
Justification: renders package unusable

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

It appears something is seriously wrong with dependency versions, linkage or
similar, as both mkgmap's boundary preprocessor and mkgmap-splitter are broken,
throwing exceptions.

I cannot determine what the problem is exactly, but from what I read similar
errors often are caused by dependency version mismatches, especially with
protobuf. Perhaps the classes are compiled with a mismatched protobuf compiler
version (compared to runtime)?

Upstream pre-compiled download ships with versions:
fastutil-6.5.15-mkg.1b.jar
osmpbf-1.3.3.jar
protobuf-java-2.5.0.jar

Upstream mkgmaps-splitter ships, in addition to the above three, with versions:
xpp3-1.1.4c.jar

If I use upstream's zip file, and the upstream-provided libraries/dependencies,
everything works fine. I use an utility called vermosm for generating the maps,
the following steps will reproduce the problem using the tiny country Luxembourg
to avoid downloading big files and to avoid long processing time. Around 300MiB
will be downloaded, processing will fail very quickly after downloading.

git clone https://git.mel.vin/osm/vermosm.git vermosm
cd vermosm
# Check required dependencies in README.md, optionals not needed to reproduce.
./vermosm.sh -c luxembourg -r europe -t asset/typ/freizeitkarte_contrast.txt -v

mkgmap boundary preprocessor throws:

java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor.runPreprocessing(BoundaryPreprocessor.java:186)
        at uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor.main(BoundaryPreprocessor.java:129)
Caused by: java.lang.UnsupportedOperationException
        at crosby.binary.Fileformat$BlobHeader.dynamicMethod(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.dynamicMethod(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.isInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.isInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.checkMessageInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.parseFrom(Unknown Source)
        at crosby.binary.Fileformat$BlobHeader.parseFrom(Unknown Source)
        at crosby.binary.file.FileBlockHead.readHead(Unknown Source)
        at crosby.binary.file.FileBlock.process(Unknown Source)
        at crosby.binary.file.BlockInputStream.process(Unknown Source)
        at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler.parse(OsmBinHandler.java:57)
        at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.parse(OsmMapDataSource.java:171)
        at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:152)
        at uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor.createRawData(BoundaryPreprocessor.java:97)
        at uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor.run(BoundaryPreprocessor.java:74)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Bnd files converted in 1148 ms

mkgmap-splitter throws:

java.lang.UnsupportedOperationException
        at crosby.binary.Fileformat$BlobHeader.dynamicMethod(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.dynamicMethod(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.isInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.isInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.checkMessageInitialized(Unknown Source)
        at com.google.protobuf.GeneratedMessageLite.parseFrom(Unknown Source)
        at crosby.binary.Fileformat$BlobHeader.parseFrom(Unknown Source)
        at crosby.binary.file.FileBlockHead.readHead(Unknown Source)
        at crosby.binary.file.FileBlock.process(Unknown Source)
        at crosby.binary.file.BlockInputStream.process(Unknown Source)
        at uk.me.parabola.splitter.OSMFileHandler.process(OSMFileHandler.java:98)
        at uk.me.parabola.splitter.OSMFileHandler$1.run(OSMFileHandler.java:148)
uk.me.parabola.splitter.SplitFailedException: ERROR: file build/osm/vermosm_europe_benelux_germany_switzerland_austria.osm.pbf caused exception
        at uk.me.parabola.splitter.OSMFileHandler.process(OSMFileHandler.java:127)
        at uk.me.parabola.splitter.OSMFileHandler$1.run(OSMFileHandler.java:148)

- -- System Information:
Debian Release: 10.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-5-amd64 (SMP w/12 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mkgmap depends on:
ii  default-jre-headless [java8-runtime-headless]     2:1.11-71
ii  libfastutil-java                                  8.2.2-1
ii  libosmpbf-java                                    1.3.3-11
ii  libprotobuf-java                                  3.6.1.3-2
ii  openjdk-11-jre-headless [java8-runtime-headless]  11.0.4+11-1~deb10u1

mkgmap recommends no packages.

Versions of packages mkgmap suggests:
pn  josm       <none>
ii  qmapshack  1.13.1-1~bpo10+1

- -- no debconf information

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCgAzFiEETnzUjuV5O+rCrz6nRiwQnTrHuFkFAl1mw70VHHZlcm1lZXJl
bkBwb3N0ZW8ubmV0AAoJEEYsEJ06x7hZhYcP/3Ju5iIAqxCueacZb10V9U7gGzF5
mP8J8/h0cfdE0FpwLlQbPxMgZdyOS6H9cJm/OMnYbYq+j9J75cMn580AVNX0Hi5O
yZljHcLXxmQVMBx+b7d0fJ03rtM4RvPgL+/etwIRk7qZFxxztkhwM+o45KEyV8f5
m8jxf7wcc9tnDiammQXAMlTidV5CqaxiQv43NLtuFXT7cRPgpYpbq3ypmFC6ulxu
DXpsctGy5JlLlcMuJbcja2SKCT6vObmtp3hKy6a9YSdf4ySTQ3dpdDPdvp3ukfvG
0oIIePaYg0Kh4qr8wZHjdLgsz4cc660MlvQBmQ9lSqaXD5zEFnL3I7remy2+pHcF
GDfM3BT35yv8aLRXwELfVcX8HIVvKYBxN7grfrm9jwLPaBAIQclE2SCwP96pltgs
0wKGnrBURAqfYhtmLw9+fGA2yBHxJPhsPtfytCcgEQwCHY3fuxgpdFmqwGO49nSc
x1t6zDX/L+En1Wts25O63pviOydeg+56eGjKPr1Xj146tdGoslsLuopa458dXxbq
Fu+3En8/bK7vRVzYcOQU93x5FYrg/LAGKvTXD9CUL8vmx57wTRg2MDS51Ua23ZPD
8LkVKrhFNnK+c1PiASnmllykoC+XaKjdT9y4MwNGp24s8YML18rr9zgXO6GUY9+y
wa78fRN7bRP/0jg3
=ezMp
-----END PGP SIGNATURE-----



More information about the Pkg-grass-devel mailing list