[racket] Curious error messages

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Dec 4 12:01:23 EST 2014

Do you know how to get the racket-level stack at the point strace
reports a call to open() or write()?

(I do see this bug occasionally but not reproducibly so setting up
something on my machine with more debugging output seems likely to be
productive.)

Robby


On Thu, Dec 4, 2014 at 10:34 AM, Sam Tobin-Hochstadt
<samth at cs.indiana.edu> wrote:
>
>
> On Thu Dec 04 2014 at 9:36:08 AM Robby Findler <robby at eecs.northwestern.edu>
> wrote:
>>
>> On Wed, Dec 3, 2014 at 10:30 PM, Prabhakar Ragde <plragde at uwaterloo.ca>
>> wrote:
>> > I'm currently using Racket 6.1. For some time now, when editing Scribble
>> > files in DrRacket, I've been getting "file has changed on disk" messages
>> > when trying to save or render - not consistently, just every so often.
>> > These
>> > are files I am not editing in anything other than DrRacket. I click
>> > "ignore"
>> > and everything works fine, but it is annoying.
>>
>> This is definitely a bug somewhere and I've had not a lot of luck
>> tracking it down.
>>
>>
>> I guess that what's happening is something is actually changing the
>> file on the disk (perhaps DrRacket itself) and it shouldn't.
>>
>> So if you can figure out what feature of DrRacket is making this
>> happen or verify that the file is actually not changing on the disk,
>> either of those would be helpful.
>
>
> Here's a thought on tracking it down:
>
> * Run DrRacket under strace, looking at the calls to `open()` and `write()`.
>
> * Add to relevant places in DrRacket something like this:
>    (access string F_OK)
>
> where `access` is an FFI call to the C library access function, and F_OK is
> the appropriate constant. Then those messages will appear in the strace
> output, so you can see what DrRacket is doing right around the time it opens
> or writes to the relevant file.
>
> I got this trick from here:
> https://people.gnome.org/~federico/news-2006-03.html#09 where it's used to
> plot timelines (also cool) but it might be useful for debugging in this
> case.
>
> Sam

Posted on the users mailing list.