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

From: Vincent St-Amour (stamourv at ccs.neu.edu)
Date: Fri Feb 1 10:58:56 EST 2013

As you mention, the OC package doesn't touch any collect except its own,
so I don't know what's going on.

Neil, can you reproduce this with other packages, or is this OC-specific?
Also, does OC work properly now?

Vincent



At Fri, 1 Feb 2013 06:19:23 -0700,
Jay McCarthy wrote:
> 
> I think Vincent needs to answer the core question. But when you
> install a package it can extend any collection, so all collections
> that it mentions are built. In the case of OC, it only mentions OC so
> it would run "raco setup OC" which could cause other collections to be
> built as well, during the raco bootstrap phase, such as if you had
> done a "git pull" and didn't rebuild.
> 
> Jay
> 
> On Wed, Jan 30, 2013 at 5:34 PM, Neil Toronto <neil.toronto at gmail.com> wrote:
> > 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 ⊥
> >>>
> >>
> >
> > _________________________
> >  Racket Developers list:
> >  http://lists.racket-lang.org/dev
> 
> 
> 
> -- 
> Jay McCarthy <jay at cs.byu.edu>
> Assistant Professor / Brigham Young University
> http://faculty.cs.byu.edu/~jay
> 
> "The glory of God is Intelligence" - D&C 93
> 
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev


Posted on the dev mailing list.