A Zcode / Mac IDE only bug?

Hi. I’ve added a mode to my Menus extension one can toggle at any time by hitting ‘S’. And I can compile the demo game to either Z-Code or Glulx.

If I compile my sample game in the Mac IDE and in Z-Code, pressing S can cause random crashes (“Zoom unexpectedly quit.”) Sometimes the game might crash on the 6th press of S, sometimes on the 15th, etc. And this is while doing nothing else differently after each reboot. The same random crashes happen on pressing S if I play the compiled Z-Code version in the standalone Zoom interpreter.

If I compile the game to Glulx, this crash doesn’t happen.

If I play the compiled Z-code game in Gargoyle, the crash never happens.

Anyone understand what might be going on? I mean it seems specific to Zoom. I guess I want to have a punt at working out whether I’m at fault, Zoom is at fault or Gargoyle is at fault.

You can get the zcode demo project from the following direct download link (a tiny zip containing a zblorb):

tinyurl.com/kd5zedh

Type help, then start hitting ‘S’ a bunch.

-Wade

It seems okay in Windows Frotz. Of course, that’s not definitive proof that it’s a bug in Zoom: it could be that the game file is doing something that the Z-spec doesn’t allow, and all the other interpreters are ignoring it, but Zoom is crashing. Still, that doesn’t seem that likely.

To get further someone with Mac-foo will need to look at the Zoom crash to get an idea of what’s going on.

Mac Zoom has been sporadically crashing on me since, I think, OS 10.7 came out. I no longer recommend it.

I can’t replicate this one – I held down S on autorepeat for a while – but that just means that random memory corruption is random.

Hm, right. Yeah, and I’m using Mavericks now, and I think you (Zarf) are too?

Edit: Did you hold your finger down for a really long time? :wink: Thing is, it tends to happen pretty soon. The chance of a crash each time must be sizeable.

On the Mac, we’re running out of interpreters. I mean there’s Zoom, and Gargoyle, and that’s it? Spatterlight is only useful for old ADRIFT games and such. It’s out of date on the Inform front.

-Wade

Yes, I’m on 10.9.

Update - I was able to stop this bug from happening. When the key was pressed, a certain routine was being run twice in a row. Once I found that and fixed it, the bug didn’t happen anymore in Z-Code.

-Wade