Golly 2.8 has been released

For general discussion about Conway's Game of Life.
User avatar
rowett
Moderator
Posts: 3776
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Golly 2.8 has been released

Post by rowett » September 5th, 2016, 3:56 am

LegionMammal978 wrote:
rowett wrote:I have been unable to reproduce the spacebar freeze. Please could you provide more details?
It's less of a freeze than general choppiness.
It's possible it was related to the slow rendering performance. Do you have an example large pattern that demonstrates the choppiness with spacebar I could try?

User avatar
LegionMammal978
Posts: 14
Joined: July 7th, 2016, 9:37 am

Re: Golly 2.8 has been released

Post by LegionMammal978 » September 5th, 2016, 10:29 am

rowett wrote:Do you have an example large pattern that demonstrates the choppiness with spacebar I could try?
You can see it in portions of the built-in Patterns/Life/Guns/loafer-gun-p210.rle.

User avatar
rowett
Moderator
Posts: 3776
Joined: January 31st, 2013, 2:34 am
Location: UK
Contact:

Re: Golly 2.8 has been released

Post by rowett » September 5th, 2016, 12:54 pm

LegionMammal978 wrote:
rowett wrote:Do you have an example large pattern that demonstrates the choppiness with spacebar I could try?
You can see it in portions of the built-in Patterns/Life/Guns/loafer-gun-p210.rle.
The recent improvements to Golly's rendering speed in 2.9b1 have reduced the choppiness.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Golly 2.8 has been released

Post by Extrementhusiast » September 6th, 2016, 9:14 pm

Apparently found a bug in the Undo function that I never observed in 2.7. Occasionally, when running a really long-lasting chaotic pattern, with many starts and stops in playback, Undo kept going back to the same stop, despite the addition of further stops that it should have gone back to first. (Hitting Redo allowed me to go forward one stop, but no further.) The weird part is, when I added cells and then hit Undo, it removed the last set of cells (as normal), but also went back to that same stop. Here, hitting Redo restored the last set of cells, but didn't advance the time. In other words, hitting Undo and then Redo did not restore the pattern, as it should have.

(This was in extendedlife, with an armored gun shooting into debris.)
I Like My Heisenburps! (and others)

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Golly 2.8 has been released

Post by muzik » September 7th, 2016, 3:32 am

So you do that as well.

I think I get that bug sometimes

User avatar
dvgrn
Moderator
Posts: 10612
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Golly 2.8 has been released

Post by dvgrn » September 7th, 2016, 8:58 am

Extrementhusiast wrote:Apparently found a bug in the Undo function that I never observed in 2.7.
Oddly enough, I've seen something very similar in 2.7, and clear on back probably to 2.0 -- but I hadn't seen it in 2.8 yet, and was really hoping that a new Undo-related bug fix for 2.8 would have fixed it. I've been hunting for reliable steps to reproduce the Undo bug for several years now...!

Unfortunately, what I _have_ seen, several times in the past few days, is the reappearance of an old apparently Windows-specific bug, where some keyboard commands stop working, and clicks on Golly's window are always taken to be clicks in the Life universe -- even if you're actually clicking on a toolbar button or menu. The most common symptom is that Golly suddenly starts drawing long lines of ON cells at the top of the current view (because the click point is past the critical point toward the edge of the view, so it starts scrolling while drawing).

As usual, the problem is instantly fixed by minimizing and re-displaying the Golly window, or navigating to any other open window and then back to Golly.

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » September 7th, 2016, 10:43 am

Extrementhusiast wrote:Apparently found a bug in the Undo function ...
Is this on Windows? Golly stores gen changes in temporary files, so something is going wrong with those files. The next time it happens please do these steps.

Run the following script (use File > Run Clipboard):

Code: Select all

local g = golly()
g.note(g.getdir("temp"))
That will show you the full path to the folder where Golly is creating temporary files. Use Explorer to go to that folder and tell me how many files are in that folder. Also tell me the names of the dozen or so most recently created files.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
LegionMammal978
Posts: 14
Joined: July 7th, 2016, 9:37 am

Re: Golly 2.8 has been released

Post by LegionMammal978 » September 7th, 2016, 5:01 pm

dvgrn wrote:Unfortunately, what I _have_ seen, several times in the past few days, is the reappearance of an old apparently Windows-specific bug, where some keyboard commands stop working, and clicks on Golly's window are always taken to be clicks in the Life universe -- even if you're actually clicking on a toolbar button or menu. The most common symptom is that Golly suddenly starts drawing long lines of ON cells at the top of the current view (because the click point is past the critical point toward the edge of the view, so it starts scrolling while drawing).
I've seen that bug too on my Ubuntu copy, happened when testing an exploding rule.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Golly 2.8 has been released

Post by Extrementhusiast » September 8th, 2016, 3:41 pm

Andrew wrote:
Extrementhusiast wrote:Apparently found a bug in the Undo function ...
Is this on Windows? Golly stores gen changes in temporary files, so something is going wrong with those files. The next time it happens please do these steps.

Run the following script (use File > Run Clipboard):

Code: Select all

local g = golly()
g.note(g.getdir("temp"))
That will show you the full path to the folder where Golly is creating temporary files. Use Explorer to go to that folder and tell me how many files are in that folder. Also tell me the names of the dozen or so most recently created files.
433 files in that folder, with 25 other such folders, all 26 containing a total of 30305 files. The most recent 20 files are these, although they're all from today:

Code: Select all

gg_3A84.tmp
gol13A1.tmp
gg_6D0D.tmp
gg_6DF9.tmp
gg_6F90.tmp
gg_6A74.tmp
gg_6A75.tmp
gg_6B22.tmp
gg_6B32.tmp
gg_6BD0.tmp
gg_6BD1.tmp
gg_6C6E.tmp
gg_6C7F.tmp
gg_6D0C.tmp
gg_69C7.tmp
gg_65F6.tmp
gg_68F9.tmp
gg_68FA.tmp
gg_69C6.tmp
gg_674F.tmp
The most recent one is 2 KB; all the rest are 1 KB, and all were created very recently, although I did find a 626 KB file within the folder, golD400.tmp. However, by a huge margin, that wasn't the largest file I found (18296 KB), nor the most crowded folder (20926 items).
I Like My Heisenburps! (and others)

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » September 8th, 2016, 8:19 pm

Extrementhusiast wrote:433 files in that folder, with 25 other such folders...
By "other such folders" I assume you mean their names all start with "gol" ? They'll be the result of Golly crashing and so it didn't get a chance to delete the temporary folder when it quit. Probably a good idea to quit all Golly instances and delete all those gol* folders. Probably won't fix the bug but it will free up some disk space.

I don't see any obvious problem with the .tmp file names you listed. The one starting with "gol" contains a starting pattern which is saved when you generate a pattern that wasn't loaded from a file (or was edited). The "gg_*" files remember generating changes. Nothing obviously wrong, although I'm a bit puzzled why the hex numbers aren't in a contiguous sequence (I'm using high-level wxWidgets calls to create the tmp files so don't get much say about their names other than the first 3 characters).

The only real hope for finding a solution to this bug is if you can come up with a set of detailed steps that let me reproduce it on my Win XP/7 system. (Although it could happen that while you can reproduce it, I might not be able to. My Win systems run as virtual machines on my Mac, so there might be subtle differences in how mouse/keyboard events are handled. That might explain why I've never seen the weird problems reported by Dave.)
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Apple Bottom
Posts: 1034
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: Golly 2.8 has been released

Post by Apple Bottom » September 30th, 2016, 7:24 am

Quick question. Do the Golly developers take feature requests? There's a few things I'd love to see in Golly. :)

1. The ability to have more than 10 layers. (This sometimes bites me when using the apgcode encoder script, which adds a new layer to do its work on.)

2. The ability to programmatically mark a layer as having no unsaved changes. (Also for the apgcode encoder script, so that when choosing "Delete Other Layers" to close all the layers it has created, you won't be asked to save unsaved changes.)

3. More keyboard shortcuts, specifically:

3.1. Move between layers. Suggestion: Ctrl-Tab to move one layer to the right, Ctrl-Shift-Tab to move one layer to the left. (This matches the key combinations used by web browsers to switch between tabs).

3.2. Close the current layer. Suggestion: Ctrl-W. (Again, this is what e.g. web browsers use.)

3.3. Pressing Alt highlights the menu bar, and allows using the cursor keys to navigate menus, or other keys to directly access menus/menu items. (Standard in just about all programs.)

3.4. In the same vein, hot-keys to actually access menus directly: Alt-F for the File menu, Alt-E for the Edit menu, Alt-V for the View menu, and so on.

3.5. Keys for menu items already seem to exist (e.g. pressing "A" when the Layer menu is open adds a new layer), but they aren't underlined on the menu items.

4. The ability to assign custom keyboard shortcuts to scripts would be great, too. (Again, this would be for the agpcode script.)

5. Check-pointing / save-and-resume for long computations. A while back I was running Broken lines for a couple of hours to see what might happen to it; I eventually had to stop the computation, but then found then after saving (in Macrocell format) and later reopening it I could not pick up where I'd left off again. The pattern itself had been saved; the internal state of the HashLife algorithm hadn't. (I realize that such checkpoint files would get fairly large, but I don't think that should be an issue: anything that fits into RAM should also fit on disk.)

Thanks for an excellent piece of software, BTW. :)
If you speak, your speech must be better than your silence would have been. — Arabian proverb

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Golly 2.8 has been released

Post by wildmyron » September 30th, 2016, 11:30 am

Apple Bottom wrote:Quick question. Do the Golly developers take feature requests? There's a few things I'd love to see in Golly. :)
I'm glad you posted this list, especially most of point 3 has been on my mind when I'm using Golly. I'd also like to second the appreciation for the Golly team.

Point 4 is already possible though, by using the "Run script..." Action in the keyboard preferences.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
Apple Bottom
Posts: 1034
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: Golly 2.8 has been released

Post by Apple Bottom » September 30th, 2016, 11:40 am

wildmyron wrote:Point 4 is already possible though, by using the "Run script..." Action in the keyboard preferences.
Ooh, I didn't know that. Thanks for the tip!
If you speak, your speech must be better than your silence would have been. — Arabian proverb

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!

User avatar
dvgrn
Moderator
Posts: 10612
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Golly 2.8 has been released

Post by dvgrn » September 30th, 2016, 1:09 pm

Apple Bottom wrote:
wildmyron wrote:Point 4 is already possible though, by using the "Run script..." Action in the keyboard preferences.
Ooh, I didn't know that. Thanks for the tip!
Ah, I didn't know you didn't know that. How ever have you been getting along without it?

Along similar lines, you can implement some of your suggestions like Ctrl+W to close a layer, by writing a little Python or Lua script and associating it with a key combination:

Code: Select all

-- Sample Lua script to move to the next layer
-- Assign Ctrl+` to this script in Preferences > Keyboard

local g = golly()
layerindex=g.getlayer()
if layerindex<g.numlayers()-1 then g.setlayer(layerindex+1) end

Code: Select all

-- Sample Lua script to move to the previous layer
-- Assign Ctrl+Shift+` to this script in Preferences > Keyboard

local g = golly()
layerindex=g.getlayer()
if layerindex>0 then g.setlayer(layerindex-1) end
Unfortunately you can't assign Ctrl+Tab and Ctrl+Shift+Tab to these scripts, because those key combinations are used to move from tab to tab in the Preferences dialog...!

Not sure if it might be possible to work around that by editing GollyPrefs directly to put in Ctrl+Tab and Ctrl+Shift+Tab for those scripts, after you've assigned them to different shortcuts. That might have strange effects (including working on some OSes and not others, I would guess) so I don't really recommend it.

User avatar
Scorbie
Posts: 1692
Joined: December 7th, 2013, 1:05 am

Re: Golly 2.8 has been released

Post by Scorbie » September 30th, 2016, 1:35 pm

Apple Bottom wrote:2. The ability to programmatically mark a layer as having no unsaved changes. (Also for the apgcode encoder script, so that when choosing "Delete Other Layers" to close all the layers it has created, you won't be asked to save unsaved changes.)
Here's the code from fusefinder that handles this: https://github.com/Scorbie/fuse-finder/ ... py#L42-L49
I was trying to handle all the layer-related nuisances here at gollygui/layers.py, but apparantly forgot about that...

User avatar
Apple Bottom
Posts: 1034
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: Golly 2.8 has been released

Post by Apple Bottom » October 1st, 2016, 8:41 am

dvgrn wrote:Along similar lines, you can implement some of your suggestions like Ctrl+W to close a layer, by writing a little Python or Lua script and associating it with a key combination: [...] Not sure if it might be possible to work around that by editing GollyPrefs directly to put in Ctrl+Tab and Ctrl+Shift+Tab for those scripts, after you've assigned them to different shortcuts. That might have strange effects (including working on some OSes and not others, I would guess) so I don't really recommend it.
I tried that, and it works just fine. I've also changed the scripts to wrap around at the first/last layer. Thanks!
Scorbie wrote:Here's the code from fusefinder that handles this: https://github.com/Scorbie/fuse-finder/ ... py#L42-L49
I was trying to handle all the layer-related nuisances here at gollygui/layers.py, but apparantly forgot about that...
Thanks. That's not quite what I'm looking for, though, insofar as that it just seems to clear the layer. I'd like to keep the pattern on the new layer the apgcode script creates, in case I want to save it, but I'd also like for the layer to be marked as "unmodified" internally so I can close it without being asked if I want to save it (most of the time I don't).
Last edited by Apple Bottom on October 2nd, 2016, 5:30 am, edited 1 time in total.
If you speak, your speech must be better than your silence would have been. — Arabian proverb

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!

User avatar
Scorbie
Posts: 1692
Joined: December 7th, 2013, 1:05 am

Re: Golly 2.8 has been released

Post by Scorbie » October 1st, 2016, 8:47 am

Apple Bottom wrote: I'd like to keep the keep the pattern on the new layer the apgcode script creates, in case I want to save it, but I'd also like for the layer to be marked as "unmodified" internally so I can close it without being asked if I want to save it (most of the time I don't).
Aha. Whooops. Yeah, that seems to be a little different from my use case... Hope all gets well.

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » October 2nd, 2016, 5:27 pm

Apple Bottom wrote:I'd like to keep the pattern on the new layer the apgcode script creates, in case I want to save it, but I'd also like for the layer to be marked as "unmodified" internally so I can close it without being asked if I want to save it (most of the time I don't).
Two possible solutions:

1. Call g.new soon after creating the new layer. That should tell Golly the script is creating a pattern and to avoid marking it as modified.

2. If you can't do that for some reason, call g.save to save the layer to a temporary file. That should tell Golly to mark the layer as unmodified.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » October 2nd, 2016, 5:37 pm

Apple Bottom wrote:1. The ability to have more than 10 layers. (This sometimes bites me when using the apgcode encoder script, which adds a new layer to do its work on.)
Maybe modify the script so that it re-uses the layer it previously created (give that layer a special name so it can be searched for later). Failing that, just start up a new instance of Golly.
Close the current layer. Suggestion: Ctrl-W.
Just use Prefs > Keyboard to assign Ctrl-W to the Delete Layer item (in the Layer menu).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Golly 2.8 has been released

Post by Extrementhusiast » October 15th, 2016, 9:24 pm

Annnd...Golly crashes if you reset while it's trying to calculate the population.

EDIT: The Undo bug has struck yet again, in a different context! Putting the RLE from this recent post into LifeHistory, repeatedly running it for ~20 generations at a time, and then resetting, also produces the bug. (This one had a much faster onset than the other one, as in only about ten to fifteen stops, with two or three stops per reset.)
I Like My Heisenburps! (and others)

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » October 15th, 2016, 10:58 pm

Extrementhusiast wrote:Annnd...Golly crashes if you reset while it's trying to calculate the population.
How do you know that the crash happens while calculating the population?
EDIT: The Undo bug has struck yet again, in a different context! Putting the RLE from this recent post into LifeHistory, repeatedly running it for ~20 generations at a time, and then resetting, also produces the bug.
More information please:

- Is this on Windows? Is Golly 32-bit or 64-bit?

- Exactly how are you doing the reset? By clicking the reset button in the tool bar, or by typing ctrl-R or some other keyboard shortcut, or by opening the Control menu and selecting the Reset item?

- If you change the way you do a reset does the crash happen more often or less often?

- How are you entering the pattern? Via a paste or via File > Open Clipboard? Does it make any difference?
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
dvgrn
Moderator
Posts: 10612
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Golly 2.8 has been released

Post by dvgrn » October 16th, 2016, 12:18 am

Andrew wrote:
EDIT: The Undo bug has struck yet again, in a different context! Putting the RLE from this recent post into LifeHistory, repeatedly running it for ~20 generations at a time, and then resetting, also produces the bug.
More information please...
I can get various bad things to happen with this pattern, opened with Ctrl+Shift+O, converted to LifeHistory with my standard conversion script, and run in small increments of ten to thirty ticks, in 64-bit Windows Golly 2.8.

Eventually I got the "Bug detected in SyncUndoHistory!" error to appear, but before that it was clear that some pieces of the Undo history were going missing.

Here are the most reliable steps to reproduce the issue for me so far:

- Select the top row -- just roughly, no precision needed.
- Run for about 20 ticks by hitting [Enter], then [Enter] again.
- Select the next row and run another 20 ticks.
- Repeat about ten times, just to make sure...
- Hit Ctrl+R.

Sometimes you'll see the "Bug detected in SyncUndoHistory!" message right away. Even if you don't, it's clear that something is wrong, because Ctrl+Shift+Z won't synchronize the selections with the generation count reliably.

Several times, the last generation that Ctrl+Shift+Z would redo to, was a hundred ticks or more before the actual last generation I had reached -- and/or selection changes would occur at T=0 or some other value lower than the time I actually made the selection.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Golly 2.8 has been released

Post by Extrementhusiast » October 16th, 2016, 1:49 am

Andrew wrote:
Extrementhusiast wrote:Annnd...Golly crashes if you reset while it's trying to calculate the population.
How do you know that the crash happens while calculating the population?
It gives a warning "Illegal operation while calculating!" several times before crashing.
Andrew wrote:
EDIT: The Undo bug has struck yet again, in a different context! Putting the RLE from this recent post into LifeHistory, repeatedly running it for ~20 generations at a time, and then resetting, also produces the bug.
More information please:

- Is this on Windows? Is Golly 32-bit or 64-bit?

- Exactly how are you doing the reset? By clicking the reset button in the tool bar, or by typing ctrl-R or some other keyboard shortcut, or by opening the Control menu and selecting the Reset item?

- If you change the way you do a reset does the crash happen more often or less often?

- How are you entering the pattern? Via a paste or via File > Open Clipboard? Does it make any difference?
64-bit Golly on Windows 10. With the crash I did just now, I played the same pattern at step 2^4 for about 200 generations, stopped it with Enter, then reset it with the 0 key immediately after (as in within a tenth of a second, before it has time to calculate the population; this may take a few tries). It doesn't matter if Ctrl+V or Open Clipboard is used, nor if the reset is done via keystroke or mouseclick on the button. (Testing whether the menu option crashes it is going to require an even larger pattern, but I suspect that option "works", too.)

(Interestingly, while running these crash tests, at one point, the two bugs got triggered simultaneously and actually canceled each other out! No crash, no Undo shenanigans, nothing!)
I Like My Heisenburps! (and others)

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » October 16th, 2016, 3:24 am

Thanks (to both of you) for the extra info. I've managed to reproduce both the "Bug detected in SyncUndoHistory!" error and the "Illegal operation while calculating!" error on my Mac. Not 100% reproducible but often enough that I should be able to track down and fix the bug(s).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 919
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly 2.8 has been released

Post by Andrew » October 16th, 2016, 9:56 pm

@dvgrn and Extrementhusiast: Please try the following 64-bit build of Golly 2.9b1 for Windows (the zip file only contains Golly.exe so just replace your existing Golly.exe).

http://www.trevorrow.com/golly/Golly-2. ... -64bit.zip

I'm pretty sure it fixes the "Bug detected in SyncUndoHistory" error. Not quite so sure about the "Illegal operation" error but I haven't seen either message appear on my Mac or Win7 system, so fingers crossed.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

Post Reply