Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,867
    • Issues 4,867
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 457
    • Merge requests 457
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #2164
Closed
Open
Created Mar 18, 2008 by guest@trac-guest

zmachine: internal error: task 0xa031e0: main thread 1 has been GC'd

So, I was recently looking at ZMachine, which is an emulator written in Haskell for the Infocom text adventures. It can be gotten from darcs here: <http://naesten.dyndns.org:8080/repos/ZMachine\>.

Anyway, I did some editing and installed and I tried it out on one of the text adventures SamB included in the repo:

gwern@localhost:1013~/bin/ZMachine>zmachine Museum.z5                                                                               [10:06PM]
[finding abbrev 0 at $84][finding abbrev 1 at $8c][(0,"look"),(5,"map")]
[(0,"look"),(5,"map")]
zmachine: internal error: task 0xa031e0: main thread 1 has been GC'd
(GHC version 6.8.2 for x86_64_unknown_linux)
Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
zsh: abort      zmachine Museum.z5

In this case, one of the objects in the room was a map, so I typed in the sensible 'look map', and that is what happened. (In case you were wondering, 'look at map' works fine, but you can then go 'look map' and it crashes with the same exact error.)

SamB doesn't remember putting in anything dangerous which he'd expect to do that. More importantly, when he runs from the same repo and tries out the same sequence he sees:

21:57 < SamB> [finding abbrev 0 at $84][finding abbrev 1 at $8c][(0,"look"),(5,"map")]
21:57 < SamB> [(0,"look"),(5,"map")]

No crash. He says he's on a Pentium 4, i386 architecture, while I'm using a quad-core Intel (x86_64, ~amd64 Gentoo)


SamB: Linux hydrogen 2.6.22-2-686 #1 SMP Fri Aug 31 00:24:01 UTC 2007 i686 GNU/Linux

gwern@localhost:1013~/bin/ZMachine>uname -a                                                                                         [10:07PM]
Linux localhost 2.6.24-gentoo-r3 #6 SMP PREEMPT Fri Mar 14 21:40:34 EDT 2008 x86_64 Intel(R) Core(TM)2 Quad CPU @ 2.40GHz GenuineIntel GNU/Linux

gwern@localhost:1014~/bin/ZMachine>ghc-pkg list                                                                                     [10:12PM]
/usr/lib64/ghc-6.8.2/package.conf:
    ALUT-2.1.0.0, Cabal-1.2.3.0, GLUT-2.1.1.1, HDBC-1.1.4,
    HDBC-odbc-1.1.4.0, HDBC-postgresql-1.1.4.0, HDBC-sqlite3-1.1.4.0,
    HGL-3.2.0.0, HTTP-3001.0.4, HUnit-1.2.0.0, OpenAL-1.3.1.1,
    OpenGL-2.2.1.1, QuickCheck-1.1.0.0, Stream-0.2.2, X11-1.4.1,
    X11-xft-0.2, array-0.1.0.0, arrows-0.3, base-3.0.1.0,
    bytestring-0.9.0.1, bytestring-0.9.0.4, bzlib-0.4.0.1,
    cairo-0.9.12.1, cgi-3001.1.5.2, containers-0.1.0.1, cpphs-1.5,
    directory-1.0.0.0, fgl-5.4.1.1, filepath-1.1.0.0, fingertree-0.0,
    (ghc-6.8.2), glade-0.9.12.1, glib-0.9.12.1, gtk-0.9.12.1,
    gtkglext-0.9.12.1, harp-0.2, haskell-src-1.0.1.1,
    haskell-src-exts-0.2, haskell98-1.0.1.0, hpc-0.5.0.0, hscolour-1.9,
    hslogger-1.0.4, hsql-1.7, hsql-mysql-1.7, hsql-odbc-1.7,
    hsql-postgresql-1.7, hsql-sqlite3-1.7, html-1.0.1.1, hxt-7.5,
    iconv-0.4, mtl-1.1.0.0, network-2.1.0.0, old-locale-1.0.0.0,
    old-time-1.0.0.0, packedstring-0.1.0.0, parallel-1.0.0.0,
    parsec-2.1.0.0, polyparse-1.1, pretty-1.0.0.0, process-1.0.0.0,
    random-1.0.0.0, readline-1.0.1.0, regex-base-0.72.0.1,
    regex-compat-0.71.0.1, regex-posix-0.72.0.2, rts-1.0,
    soegtk-0.9.12.1, stm-2.1.1.0, svgcairo-0.9.12.1, tagsoup-0.4,
    template-haskell-2.2.0.0, time-1.1.2.0, unix-2.3.0.0,
    utf8-string-0.2, uulib-0.9.5, xhtml-3000.0.2.2, xmonad-0.6,
    xmonad-contrib-0.6
