I put up a repo with the bug at https://github.com/nwg/racket-expo
The stack trace is this: build-path: contract violation expected: (or/c path-string? path-for-some-system? 'up 'same) given: #<promise:config:installation-name> context...: do-raise-argument-error loop build proc call-in-empty-metacontinuation-frame call-with-module-prompt body of "/Applications/Racket v7.7/collects/planet/config.rkt" temp35_0 for-loop run-module-instance! for-loop [repeats 1 more time] run-module-instance! for-loop [repeats 1 more time] run-module-instance! Nate On Mon, Jul 13, 2020 at 1:03 PM Ryan Culpepper <[email protected]> wrote: > I don't know if it helps, but config:installation-name is a promise > defined by setup/private/dirs. > > Ryan > > > On Mon, Jul 13, 2020 at 7:23 PM Matthew Flatt <[email protected]> wrote: > >> I'm not sure how it could be in `dynamic-require` itself, as opposed to >> a library that is loaded by `dynamic-require`, but it sounds like a bug >> at some level. Can you provide a small example? >> >> At Mon, 13 Jul 2020 11:03:41 -0500, Nate Griswold wrote: >> > Sam, thanks >> > >> > To be clear, this crash happened DURING a dynamic-require and judging by >> > the stack trace looked to be part of the dynamic-require machinery (and >> > this seems to depend on the installation name). >> > >> > I actually wasn't depending on anything but racket/base, so i don't >> believe >> > anything i was using was causing a separate dependency on promise. >> > >> > Nate >> > >> > >> > On Mon, Jul 13, 2020 at 9:32 AM Sam Tobin-Hochstadt < >> [email protected]> >> > wrote: >> > >> > > My guess, not having looked further than your email, is that when you >> > > don't include racket/promise, something is supplying a promise to >> something >> > > else but there are two different instantiations of the promise >> library, >> > > causing the force call from one not to recognize the promise from the >> > > other. Then force just becomes the identity function, and passes >> through a >> > > promise to somewhere that isn't expecting one. >> > > >> > > Is it possible that some library you're using features promises? >> > > Alternatively, it might be that the embedding code needs an explicit >> > > dependency on promises. >> > > >> > > Sam >> > > >> > > On Mon, Jul 13, 2020, 10:18 AM Nate Griswold <[email protected]> >> > > wrote: >> > > >> > >> Hello. >> > >> >> > >> I noticed something and was wondering what the list thinks: >> > >> >> > >> I am using an embedded racket Ics) and i noticed that if i embed a >> file >> > >> and don't include any libraries (for a very bare bones c file) i have >> > >> problems with a crash on a promise on any dynamic-require: >> > >> >> > >> build-path: contract violation >> > >> expected: (or/c path-string? path-for-some-system? 'up 'same) >> > >> given: #<promise:config:installation-name> >> > >> >> > >> but if i do a (require racket/promise) in my rkt argument to >> --c-mods OR >> > >> if i do a ++lib racket/promise i get no crash. >> > >> >> > >> So is this expected behavior? Should racket/promise always be >> included or >> > >> no? And what exactly is going on under the hood here? >> > >> >> > >> Nate >> > >> >> > >> -- >> > >> You received this message because you are subscribed to the Google >> Groups >> > >> "Racket Users" group. >> > >> To unsubscribe from this group and stop receiving emails from it, >> send an >> > >> email to [email protected]. >> > >> To view this discussion on the web visit >> > >> >> > >> https://groups.google.com/d/msgid/racket-users/CAM-xLPpg_0Ef8ByjS01Y1pKEeeFMVkF >> > k3dvGcdpRaYo3ZqDb9A%40mail.gmail.com >> > >> >> > < >> https://groups.google.com/d/msgid/racket-users/CAM-xLPpg_0Ef8ByjS01Y1pKEeeFMVk >> > Fk3dvGcdpRaYo3ZqDb9A% >> 40mail.gmail.com?utm_medium=email&utm_source=footer> >> > >> . >> > >> >> > > >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "Racket Users" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to [email protected]. >> > To view this discussion on the web visit >> > >> https://groups.google.com/d/msgid/racket-users/CAM-xLPpaOSxvPEDYzmkAXdFg%2BLTMA >> > H1mw57kJt7%3DCe6ipXmXDw%40mail.gmail.com. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-users/20200713112340.24e%40sirmail.smtp.cs.utah.edu >> . >> > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAM-xLPoKbgtUGTFoRSvK0D2M%2BX_EE38z0bwuW-p3MptyWHkCnw%40mail.gmail.com.

