[racket-dev] Installing Optimization Coach broke Racket's reader

From: Neil Toronto (neil.toronto at gmail.com)
Date: Wed Jan 30 19:34:49 EST 2013

This worked:

~/plt/collects$ find . -name "compiled" -exec rm -rf \{\} \;
~/plt/collects$ ../bin/raco setup

That first command to delete the ghosts of misbegotten .zos is arcane 
and dangerous. Why would installing a package create compiled files in 
"collects"?

Neil ⊥

On 01/30/2013 05:12 PM, Neil Toronto wrote:
> Setup finished, still had the reader error. I removed Optimization
> Coach, cleaned, and ran setup again. My reader is still broken.
>
> "git status" shows no changes in my local repo. "raco pkg show" shows no
> packages. "raco link -l" shows no additional links.
>
> Where are these invisible craptastic things that are breaking my stuff?
>
> Neil ⊥
>
> On 01/30/2013 04:47 PM, Neil Toronto wrote:
>> Ran this program:
>>
>> #lang racket
>> (require planet2)
>> (install "optimization-coach")
>>
>> Realized setup was running on one thread, stopped program, closed
>> DrRacket.
>>
>> Figured Optimization Coach must have been downloaded already, so I ran
>> setup:
>>
>> $ ./raco setup
>>
>> Everything appeared to work. Started DrRacket:
>>
>> $ ./drracket &
>>
>> Got this error on startup:
>>
>> DrRacket:module-language.rkt:first-opened exn: link: bad variable
>> linkage;
>> reference to a variable that has the wrong procedure or structure-type
>> shape
>> reference phase level: 0
>> variable module: "/home/neil/plt/collects/syntax/module-reader.rkt"
>> variable phase: 0
>> reference in module: "/home/neil/plt/collects/racket/lang/reader.rkt"
>> (|[running body]| . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/lang/reader.rkt> #f #f #f #f))
>> (call-with-limits . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 358 0 14429 1724))
>> (call-with-custodian-shutdown . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 406 0 16321 316))
>> (call-with-break-parameterization . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/private/more-scheme.rkt> 146 2
>> 4832 517))
>> (loop . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 763 5 32166 1584))
>> (#f . #(struct:srcloc
>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 451 6
>> 19918 1056))
>> (#f . #(struct:srcloc
>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 502 32
>> 21905 120))
>> (call-with-break-parameterization . #(struct:srcloc
>> #<path:/home/neil/plt/collects/racket/private/more-scheme.rkt> 146 2
>> 4832 517))
>> (loop . #(struct:srcloc
>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 397 18
>> 17838 540))
>>
>> But DrRacket still worked. Okay... ran the default program ("#lang
>> racket"), got this output:
>>
>> Module Language: invalid module text
>> link: bad variable linkage;
>> reference to a variable that has the wrong procedure or structure-type
>> shape
>> reference phase level: 0
>> variable module: "/home/neil/plt/collects/syntax/module-reader.rkt"
>> variable phase: 0
>> reference in module: "/home/neil/plt/collects/racket/lang/reader.rkt"
>> in: wrap-internal
>>
>> Just did "raco setup -c" and "raco setup", waiting for completion.
>>
>> Any idea what broke?
>>
>> Neil ⊥
>>
>


Posted on the dev mailing list.