Re: [racket-dev] Multiple 'raco make' processes
I think they can stomp on each other and you can get inconsistent results, theoretically. Robby On Tuesday, December 9, 2014, Dan Liebgold dan.liebg...@gmail.com wrote: If I have multiple instances of raco make running and some of the files they are checking/rebuilding are shared across the instances... what happens? Does raco make have lock to ensure no contention? Or does each process potentially redo some work? -- Dan Liebgold[dan.liebg...@gmail.com javascript:_e(%7B%7D,'cvml','dan.liebg...@gmail.com');] _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Multiple 'raco make' processes
Unfortunately, the bytecode compiler is not completely deterministic. Generating the same .zo file from the same source is likely to produce different bytes each time. The root causes are various counters and hash orders, and I hope to fix that eventually. For now, since the generated bytecode is different, there can be inconsistencies instead of just duplicated work. At Tue, 9 Dec 2014 11:54:16 -0800, Dan Liebgold wrote: If the multiple 'raco make's would produce the same results, then there should be no inconsistency, just duplicate work, right? And my use case is a bit different... I need to spawn the multiple 'raco makes', rather than have raco make spawn multiple racket instances (via the -j flag). Although this particular setup will bear some examination. On Tue, Dec 9, 2014 at 11:47 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Ah sorry: meant to add: did you try the -j flag? On Tuesday, December 9, 2014, Robby Findler ro...@eecs.northwestern.edu wrote: I think they can stomp on each other and you can get inconsistent results, theoretically. Robby On Tuesday, December 9, 2014, Dan Liebgold dan.liebg...@gmail.com wrote: If I have multiple instances of raco make running and some of the files they are checking/rebuilding are shared across the instances... what happens? Does raco make have lock to ensure no contention? Or does each process potentially redo some work? -- Dan Liebgold[dan.liebg...@gmail.com] -- Dan Liebgold[dan.liebg...@gmail.com] _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Multiple 'raco make' processes
I think even stranger things can happen because of race-conditions at the filesystem level (altho we could probably protect against that if we wanted). Robby On Tue, Dec 9, 2014 at 6:22 PM, Jay McCarthy jay.mccar...@gmail.com wrote: Specifically, you can get errors like Called export 72 and expected set-list but got list-set. Chaos! Jay On Tue, Dec 9, 2014 at 3:09 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Unfortunately, the bytecode compiler is not completely deterministic. Generating the same .zo file from the same source is likely to produce different bytes each time. The root causes are various counters and hash orders, and I hope to fix that eventually. For now, since the generated bytecode is different, there can be inconsistencies instead of just duplicated work. At Tue, 9 Dec 2014 11:54:16 -0800, Dan Liebgold wrote: If the multiple 'raco make's would produce the same results, then there should be no inconsistency, just duplicate work, right? And my use case is a bit different... I need to spawn the multiple 'raco makes', rather than have raco make spawn multiple racket instances (via the -j flag). Although this particular setup will bear some examination. On Tue, Dec 9, 2014 at 11:47 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Ah sorry: meant to add: did you try the -j flag? On Tuesday, December 9, 2014, Robby Findler ro...@eecs.northwestern.edu wrote: I think they can stomp on each other and you can get inconsistent results, theoretically. Robby On Tuesday, December 9, 2014, Dan Liebgold dan.liebg...@gmail.com wrote: If I have multiple instances of raco make running and some of the files they are checking/rebuilding are shared across the instances... what happens? Does raco make have lock to ensure no contention? Or does each process potentially redo some work? -- Dan Liebgold[dan.liebg...@gmail.com] -- Dan Liebgold[dan.liebg...@gmail.com] _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev -- Jay McCarthy http://jeapostrophe.github.io Wherefore, be not weary in well-doing, for ye are laying the foundation of a great work. And out of small things proceedeth that which is great. - DC 64:33 _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Multiple 'raco make' processes
We do protect against those kinds of problems (even on Windows, where it isn't trivial). At Tue, 9 Dec 2014 19:00:09 -0600, Robby Findler wrote: I think even stranger things can happen because of race-conditions at the filesystem level (altho we could probably protect against that if we wanted). Robby On Tue, Dec 9, 2014 at 6:22 PM, Jay McCarthy jay.mccar...@gmail.com wrote: Specifically, you can get errors like Called export 72 and expected set-list but got list-set. Chaos! Jay On Tue, Dec 9, 2014 at 3:09 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Unfortunately, the bytecode compiler is not completely deterministic. Generating the same .zo file from the same source is likely to produce different bytes each time. The root causes are various counters and hash orders, and I hope to fix that eventually. For now, since the generated bytecode is different, there can be inconsistencies instead of just duplicated work. At Tue, 9 Dec 2014 11:54:16 -0800, Dan Liebgold wrote: If the multiple 'raco make's would produce the same results, then there should be no inconsistency, just duplicate work, right? And my use case is a bit different... I need to spawn the multiple 'raco makes', rather than have raco make spawn multiple racket instances (via the -j flag). Although this particular setup will bear some examination. On Tue, Dec 9, 2014 at 11:47 AM, Robby Findler ro...@eecs.northwestern.edu wrote: Ah sorry: meant to add: did you try the -j flag? On Tuesday, December 9, 2014, Robby Findler ro...@eecs.northwestern.edu wrote: I think they can stomp on each other and you can get inconsistent results, theoretically. Robby On Tuesday, December 9, 2014, Dan Liebgold dan.liebg...@gmail.com wrote: If I have multiple instances of raco make running and some of the files they are checking/rebuilding are shared across the instances... what happens? Does raco make have lock to ensure no contention? Or does each process potentially redo some work? -- Dan Liebgold[dan.liebg...@gmail.com] -- Dan Liebgold[dan.liebg...@gmail.com] _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev -- Jay McCarthy http://jeapostrophe.github.io Wherefore, be not weary in well-doing, for ye are laying the foundation of a great work. And out of small things proceedeth that which is great. - DC 64:33 _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev