|Anonymous | Login | Signup for a new account||2020-07-07 10:57 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002113||Core Inform||Rules and rulebooks||public||2019-10-27 00:06||2019-10-27 09:22|
|Priority||high||Severity||serious||Reproducibility||unable to reproduce|
|Platform||Linux x64||OS||Linux Mint||OS Version||19.1|
|Target Version||Fixed in Version|
|Summary||0002113: Compilation fails with "An internal error has occurred: not a description."|
|Description||Attempting to compile my current work in progress results in:|
Report on Translation: Failed
Produced by Inform 7 (build 6M62)
(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)
In Volume General Declarations, Book Time, Part Weather and Celestial Phenomena:
Problem. An internal error has occurred: not a description. The current sentence is 'Every turn during a rainy scene (called the stormy scene) (this is the check for a soaked melodeon rule)' ; the error was detected at line 111 of "inform7/Chapter 20/Descriptions.w". This should never happen, and I am now halting in abject failure.
What has happened here is that one of the checks Inform carries out internally, to see if it is working properly, has failed. There must be a bug in this copy of Inform. It may be worth checking whether you have the current, up-to-date version. If so, please report this problem via www.inform7.com/bugs.
As for fixing your source text to avoid this bug, the last thing you changed is probably the cause, if there is a simple cause. Your source text might in fact be wrong, and the problem might be occurring because Inform has failed to find a good way to say so. But even if your source text looks correct, there are probably rephrasings which would achieve the same effect.
In perfect accordance with Murphy's Law, this occurred after going through and making some two dozen or so small changes as part of a code cleanup. I have not yet been able to account for which of the small changes caused the problem. However, here is the text of the rule about which the compiler is specifically complaining:
Every turn during a rainy scene (called the stormy scene) (this is the check for a soaked melodeon rule):
if the stormy scene has been happening for 20 turns:
Say "It's no good. You look down at your beloved melodeon, soaked through, and realize that it is permanently ruined. You can't afford to replace the components that have been soaked, but neither can you imagine life without the accordion around your neck.";
End the story saying "Life no longer has any meaning.";
continue the action.
|Minimal Source Text To Reproduce|
I have not been able to reproduce the error in a new project. However, if it is helpful, I am happy to send a copy of the 0000048:0000018,000-word source text causing the problem.
|Additional Information||The problem seems to be with describing a scene as "rainy" and then testing for that condition in rules. Changing the rule to refer to a specific scene, called Rainstorm, after declaring|
Rainstorm is a rainy scene.
works again. (There are several other rules defined similarly; Inform similarly chokes over them when they are defined in terms of "a rainy scene", but is happy to tie them to the specific rainy scene "Rainstorm".
|Tags||No tags attached.|
|Effect||(critical) Compiler reports internal error|
|2019-10-27 00:06||patrick_mooney||New Issue|
|2019-10-27 09:22||zarf||Relationship added||duplicate of 0001823|
|Copyright © 2000 - 2010 MantisBT Group|