link: module mismatch error

38 views
Skip to first unread message

Alex Knauth

unread,
Jan 2, 2016, 3:41:50 PM1/2/16
to Racket-Dev List
Hello,

I've been getting a weird `link: module mismatch` error. Normally, those kinds of errors go away when I delete a compiled/ directory or run raco setup. This one stays even after I do that.

But it gets even weirder. It only shows up when I use the identifier `delay*`, and not when I use the identifier `delayA`, for instance. (My Dad suggested that) Since `*` is supposed to be a valid character in identifiers, this seems like it should be a bug, unless I'm missing something.

Do any of you have an idea about what could cause this?

I'm providing `delay*` as lighter-weight a variant of `delay` in a pull request branch. It's originally defined as a macro `delay**`, and provided with a rename-out from that to `delay*`. Is it possible that the rename-out is messing things up, combined with the star?

The full error message is this:
. ../../../../racket/collects/racket/promise.rkt:237:49: link: module mismatch;
possibly, bytecode file needs re-compile because dependencies changed
importing module: 'promise
exporting module: "/Users/Alex/Documents/GitHub/AlexKnauth/racket/racket/collects/racket/promise.rkt"
exporting phase level: 0
internal explanation: variable not provided (directly or indirectly) in: delay*

Alex Knauth


Matthew Flatt

unread,
Jan 2, 2016, 4:16:28 PM1/2/16
to Alex Knauth, Racket-Dev List
That sounds like a bug. I fixed a bug with similar symptoms a few weeks
ago, so maybe this one has a similar cause. How would I try it?
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-dev/EAD09781-FFAA-47A4-B9D8-A0FF429730
> EB%40knauth.org.
> For more options, visit https://groups.google.com/d/optout.

Alex Knauth

unread,
Jan 2, 2016, 4:20:58 PM1/2/16
to Matthew Flatt, Racket-Dev List
You could try it by checking out my delay-light branch from
https://github.com/AlexKnauth/racket/tree/delay-light

I get the error when compiling pkgs/racket-test/tests/racket/promise.rkt where it uses `delay*`.

> On Jan 2, 2016, at 4:16 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote:
>
> That sounds like a bug. I fixed a bug with similar symptoms a few weeks
> ago, so maybe this one has a similar cause. How would I try it?
>
> At Sat, 2 Jan 2016 15:41:44 -0500, Alex Knauth wrote:

Alex Knauth

unread,
Jan 2, 2016, 5:31:41 PM1/2/16
to Matthew Flatt, Racket-Dev List
On Jan 2, 2016, at 4:20 PM, Alex Knauth <alex...@knauth.org> wrote:

You could try it by checking out my delay-light branch from
https://github.com/AlexKnauth/racket/tree/delay-light

I get the error when compiling pkgs/racket-test/tests/racket/promise.rkt where it uses `delay*`.

The branch where I switch it to use delayA is the delayA branch here:
With the switch to delayA commit and the switch back to delay* commit.

Matthew Flatt

unread,
Jan 2, 2016, 5:39:30 PM1/2/16
to Alex Knauth, Racket-Dev List
Thanks! I think I have a repair, but I'm still testing before I push.

At Sat, 2 Jan 2016 17:31:36 -0500, Alex Knauth wrote:
>
> > On Jan 2, 2016, at 4:20 PM, Alex Knauth <alex...@knauth.org> wrote:
> >
> > You could try it by checking out my delay-light branch from
> > https://github.com/AlexKnauth/racket/tree/delay-light
> >
> > I get the error when compiling pkgs/racket-test/tests/racket/promise.rkt
> where it uses `delay*`.
>
> The branch where I switch it to use delayA is the delayA branch here:
> https://github.com/AlexKnauth/racket/tree/delayA
> With the switch to delayA
> <https://github.com/AlexKnauth/racket/commit/57a636420bcdef266d5a65d8823924fdab
> 93897c> commit and the switch back to delay*
> <https://github.com/AlexKnauth/racket/commit/65bc0a609154deb5d010bd333c1fd5958c
> de9687> commit.
> https://groups.google.com/d/msgid/racket-dev/36B22A12-B42C-4F06-95A6-C42A85E45E
> 65%40knauth.org.

Alex Knauth

unread,
Jan 2, 2016, 6:36:36 PM1/2/16
to Matthew Flatt, Racket-Dev List
Thank you!

> On Jan 2, 2016, at 5:39 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote:
>
> Thanks! I think I have a repair, but I'm still testing before I push.
>
> At Sat, 2 Jan 2016 17:31:36 -0500, Alex Knauth wrote:
>>
>>> On Jan 2, 2016, at 4:20 PM, Alex Knauth <alex...@knauth.org> wrote:
>>>
>>> You could try it by checking out my delay-light branch from
>>> https://github.com/AlexKnauth/racket/tree/delay-light
>>>
>>> I get the error when compiling pkgs/racket-test/tests/racket/promise.rkt
>> where it uses `delay*`.
>>
>> The branch where I switch it to use delayA is the delayA branch here:
>> https://github.com/AlexKnauth/racket/tree/delayA
>> With the switch to delayA
>> <https://github.com/AlexKnauth/racket/commit/57a636420bcdef266d5a65d8823924fdab
>> 93897c> commit and the switch back to delay*
>> <https://github.com/AlexKnauth/racket/commit/65bc0a609154deb5d010bd333c1fd5958c
>> de9687> commit.
Reply all
Reply to author
Forward
0 new messages