[racket-dev] Can't Find a Workaround for Bug 11017 in DrRacket

From: Doug Williams (m.douglas.williams at gmail.com)
Date: Tue Jul 20 16:12:33 EDT 2010

Since it is autogenerated code, most of the time it is just run once (via a
shell call) and discarded - it's the results that are important and send
back to the knowledge base. So, I don't need to keep the .zo files up to
date. In fact, the only reason I ever execute the autogenerated code under
DrRacket is when I'm debugging the code generator itself.

However, we're now looking at using the generated models themselves in some
more advanced parametric analysis. That's why I split the Monte Carlo code
out separately and ran into the bug. The production system is still under
V4.2.5 and doesn't have the problem - and it is strictly in the
run-once-and-forget mode. I only ran into the problem on my laptop, which
I'd rather not drop back to pre-V5.

I'll see if disabling the automatic compilation also solves the problem.

Doug

On Tue, Jul 20, 2010 at 1:45 PM, Robby Findler
<robby at eecs.northwestern.edu>wrote:

> Did you try disabling the automatic compilation (in the details
> portion of the language dialog)? My guess is that that will make the
> problem go away. (If so, you can also then start running "raco make
> <filename.rkt>" in the shell to keep the .zo files up to date and save
> on load times.)
>
> Robby
>
> On Tue, Jul 20, 2010 at 2:24 PM, Doug Williams
> <m.douglas.williams at gmail.com> wrote:
> > Okay, some more information.
> >
> > If I execute DrRacket with the Monte Carlo file, make sure Debugging is
> > checked (in the Language dialog with Show Details), and hit Run, I get
> the
> > error:
> >
> > string<?: expects type <string> as 1st argument, given: #f; other
> arguments
> > were:
> >
> "0fe14e326dff1551df22271bdae03080a46dff5a9cd41e2f58a86ac8158ca605f292b20a02896479"
> >
> > with no backtrace available.
> >
> > If I then select No debugging or profiling and hit Run, I get the error:
> >
> > ..\..\..\..\..\..\..\..\..\Program
> > Files\Racket\collects\racket\private\sort.rkt:85:19: string<?: expects
> type
> > <string> as 1st argument, given: #f; other arguments were:
> >
> "082577093f20c187869d70b940a5b298cd5572084c12d02f2de08868342b8264c39b7fe111a38bf5"
> >
> > with a backtrace.
> >
> > If I then select Debugging and profiling and hit Run, it actually runs
> > (although more slowly) and produces a profile.
> >
> > Interestingly, I can then go and check either Debugging or No debugging
> or
> > profiling and it runs. But, if I exit and restart DrRacket it goes back
> to
> > not working.
> >
> > Weird, huh?
> >
> > Doug
> >
> > On Tue, Jul 20, 2010 at 11:18 AM, Doug Williams
> > <m.douglas.williams at gmail.com> wrote:
> >>
> >> I seem have hit the same (or related) bug that Laurent Orseau submitted
> as
> >> bug 11017 (but in a completely different context that might help track
> it
> >> down) and I haven't been able to find a workaround. The actual error
> message
> >> I get is:
> >>
> >> string<?: expects type <string> as 1st argument, given: #f; other
> >> arguments were:
> >>
> >>
>  "c29a751537a750b825f72c9ee37eea737a0f3a8b9cd41e2f58a86ac8158ca605f292b20a02896479"
> >>
> >> coming from somewhere in the bowels of DrRacket. I don't get the error
> >> when using Racket (i.e., MzScheme). I'm not sure if this machine was
> running
> >> the stock V5.0 or a post-V5.0 nightly build that fixed a PLaneT problem
> I
> >> was having. But, the pre-release 5.0.1 build gives the same error. I
> >> reloaded V4.2.5 and the code runs fine there.
> >>
> >> I was hoping that the string in the error message itself might give
> >> someone in the know some idea of the problem.
> >>
> >> Unfortunately, this happens in a rather large autogenerated agent-based
> >> simulation that isn't easily posted - although I can send the code and
> the
> >> development packages it uses to someone if they need it.
> >>
> >> A short extract of the 'main' program that runs:
> >>
> >> #lang scheme
> >> ;;; Agent Generation from Templates - PRIME (AGenT') by SET Corporation
> >> (an SAIC Company)
> >> ;;; Autogenerated PLT Scheme source code
> >> invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-main.ss
> >> ;;; Generated Monday, July 19th, 2010 12:33:42pm
> >>
> >> (require (planet williams/madness/madness)
> >>
> >> "invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-arguments.ss"
> >>
> >>
> "invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-argument-values.ss"
> >>
> >>
> "invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-data-collection.ss")
> >>
> >> ... <about 1300 SLOC redacted>
> >>
> >> ;;;
> >> ;;; Monte Carlo loop
> INVEST-IN-PA-YANGI-YANGI-TUCKER---PLAUSIBLE-OUTCOMES
> >> ;;;
> >> (define (INVEST-IN-PA-YANGI-YANGI-TUCKER---PLAUSIBLE-OUTCOMES n)
> >>   (with-new-simulation-environment
> >>     (let ((aggregate-instance-index (make-hasheq)))
> >>       (for ((i (in-range n)))
> >>         (INVEST-IN-PA-YANGI-YANGI-TUCKER i aggregate-instance-index))
> >>       (print-statistics aggregate-instance-index)
> >>       (generate-exhibit-files aggregate-instance-index)
> >>       (generate-results-XML aggregate-instance-index n))))
> >>
> >> ;;;
> >> ;;; Execute Monte Carlo
> >> ;;;
> >>
> >> (INVEST-IN-PA-YANGI-YANGI-TUCKER---PLAUSIBLE-OUTCOMES 10)
> >>
> >> ;;;
> >> ;;; Module Contracts
> >> ;;;
> >>
> >> (provide (all-defined-out))
> >>
> >> If I simply remove the call to
> >> (INVEST-IN-PA-YANGI-YANGI-TUCKER---PLAUSIBLE-OUTCOMES 10) and move it to
> >> it's own package:
> >>
> >> #lang scheme
> >> ;;; Agent Generation from Templates - PRIME (AGenT') by SET Corporation
> >> (an SAIC Company)
> >> ;;; Autogenerated PLT Scheme source code
> >> invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-monte-carlo.ss
> >> ;;; Generated Monday, July 19th, 2010 12:33:43pm
> >>
> >> (require
> >> "invest-in-pa-yangi-yangi-tucker---plausible-outcomes-212-main.ss")
> >>
> >>
> >> ;;;
> >> ;;; Execute Monte Carlo
> >> ;;;
> >>
> >> (INVEST-IN-PA-YANGI-YANGI-TUCKER---PLAUSIBLE-OUTCOMES 10)
> >>
> >> I get the error above. [Again, it runs under Racket (i.e., MzScheme).]
> >>
> >> Please let me know if there are some switches I can set or otherwise
> >> provide additional information.
> >>
> >> Ah, I just ran it with "No debugging or profiling" checked and got some
> >> additional information - seems interesting that I got more information
> with
> >> no debugging. But anyway the error printed is now
> >>
> >> ..\..\..\..\..\..\..\..\..\Program
> >> Files\Racket\collects\racket\private\sort.rkt:85:19: string<?: expects
> type
> >> <string> as 1st argument, given: #f; other arguments were:
> >>
> "146047b7b2121bf8f7b15d7c2ef396b710f394474c12d02f2de08868342b8264c39b7fe111a38bf5"
> >>
> >> It also gave a backtrace that I copied and pasted into the attached
> file.
> >> [Was a better way to do that?]
> >>
> >> Doug
> >>
> >>
> >
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://lists.racket-lang.org/listinfo/dev
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20100720/d5162683/attachment.html>

Posted on the dev mailing list.