print tracebacks and line numbers for Lua runtime errors (#6564)

* print tracebacks and line numbers for Lua runtime errors

* revert format changes

* update changelog with lua traceback, #6564

* revert using protected_function for old GetStringListFromFunction and source_function #6564

* add unit test for line numbers in tracebacks, #6564

* apply clang-format (#6564)

* remove unused test helper function, #6564

* suppress leaksanitizer warnings in extract-tests, #6564

When the extractor encounters a lua runtime error, some osmium objects are not freed. In production this doesn't matter because these errors bring down OSRM. In the tests we catch them to ensure they occur, and the leaksanitizer flags them.
This commit is contained in:
Matthew Wigginton Bhagat-Conway
2023-03-23 14:18:58 -04:00
committed by GitHub
parent 192d077ada
commit d6afe91d8f
10 changed files with 906 additions and 20 deletions
+9
View File
@@ -6,3 +6,12 @@
# #1 0x7f7ae595d13e (/usr/lib/x86_64-linux-gnu/libtbb.so.2+0x2213e)
leak:libtbb.so
# The extract-tests leak some memory in the tests to confirm that
# lua errors print tracebacks.
# This appears to be because when these tests throw exceptions, the
# osmium objects being processed are not freed. In production this doesn't
# matter, as the exceptions bring down the entire osrm-extract process. In the
# tests, we catch the error to make sure it occurs, which is why the
# leaksanitizer flags it.
leak:extract-tests