Issue1197

Title unhandled exception in translator for non-stratifiable axioms
Priority bug Status resolved
Superseder Nosy List Claudia, jendrik, malte
Assigned To Keywords translator
Optional summary

Created on 2026-01-26.12:23:58 by Claudia, last changed by malte.

Files
File name Uploaded Type Edit Remove
domain.pddl Claudia, 2026-01-26.12:23:58 application/octet-stream
probBLOCKS-4-0.pddl Claudia, 2026-01-29.11:26:07 application/octet-stream
Messages
msg11957 (view) Author: malte Date: 2026-02-06.13:09:54
We discussed this further, made some simplifications, and Claudia will merge
this now.
msg11956 (view) Author: malte Date: 2026-02-05.22:54:49
I left a comment for the pull request.
msg11955 (view) Author: Claudia Date: 2026-02-04.10:34:08
Pull request for the fix: https://github.com/aibasel/downward/pull/280
msg11952 (view) Author: Claudia Date: 2026-01-29.11:39:23
Not sure if I have the time for it today or tomorrow but I would look into it
during the sprint next week.
msg11951 (view) Author: malte Date: 2026-01-29.11:33:57
Thanks! I can now reproduce this.

The cause of the unusual output is that this is not an "error" as such -- a bad input that we catch and report to the user -- but a crash (an unhandled exception in the translator). Someone decided that for crashes we print things with "repr", which is less user-friendly but more informative and reliable for developers than printing with "str". (It does not hide any aspects of the output, including whitespace, and it cannot trigger a separate crash due to unicode encoding issues.) I don't remember why we decided to do this, but there are good reasons for it. These messages are never meant to be seen by a user, so we care less about how pretty it looks.

So the real problem is that the translator crashes in the first place and this error is not caught. I'm changing the title of the issue.

Do you want to look into this?
msg11950 (view) Author: Claudia Date: 2026-01-29.11:26:07
That makes sense in hindsight, I just realized that I also adjusted the problem
file and not only the domain file. I attached the modified problem file. (I
simply added the newly introduced derived predicate to the goal.)
msg11949 (view) Author: malte Date: 2026-01-29.11:15:17
It doesn't crash for me. Perhaps this is because I used the wrong problem file? Can you also add a problem file?
msg11948 (view) Author: Claudia Date: 2026-01-26.12:23:58
Error messages produced by the translator are single-line but should be multi-
line. The error message string contains '\n' characters, so these are apparently
not correctly translated into line breaks when displayed on the command line.

I
attached a modified blocksworld domain file that contains unstratifiable axioms
and makes the translator crash. The resulting error message is displayed single-
line instead of multi-line.
History
Date User Action Args
2026-02-06 13:09:54maltesetstatus: chatting -> resolved
messages: + msg11957
2026-02-05 22:54:49maltesetmessages: + msg11956
2026-02-04 10:34:08Claudiasetmessages: + msg11955
2026-01-29 11:39:23Claudiasetmessages: + msg11952
2026-01-29 11:33:57maltesetmessages: + msg11951
title: Translator error messages have no line breaks -> unhandled exception in translator for non-stratifiable axioms
2026-01-29 11:26:07Claudiasetfiles: + probBLOCKS-4-0.pddl
messages: + msg11950
2026-01-29 11:16:01maltesetnosy: + jendrik
2026-01-29 11:15:17maltesetstatus: unread -> chatting
nosy: + malte
messages: + msg11949
2026-01-26 12:23:58Claudiacreate