New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scope buffer allocation problem #937
Comments
I can't reproduce this problem with the current build on OSX.
|
@telephon please (a) markdown-format backtraces and (b) file a separate bug as this does not seem to be related. in general, sleeping while the synthesis can cause a lot of undefined behavior |
On 17.08.2013, at 11:18, Tim Blechmann notifications@github.com wrote:
how should they be formatted?
are you sure? If you are sure, I can do so.
It definitely should not, at least on OS X. |
On 17 Aug 2013, at 20:05, Julian Rohrhuber notifications@github.com wrote:
Yes, that would certainly seem like a serious regression. Users will reasonably expect all software, on all platforms, to sleep without crashing. |
I can't reproduce this issue either, on Linux. Tim, on which git branch/revision is this? I've seen this issue due to Julian Rohrhuber's commit 253b99c which caused problems in node.free. This commit has since been reverted, and the functionality implemented in a different manner (by Tim). Unfortunately the latest released 3.6 version still contains the regression!! (We really need to make another bugfix release!!) |
it is on master, 10ef043. and i can reproduce it with both scsynth and supernova. |
On 18.08.2013, at 23:03, Jakob Leben notifications@github.com wrote:
I don't see how this could be connected. I still don't understand the revert btw (but I trust you). |
@telephon you deferred the free command. this means that if you depend on the sequence free->new, you are screwed. that commit caused the problem that the scope buffer descriptor could not be allocated by a new synth, because the old synth was not freed. |
On 18.08.2013, at 23:50, Tim Blechmann notifications@github.com wrote:
Thanks for the explanation. I'd like to understand: I was making sure that the free command is processed exactly at the time scheduled and not some unknown time. Why weren't you just using a new synth with a different ID? I can imagine that it was hard to track down. Maybe it is an ok solution, but it seems a little bit like duck tape. If you want to be certain that one synth is started after the other is freed, you can use the onFree message. |
scope buffers have a language side and a server side (and shared memory in between). so one would also have to re-assign a new scope buffer id for the widget. but in general, it is more about sequential consistency. if use code does something like:
the events should not be reordered. so in this case the correct fix was not to defer the |
This makes sense. However, looking at the patch: #253b99c |
f939dc2 is my fix (btw # references issues, just paste the commit hash and github will generate the lin) |
Seems to be fixed. |
evaluating this code triggers a bug in the scope buffer allocation:
the freqscope is shown in the scope window and this error message is posted:
The text was updated successfully, but these errors were encountered: