fullScreen() crashes with P2D in Python mode

Hello all,

Can anyone help me understand why fullScreen(P2D) crashes in Python mode? I’ve included a sketch below that demonstrates the problem, although for me this happens with all sketches.

In my environment (Processing 3.53, MacOS Mojave (10.14.5), MacBook Pro / Retina), any sketch that calls fullScreen(P2D) reliably crashes in Python mode. There’s no error message in Processing’s console, but eventually I will get a dialog box from the OS that says, “Processing quit unexpectedly. Ignore / Report… / Reopen.”

I’ve discovered an awkward workaround that I’m hoping may also be a clue to what’s causing this: If I run the sketch once using the default renderer (by removing P2D from the fullScreen() call below), then afterwards, I can replace P2D in the call, and the sketch will run in P2D mode with no problem.

Interestingly, the sketch does not crash if I call size(h,w,P2D) instead of fullScreen(P2D). And just as with the default renderer, after I’ve run the sketch once using size(h,w,P2D), I can then change that line to fullScreen(P2D), and from that point forward, the sketch will behave perfectly.

After I close the sketch file, the next time I reopen it, I will need to repeat the same procedure:

  1. Remove P2D from the fullScreen() call (or replace it with a size() call)
  2. Run the sketch once
  3. Restore the fullScreen(P2D) call
  4. Run the sketch again

Other testing and info:

  • The scenario is the same whether I call fullScreen() in settings() or in setup().
  • I’m using Processing 3.53 and running on MacOS Mojave (10.14.5).
  • This problem persists across all members of our team using different MacBooks and MacPro machines – all are running the same OS and Processing versions. I have not collected details yet, but I’ve also tested this briefly under Windows 10 (same Processing version, 3.5.3) and it appears to behave similarly.
def setup():
    global k
    fullScreen(P2D)
    fill(0,200,0,80)
    stroke(0,255,0,127)
    strokeWeight(4)
    k = 0

def draw():
    global k
    background(0)
    k += .06
    if k > TWO_PI:
        k = 0
    arc(width/2, height/2, 200, 200, HALF_PI, k+HALF_PI)

Has anyone else experienced similar crashes or related issues? I’m new to the .py side of Processing – has anyone noticed this problem previously? Any and all help / advice / etc. greatly appreciated!

-br

  • It doesn’t crash for me on my 64-bit Win8.1 AMD laptop.
  • However, if I hit ESC to exit while still on fullscreen, I have to press the famous CTRL + ALT + DEL combo and select Task Manager.
  • Once I do that, I can see my OS’ desktop again.
  • And funnily, the Python sketch had already exited normally.
  • It’s just I’ve got stuck in fullscreen!
1 Like

Interesting – thanks for trying it. Are you running Processing 3.5.3?

1 Like

Yup! Running current PDE v3.5.3 + Python Mode build 3056. :snake:

Good to know; so maybe it’s a Mac thing.

Seems like it’s hard for the devs to create code that works consistently for 3 OSes and all of its incarnations. :grimacing:

1 Like

Have you reported the issue?:

2 Likes

Yes, I just posted it – thanks.

2 Likes