Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002033IDEsInstallation and Platform Issuespublic2017-10-10 13:302017-10-17 20:07
Assigned To 
PlatformGNU/Linux on Intel Atom N270OSDebian 9 / Linux 4.9.0-4-686-paeOS VersionMinimal netinst
Summary0002033: The inform6 compiler used by i7 crashes with a buffer overflow whenever invoked
DescriptionOn a minimal install of Debian 9 powered by Linux 4.9.0-4-686-pae, command-line Inform 7 plainly does not work. The i7 utility runs properly, and it's able to use ni to translate well-formed story files into Inform 6 source code, but the inform6 compiler crashes as soon as it starts up, reporting "*** buffer overflow detected ***: /usr/local/libexec/inform6 terminated." Under "additional information" I've included the complete build log. If I can find the time, I might try compiling Inform 7 from source with -g later, so as to possibly be able to provide a more readable and informative crash log.
Minimal Source Text To Reproduce
"Story" by "User"

There is a room.
Additional InformationThe build log was as follows.

***I7 compilation command: "/usr/local/libexec/ni" --internal "/usr/local/share/inform7/Internal" --format=ulx --project "/home/jaime/I7Projs/test/Test.inform"***
Inform 7 build 6M62 has started.
++ 0% (Reading text)
I've now read your source text, which is 8 words long.
++ 5% (Analysing sentences)
I've also read Standard Rules by Graham Nelson, which is 42655 words long.
I've also read English Language by Graham Nelson, which is 2297 words long.
++ 15% (Drawing inferences)
++ 20% (Binding rulebooks)
++ 23% (Binding rulebooks)
++ 26% (Binding rulebooks)
++ 29% (Binding rulebooks)
++ 32% (Binding rulebooks)
++ 35% (Binding rulebooks)
++ 38% (Binding rulebooks)
++ 41% (Generating code)
++ 44% (Generating code)
++ 47% (Generating code)
++ 50% (Generating code)
++ 53% (Generating code)
++ 56% (Generating code)
++ 59% (Generating code)
++ 62% (Generating code)
++ 65% (Generating code)
++ 68% (Generating code)
++ 71% (Generating code)
++ 74% (Generating code)
++ 77% (Generating code)
++ 80% (Generating code)
++ 83% (Generating code)
++ 86% (Generating code)
++ 89% (Generating code)
++ 92% (Generating code)
++ 95% (Generating code)
++ 98% (Generating code)

  The 8-word source text has successfully been translated into an intermediate
    description which can be run through Inform 6 to complete compilation.
    There were 1 room and 1 thing.
++ 100% (Finishing work)
++ Ended: Translation succeeded: 1 room, 1 thing
Inform 7 has finished.
***I6 Compilation CMD "/usr/local/libexec/inform6" -kE2wSDGx "/home/jaime/I7Projs/test/Test.inform/Build/auto.inf" -o "/home/jaime/I7Projs/test/Test.inform/Build/output.ulx"***
Inform 6.33N for Unix (30th August 2015)
*** buffer overflow detected ***: /usr/local/libexec/inform6 terminated
======= Backtrace: =========
======= Memory map: ========
08048000-08168000 r-xp 00000000 08:01 136038 /usr/local/share/inform7/Compilers/inform6
08168000-08170000 rw-p 0011f000 08:01 136038 /usr/local/share/inform7/Compilers/inform6
08170000-08182000 rw-p 00000000 00:00 0
08414000-08551000 rw-p 00000000 00:00 0 [heap]
b6701000-b77aa000 rw-p 00000000 00:00 0
b77aa000-b77ac000 r--p 00000000 00:00 0 [vvar]
b77ac000-b77ae000 r-xp 00000000 00:00 0 [vdso]
bfa9e000-bfabf000 rw-p 00000000 00:00 0 [stack]
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
zarf (developer)
2017-10-10 21:36

I take it you mean recompiling I6 from source...

It might be useful to transfer the generated auto.inf (I6) file to a Mac/Win machine to see if a known-good I6 compiler can handle it. But I strongly suspect that this is a problem with the I6 binary in the Linux package.
jaime (reporter)
2017-10-12 10:14

I've confirmed it works fine on 64-bit Ubuntu GNOME 16.04.3 LTS running on the linux-surface kernel from ppa:tigerite/kernel. Maybe it's just an issue with the 32-bit binary specifically. Will try under 64-bit Debian to eliminate all other confounding factors.
jaime (reporter)
2017-10-17 09:31

It is definitely a problem with the 32 bit Linux binary. I've confirmed it works fine on a 64-bit Linux machine but doesn't work in a 32-bit virtual machine on that same physical machine, regardless of what distro is installed. Have yet to attempt compiling from source with debug.
jaime (reporter)
2017-10-17 19:51
edited on: 2017-10-17 20:08

Update: I tried compiling the Inform 6 compiler from source and copying it to /usr/local/libexec/inform6 to overwrite the binary provided by the installation process.

This version of the Inform 6 compiler -- the one compiled from source -- works fine.

Given this, I'm inclined to believe either that the 32-bit binary for the Inform 6 compiler provided in the official .tar.gz is somehow corrupt, or, perhaps more likely, that mistakenly unpacks the 64-bit binary even on 32-bit architectures.

I've actually never seen what happens when a 32-bit architecture tries to run a 64-bit binary before. For my own edification, I'll compile from source on a 64-bit machine, try to run it on my 32-bit machine, and see if I get results consistent with what I was seeing before.

EDIT: Never mind. The 64-bit binary simply entirely refuses to run on the 32-bit architecture, as I should have known. I can only conclude there is a problem with the inform6 binary provided with the .tar.gz. If I can confirm my version works on other 32-bit Linux distros, I'll recompile without debug and attach it to this issue.

EDIT 2: My compilation of inform6 does seem to work on other 32-bit Linux distros, so I'm attaching it now.

EDIT 3: Never mind. It occurs to me I do not know how to attach a file to an existing issue report. There doesn't seem to be a way.

- Issue History
Date Modified Username Field Change
2017-10-10 13:30 jaime New Issue
2017-10-10 21:36 zarf Note Added: 0004732
2017-10-12 10:14 jaime Note Added: 0004733
2017-10-17 09:31 jaime Note Added: 0004736
2017-10-17 19:51 jaime Note Added: 0004737
2017-10-17 19:55 jaime Note Edited: 0004737 View Revisions
2017-10-17 20:07 jaime Note Edited: 0004737 View Revisions
2017-10-17 20:07 jaime Issue Monitored: jaime
2017-10-17 20:07 jaime Issue End Monitor: jaime
2017-10-17 20:08 jaime Note Edited: 0004737 View Revisions

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker