[racket-dev] Contract problem

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Jun 8 09:40:03 EDT 2010

Stevie was looking into making some of these reports pin point
the problem more precisely after Matthew was here.

This should be considered a unit test for Stevie's efforts.


On Jun 8, 2010, at 1:12 AM, Eli Barzilay wrote:

> I just ran into some problem that might be in the contract system, or
> more likely in the xml collection (or maybe in both).  I basically ran
> some code that I was editing, and got the lovely error message below.
> IIUC, it says that xexpr is broken, which is potentially one problem.
> It's probably not strict enough about what it accepts, since the
> problem was basically due to my code using #<void> as the value of an
> attribute.  But the second problem is this error message shows the
> "Context" as a dump of the whole xexpr -- pretty printed across ~4500
> lines.
>
>
> /download/chronology/index.ss: running...
> <collects>/xml/private/xexpr.rkt:
>  (file
>   /home/scheme/plt/collects/xml/private/syntax.rkt)
> broke the contract (-> xexpr? string?) on xexpr->string given to
>  (file
>   /home/scheme/iplt/web/old/common/layout.ss)
> ; Not an Xexpr. Expected a string, given #<void>
>
> Context:
> (html
> ...126 lines...
>         ((href "http://download.plt-scheme.org/chronology/racket5.0.html 
> "))
>         (font ((color #<void>)) "Racket" nbsp (tt () "5.0"))
> ...4300 lines...
>  "\n"))
>
> === context ===
> /home/scheme/plt/collects/racket/contract/private/blame.rkt:54:0:  
> raise-blame-error
> /home/scheme/plt/collects/racket/private/more-scheme.rkt:173:2:  
> select-handler/no-breaks
> /home/scheme/plt/collects/racket/contract/private/arrow.rkt:1434:3
> /home/scheme/iplt/web/old/common/layout.ss:44:0: xexpr->string*
> /home/scheme/iplt/web/old/download/chronology/index.ss:66:0: run
> /home/scheme/iplt/web/old/common/utils.ss:8:50: run-file
> /home/scheme/iplt/web/old/common/build.ss:20:2: for-loop
> /home/scheme/iplt/web/old/common/build.ss:20:2: for-loop
> /home/scheme/plt/collects/racket/private/map.rkt:45:11: for-each
> /home/scheme/iplt/web/old/common/utils.ss:8:50: build
>
>
> -- 
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli  
> Barzilay:
>                    http://barzilay.org/                   Maze is  
> Life!
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev



Posted on the dev mailing list.