Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-02 Thread Matthew Flatt
At Thu, 1 Sep 2011 15:20:27 -0700, John Clements wrote:
  Note that the code ignores the result of `TransformProcessType', which
  is a bad idea. If you remove the `void' wrapper, what number result
  gets printed on your machine?
  
 
 Looks like it's -50.

-50 means bad argument.

Apple's docs say

 struct ProcessSerialNumber {
   unsigned long highLongOfPSN;
   unsigned long lowLongOfPSN;
 };

but MacTypes.h says

 struct ProcessSerialNumber {
   UInt32  highLongOfPSN;
   UInt32  lowLongOfPSN;
 };

and those aren't the same on a 64-bit system. Maybe the docs that I
found are too old or are only meant to apply to 32-bit systems.

Can you remind me whether you're using a 32-bit or 64-bit build?

When I try the 64-bit build, then it fails in the way you describe
until I fix the `_ProcessSerialNumber' declaration:

 (define-cstruct _ProcessSerialNumber
   ([highLongOfPSN _uint32]
[lowLongOfPSN _uint32]))

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-01 Thread John Clements

On Aug 31, 2011, at 5:08 PM, Robby Findler wrote:

 I've been seeing for some time now a deadlock in online check syntax.
 That is, after a while it just gets stuck and fails to complete the
 online check syntax. Typically what you see is the little blue dot
 come on but the cpu load drop to zero without any check syntax arrows
 ever showing up.
 
 Matthew and I have fixed a few things that could lead to these
 symptoms and I've just now pushed a change to compiler/cm to add some
 more informative logging.
 
 So: if you have the energy, can you please run DrRacket like this:
 
  racket -W info -l- drracket

This doesn't work at all for me on the Mac, and highlights a problem that I've 
had at other times with racket  GUI frames: none of the keyboard input goes to 
the window.

Specifically, here's the sequence of events:

1) run racket -W info -l- drracket
2) See splash window come up, *underneath* terminal window and not given focus.
3) See DrRacket frame come up, again without focus.
4) Click on DrRacket frame, it gets focus and I see the cursor blinking.
5) Type a few characters -- they don't show up in DrRacket. Instead, they go to 
the terminal window.
Furthermore, there's no DrRacket menu bar, and no DrRacket icon in the cmd-tab 
list.

6) Go back to terminal window, use ctrl-\ to blow it away.

Is that expected? It looks like the OS is preventing 
not-full-fledged-app-things from opening windows and handling input. This is OS 
10.6,8.

John Clements



smime.p7s
Description: S/MIME cryptographic signature
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-01 Thread Tony Garnock-Jones
 Is that expected? It looks like the OS is preventing
 not-full-fledged-app-things from opening windows and handling input.
 This is OS 10.6,8.

It probably needs to run from inside the .app folder. OS X uses the full
path to the binary to figure out the name to use to dispatch events, or
something similarly odd! I've tried a couple of quick experiments along
the lines of

$ /Applications/Racket v5.1.3/DrRacket.app/Contents/MacOS/DrRacket -W
info -l- drracket

but that binary doesn't like the -W switch.

[...]

Aha, removing the DrRacket binary from the Contents/MacOS directory and
symlinking plain racket there as DrRacket instead works for me:

$ mv DrRacket DrRacket.moved-out-of-the-way
$ ln -s /Applications/Racket\ v5.1.3/bin/racket DrRacket
$ /Applications/Racket v5.1.3/DrRacket.app/Contents/MacOS/DrRacket -W
info -l- drracket

I launch that all from an xterm in X11, though, so if it doesn't work
for you that's an interesting clue that Terminal.app is doing something
weird perhaps.

Regards,
  Tony
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-01 Thread Matthias Felleisen


[[ FWIW, I have been running drracket like this for a couple of weeks and have 
had no problem. Mac OS X 10.6.8 ]]


On Sep 1, 2011, at 8:34 AM, Matthew Flatt wrote:

 At Wed, 31 Aug 2011 23:00:25 -0700, John Clements wrote:
 
 On Aug 31, 2011, at 5:08 PM, Robby Findler wrote:
 
 I've been seeing for some time now a deadlock in online check syntax.
 That is, after a while it just gets stuck and fails to complete the
 online check syntax. Typically what you see is the little blue dot
 come on but the cpu load drop to zero without any check syntax arrows
 ever showing up.
 
 Matthew and I have fixed a few things that could lead to these
 symptoms and I've just now pushed a change to compiler/cm to add some
 more informative logging.
 
 So: if you have the energy, can you please run DrRacket like this:
 
 racket -W info -l- drracket
 
 This doesn't work at all for me on the Mac, and highlights a problem that 
 I've 
 had at other times with racket  GUI frames: none of the keyboard input goes 
 to the window.
 
 Specifically, here's the sequence of events:
 
 1) run racket -W info -l- drracket
 2) See splash window come up, *underneath* terminal window and not given 
 focus.
 3) See DrRacket frame come up, again without focus.
 4) Click on DrRacket frame, it gets focus and I see the cursor blinking.
 5) Type a few characters -- they don't show up in DrRacket. Instead, they go 
 to the terminal window.
 Furthermore, there's no DrRacket menu bar, and no DrRacket icon in the 
 cmd-tab 
 list.
 
 6) Go back to terminal window, use ctrl-\ to blow it away.
 
 Is that expected? It looks like the OS is preventing 
 not-full-fledged-app-things from opening windows and handling input. This is 
 OS 10.6,8.
 
 The code that is supposed to make the process a full-fledged app is
 line at line 81 of collects/mred/private/cocoa/queue.rkt:
 
 ;; In case we were started in an executable without a bundle,
 ;; explicitly register with the dock so the application can receive
 ;; keyboard events.
 (define-cstruct _ProcessSerialNumber
   ([highLongOfPSN _ulong]
[lowLongOfPSN _ulong]))
 (define kCurrentProcess 2)
 (define kProcessTransformToForegroundApplication 1)
 (define-appserv TransformProcessType (_fun _ProcessSerialNumber-pointer
_uint32
- _OSStatus))
 (void (TransformProcessType (make-ProcessSerialNumber 0 kCurrentProcess)
 kProcessTransformToForegroundApplication))
 
 Note that the code ignores the result of `TransformProcessType', which
 is a bad idea. If you remove the `void' wrapper, what number result
 gets printed on your machine?
 
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] online check syntax deadlock: can you help?

2011-09-01 Thread John Clements

On Sep 1, 2011, at 5:34 AM, Matthew Flatt wrote:

 At Wed, 31 Aug 2011 23:00:25 -0700, John Clements wrote:
 This doesn't work at all for me on the Mac, and highlights a problem that 
 I've 
 had at other times with racket  GUI frames: none of the keyboard input goes 
 to the window.
 
 Specifically, here's the sequence of events:
 
 1) run racket -W info -l- drracket
 2) See splash window come up, *underneath* terminal window and not given 
 focus.
 3) See DrRacket frame come up, again without focus.
 4) Click on DrRacket frame, it gets focus and I see the cursor blinking.
 5) Type a few characters -- they don't show up in DrRacket. Instead, they go 
 to the terminal window.
 Furthermore, there's no DrRacket menu bar, and no DrRacket icon in the 
 cmd-tab 
 list.
 
 6) Go back to terminal window, use ctrl-\ to blow it away.
 
 Is that expected? It looks like the OS is preventing 
 not-full-fledged-app-things from opening windows and handling input. This is 
 OS 10.6,8.
 
 The code that is supposed to make the process a full-fledged app is
 line at line 81 of collects/mred/private/cocoa/queue.rkt:
 
 ;; In case we were started in an executable without a bundle,
 ;; explicitly register with the dock so the application can receive
 ;; keyboard events.
 (define-cstruct _ProcessSerialNumber
   ([highLongOfPSN _ulong]
[lowLongOfPSN _ulong]))
 (define kCurrentProcess 2)
 (define kProcessTransformToForegroundApplication 1)
 (define-appserv TransformProcessType (_fun _ProcessSerialNumber-pointer
_uint32
- _OSStatus))
 (void (TransformProcessType (make-ProcessSerialNumber 0 kCurrentProcess)
 kProcessTransformToForegroundApplication))
 
 Note that the code ignores the result of `TransformProcessType', which
 is a bad idea. If you remove the `void' wrapper, what number result
 gets printed on your machine?
 

Looks like it's -50.  Here's the transcript:


pcp070159pcs:~/plt clements$ racket -W info -l- drracket 
-50
Pango: couldn't load font Apple Chancery Medium Not-Rotated 13, falling back 
to Sans Medium Not-Rotated 13, expect ugly output.
expanding-place.rkt: 01 starting thread
expanding-place.rkt: 02 setting basic parameters
expanding-place.rkt: 03 setting module language parameters
expanding-place.rkt: 04 setting directories
expanding-place.rkt: 05 installing security guard
expanding-place.rkt: 06 setting uncaught-exception-handler
expanding-place.rkt: 07 starting read-syntax
expanding-place.rkt: 08 read
expanding-place.rkt: 09 starting expansion
expanding-place.rkt: 10 expanded
expanding-place.rkt: 11 handlers finished
expanding-place.rkt: 12 finished



John



smime.p7s
Description: S/MIME cryptographic signature
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

[racket-dev] online check syntax deadlock: can you help?

2011-08-31 Thread Robby Findler
I've been seeing for some time now a deadlock in online check syntax.
That is, after a while it just gets stuck and fails to complete the
online check syntax. Typically what you see is the little blue dot
come on but the cpu load drop to zero without any check syntax arrows
ever showing up.

Matthew and I have fixed a few things that could lead to these
symptoms and I've just now pushed a change to compiler/cm to add some
more informative logging.

So: if you have the energy, can you please run DrRacket like this:

  racket -W info -l- drracket

instead of using the ususal drracket command line and save the output,
sending me the last few hundred or thousand lines or so when you
notice that it gets stuck?

Thanks,
Robby
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev