|Anonymous | Login | Signup for a new account||2017-10-23 13:27 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002033||IDEs||Installation and Platform Issues||public||2017-10-10 13:30||2017-10-17 20:07|
|Platform||GNU/Linux on Intel Atom N270||OS||Debian 9 / Linux 4.9.0-4-686-pae||OS Version||Minimal netinst|
|Summary||0002033: The inform6 compiler used by i7 crashes with a buffer overflow whenever invoked|
|Description||On 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 Information||The 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]
|Tags||No tags attached.|
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.
|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.|
|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.|
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 install-inform7.sh 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.
|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|