Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ValueError: could not convert string to float: '' #7

Open
mbaer-tr opened this issue Jul 21, 2023 · 1 comment
Open

ValueError: could not convert string to float: '' #7

mbaer-tr opened this issue Jul 21, 2023 · 1 comment

Comments

@mbaer-tr
Copy link

Installed Waymarkedtrails database according to this manual: https://github.com/waymarkedtrails/waymarkedtrails-backend/ (with the whole planet as data soruce like in the manual)
All went fine until creating additional route databases for hiking with the command 'wmt-makedb hiking import' - then, after some hours, an error occured and the script died:

`23-07-20 11:31:40 Importing changed_objects...
23-07-20 11:31:40 Importing filtered_relations...
23-07-20 11:32:52 Importing way_relations...
23-07-20 11:32:59 Using 1 parallel threads.
23-07-20 15:43:51 Importing segments...
23-07-20 15:50:25 Using 1 parallel threads.
23-07-20 16:25:10 Importing hierarchy...
23-07-20 16:25:13 Importing routes...
23-07-20 16:25:13 Using 1 parallel threads.
23-07-20 16:25:21 Using 1 parallel threads.
23-07-20 16:25:45 Using 1 parallel threads.
23-07-20 16:27:55 Using 1 parallel threads.
Exception in thread Thread-6:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/dist-packages/osgende/common/threads.py", line 53, in worker_loop
process_func(req)
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 189, in _process_construct_next
cols = self._construct_row(obj, self.thread.conn)
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 285, in _construct_row
outtags.symbol = self._write_symbol(tags, outtags.country,
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 228, in _write_symbol
sym.to_file(self.config.symbol_datadir / f'{uid}.svg', format='svg')
File "/usr/local/lib/python3.8/dist-packages/wmt_shields/common/shield_maker.py", line 86, in to_file
buf = self.create_image(format)
File "/usr/local/lib/python3.8/dist-packages/wmt_shields/common/shield_maker.py", line 116, in create_image
buf = self._mangle_svg(buf.decode('UTF8')).encode('UTF8')
File "/usr/local/lib/python3.8/dist-packages/wmt_shields/common/shield_maker.py", line 162, in _mangle_svg
x = float(e.getAttribute('x'))
ValueError: could not convert string to float: ''
23-07-20 16:34:39 Internal error. Thread died. Killing other threads.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/osgende/common/threads.py", line 71, in add_task
self.queue.put(data, True, 2)
File "/usr/lib/python3.8/queue.py", line 147, in put
raise Full
queue.Full

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./wmt-makedb", line 248, in
exit(action())
File "./wmt-makedb", line 125, in construct
self.mapdb.construct()
File "/usr/local/lib/python3.8/dist-packages/osgende/mapdb.py", line 127, in construct
tab.construct(self.engine)
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 128, in construct
self._insert_objects(engine)
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 100, in _insert_objects
self.insert_objects(conn, subset)
File "/root/waymarked/waymarkedtrails-backend/wmt_db/tables/routes.py", line 183, in insert_objects
workers.add_task(obj)
File "/usr/local/lib/python3.8/dist-packages/osgende/common/threads.py", line 143, in add_task
self.worker.add_task(data)
File "/usr/local/lib/python3.8/dist-packages/osgende/common/threads.py", line 74, in add_task
self.check_worker_state()
File "/usr/local/lib/python3.8/dist-packages/osgende/common/threads.py", line 85, in check_worker_state
raise WorkerError("Internal error. Thread died.")
osgende.common.threads.WorkerError: Internal error. Thread died.
23-07-20 16:34:39 Used memory by index: 88172307784`

Tested the same install with a small .osm.pbf file (https://download.geofabrik.de/africa/canary-islands-latest.osm.pbf) and all was good.
Guess there are some issues in teh source which need to handled?

Would be nice if you check on this issue.

@lonvia
Copy link
Collaborator

lonvia commented Jul 21, 2023

Works fine on the production servers, so might be an issue with newer Cairo versions. You need to provide more debug information: what Cairo and pyCairo version you are using and what shield exactly fails.

You might be lucky and be able to reproduce the error with the test code. Run python3 test/render_test.py <some tempdir>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants