Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002113Core InformRules and rulebookspublic2019-10-27 00:062019-10-27 09:22
Assigned To 
PriorityhighSeverityseriousReproducibilityunable to reproduce
PlatformLinux x64OSLinux MintOS Version19.1
Product Version6M62 
Target VersionFixed in Version 
Summary0002113: Compilation fails with "An internal error has occurred: not a description."
DescriptionAttempting 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

 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 InformationThe 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".
TagsNo tags attached.
Effect(critical) Compiler reports internal error
Attached Files

- Relationships
duplicate of 0001823confirmed Internal error on "during" clause with description of scenes 

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker