Closed ms609 closed 4 months ago
I'm dealing with this now - just a note to say that on my system, this can be cancelled with either escape or hitting the stop button on the GUI - it would be good to know if this is not the case on windows!
With the above commits, I have made the following changes to address this issue:
I think that is everything!
I rebuilt the software this mornining. When I run the Fitness histogram, Trevosim pauses for a couple of seconds (presumably running the calculations), then closes without writing any output files (but after creating the specified output directory).
The updated documentation reads well and is clear to follow.
Oh no! Many apologies. I don't get this on my end - it is definitely the most recent source code, right (as it was crashing a few days ago whilst I was fiddling)?
I will dig into the code and try and figure out what it could be, however, are you able to debug it? Hitting this button, if debugging is installed: Should catch where it is crashing when you do the run, and if you could let me know what line it is, it would be a great help!
I've pulled commit 84826bdc6e90d25d6f42932028816454f69dccff
.
Here's the debug info:
Hmm, this is the assembly code - somewhere in the GUI it should also tell you the line of the source code that is causing the issue - is that visible/obvious? I can create a crash here and send you a screenshot if helpful, though we may have a slightly different IDE GUI.
In mine, it is selecting the last line on the bottom right that is in one of the source files:
I needed to add debug information tools to my Qt installation and build the debug version of the software... Qt is still grumbling about this but hopefully the below gives the information you need?
Thanks for taking the time to do so, much appreciated. This is definitely a start, in that it is happening within the count peaks function itself. I'll next check whether this is a windows wide issue, and if not may come back and ask you to do a fresh rebuild just in case there is something lingering in the build chain that is messing stuff up!
Its a Windows-wide build issue. Digging into it now...
Thanks! It looks like a memory issue, but why it isn't segfaulting on Linux then is a bit of a mystery to me. Interested in what you find
@ms609 - Alan and I dug around, and turns out Windows limits stack variables to 1mb, whereas Linux to 8mb. The above commit moves the randoms to test onto the heap, and so hopefully should fix the crash for you.
Fab, that's got it working – good job on tracking the issue down!
If it's easy, you might consider making the entry for "how many bits" remember the last value used, to make repeat analyses easier to perform. But this probably makes at best a miniscule improvement to user convenience!
Good news, thaks for checking. Sure I can make the bits value persistent. For your use case, would within session surfice, or would persisting across sessions be of utility?
I think the gain in convenience is obtained within a session; in fact it's probably nice if a new session returns to the default.
Super, cheers - done!
The Fitness histogram feature is useful, but its documentation left me with a number of questions.
I ran the command with its default settings (32 bits, one repeat); this looked like it would take a very long time so I tried to abort (which seemed to required a Ctrl-Alt-Del). If run time increases exponentially when the genome is
|gt|16
(sic) bits (not clear why it is not exponential at lower values – does a fixed overhead dominate runtime?), perhaps a smaller default value would be more suitable?Is it necessary to evaluate every single genome, rather than a statistically representative subset?
If every possible genome is being evaluated, it's not quite clear why a repeat is necessary – I guess this reflects stochasticity in environmental setup? It would be helpful to specify what is kept constant / varied under a "repeat".
There's no indication of success/completion of a run. I was expecting to see a histogram pop up as a dialog box. I did find the output in the output directory, but as I hadn't been prompted to set a save location (and as the "Save path" seems to relate to the "Run", rather than to the separate "Commands" menu bar) I didn't immediately look there. Perhaps a dialog message "Run complete; results saved to" would have pointed me in the right direction. The fact that subsequent runs are appended to the same file also threw me somewhat; is there a single file for each TREvoSim session?
I ran the command with a smaller genome but find the output difficult to parse. I interpreted
Fit to environment: 20
as meaning "Fit to the twentieth environment". I was very confused until I understood what it actually meant. Could this be reworded?