/home/gwern/.ghc/x86_64-linux-6.8.2/package.conf:
    AGI-1.1.1, ArrayRef-0.1, AvlTree-2.4, CC-delcont-0.2,
    COrdering-2.1, Cabal-1.3.3, Cabal-1.3.6, Cabal-1.3.7, Chart-0.5,
    ChasingBottoms-1.2.2, Codec-Compression-LZF-0.2, ConfigFile-1.0.4,
    Conjure-0.1, ContArrow-0.0.3, Crypto-4.1.0, DBus-0.1,
    DeepArrow-0.0.1, DisTract-0.2.5, EdisonAPI-1.2.1,
    EdisonCore-1.2.1.1, Encode-0.7, Etherbunny-0.3, FileManip-0.3.1,
    Finance-Quote-Yahoo-0.4.1, FiniteMap-0.1, GLFW-0.2, GLUT-2.1.1.1,
    HAppS-Data-0.9.1, HAppS-IxSet-0.9.1, HAppS-Server-0.9.1,
    HAppS-State-0.9.1, HAppS-Util-0.9.1, HCL-1.2, HFuse-0.1,
    HGL-3.2.0.0, HList-0.1, {HPDF-1.3}, HSH-1.2.5, HStringTemplate-0.1,
    HTF-0.1, HTTP-3001.0.0, HTTP-Simple-0.1, HaLex-1.1, HaXml-1.13.3,
    HaXml-1.19.2, HsJudy-0.1, HsJudy-0.1.1, HsOpenSSL-0.3.1,
    HsSyck-0.41, HsSyck-0.42, IFS-0.1.1, IOSpec-0.1.1, Imlib-0.1,
    IndentParser-0.2.1, ListLike-1.0.1, MaybeT-0.1.1, MissingH-1.0.0,
    NewBinary-0.1, OpenGL-2.2.1.1, PArrows-0.1, PostgreSQL-0.2,
    Postmaster-0.1, QuickCheck-2.0, RJson-0.1, Ranged-sets-0.1.1,
    Safe-0.1, Shellac-0.9.1, Shellac-readline-0.9, TV-0.2,
    TypeCompose-0.3, TypeCompose-0.4, {Unixutils-1.14}, X11-1.4.1,
    X11-1.4.1.20080127, X11-xft-0.2, YamlReference-0.6, ZFS-0.0,
    anydbm-1.0.4, anydbm-1.0.5, base64-string-0.1, bencode-0.3,
    binary-0.4.1, binary-strict-0.1, binary-strict-0.2.1,
    binary-strict-0.2.2, binary-strict-0.3.0, bio-0.2, bio-0.3.3,
    bktrees-0.2.1, blockio-0.0-2006-02-03, bytestring-0.9.0.1,
    bytestring-0.9.0.4, cgi-3001.1.5.1, cgi-3001.1.5.2,
    cgi-undecidable-3000.0.0, child-0.0-2005-02-14, chunks-2007.4.18,
    condorcet-0.0.1, csv-0.1.1, curl-1.3.2, dataenc-0.10.2,
    dbus-haskell-0.1, {debian-1.2}, denominate-0.4.1, derive-0.1,
    derive-0.1.1, dimensional-0.7.2, dlist-0.4, dsp-0.2.1,
    encoding-0.3, event-list-0.0.5, exif-3000.0.0, fec-0.1.1,
    filepath-1.1.0.0, fingertree-0.0, fixpoint-0.1, flock-0.1,
    folkung-2.3, frag-1.1, fst-0.9, ftphs-1.0.4, gal-1.0, gd-3000.4.0,
    genericserialize-0.1, greencard-3.0.1, greencard-lib-3.0.1,
    haddock-2.0.0.0, haddock-2.1.0, halfs-0.2, harp-0.2.1, harpy-0.4,
    haskell-src-exts-0.2.1, haskelldb-0.11, haxr-3000.0.1,
    hera-ajaxgui-2.1-dev, hera-engine-2.1-dev, hera-prelude-2.1-dev,
    hfov-1, hinotify-0.2, hinstaller-2007.5.13, hmarkup-3000.0.1,
    hmatrix-0.2.0.0, hopenssl-0.0-2005-02-14, hosc-0.1, hosc-0.2,
    hs-fltk-0.2.5, hsc3-0.2, hscurses-1.1, hscurses-1.2, hscurses-1.3,
    hsdns-1.1, hsemail-1.1, hslogger-1.0.2, hslua-0.2, hsntp-0.1,
    hsp-0.2, hspr-sh-0.3, hspread-0.2, hstats-0.2, hstringtemplate-0.1,
    html-1.0.1.1, hybrid-2.0, i18n-0.2, i18n-0.3, idris-0.0.1,
    infix-0.1, interlude-0.1, ipprint-0.3, irc-0.4, ivor-0.1.5,
    lax-0.0.0, lazysmallcheck-0.1, libGenI-0.16, libmpd-0.1.3,
    loch-0.2, magic-1.0.7, markov-chain-0.0.1, memcached-0.1,
    mersenne-random-0.1, metaplug-0.1.1, midi-0.0.4, miniplex-0.2.2,
    monad-param-0.0.2, monadLib-3.3.0, monadenv-0.0-2005-02-14,
    mtlparse-0.0.0.5, nano-md5-0.1.1, network-bytestring-0.1.1,
    network-bytestring-0.1.1.2, non-negative-0.0.1, numbers-2007.9.25,
    oeis-0.1, parse-dimacs-1.0, parsedate-3000.0.0, pcap-0.4.2,
    pcre-light-0.2.1, pcre-light-0.3, plugins-1.1, polyparse-1.1,
    popenhs-1.0.0, postmaster-0.1, powermate-0.1, pqc-0.2,
    propgrid-0.1, pugs-HsSyck-0.2, pugs-HsSyck-0.41, pugs-hsregex-1.0,
    pureMD5-0.1.0, pureMD5-0.1.1, rbr-0.7, rbr-0.8.3, reactive-0.4,
    regex-base-0.72.0.1, regex-base-0.93.1, regex-posix-0.72.0.2,
    regex-posix-0.93.1, rss-3000.0.1, safecopy-0.3, scgi-0.1,
    selenium-0.2.2, sessions-2008.2.20, shell-pipe-0.1, simpleargs-0.1,
    smallcheck-0.2, smallcheck-0.2.1, stream-fusion-0.1.1, strict-0.3,
    strict-concurrency-0.1, stringsearch-0.2, supercollider-ht-0.0,
    syb-with-class-0.4, tagsoup-0.3, tagsoup-0.4, tagsoup-0.5,
    tar-0.1.1.1, template-0.1.1.1, terminfo-0.1, type-int-0.3,
    type-level-0.1, uniplate-1.0.1, unix-compat-0.1.2.1,
    unix-pty-light-0.1, value-supply-0.1, vty-3.0.0, whim-0.1,
    wl-pprint-1.0, xhtml-3000.0.2.1, xhtml-3000.0.2.2, xmonad-0.6,
    xmonad-contrib-0.6, xsact-1.6, zlib-0.4.0.2

-- gwern

Edited Mar 09, 2019 by Ian Lynagh <igloo@earth.li>
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking