purr-data merge requestshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests2020-06-06T20:10:46Zhttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/344Master2020-06-06T20:10:46ZIvica BukvicMasterThis should fix issue #606. Needs to be tested in respect to the addition of the gobj_vis 1 requests for the scalars only. This was not present before but does correspond with the original intent of Jonathan's code that, according to com...This should fix issue #606. Needs to be tested in respect to the addition of the gobj_vis 1 requests for the scalars only. This was not present before but does correspond with the original intent of Jonathan's code that, according to comments, is linked to scalars. The original code only erases but does not draw.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/347606 fix2020-06-16T04:20:13ZIvica Bukvic606 fixCloses #606Closes #606Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/357Fixed route object to properly process bang messages regardless of the mode i...2020-06-22T00:36:52ZIvica BukvicFixed route object to properly process bang messages regardless of the mode it may be usingImproved route-help.pd to make it easier to understandImproved route-help.pd to make it easier to understandJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/522Fix a spurious segfault on Windows.2020-09-05T08:45:42ZAlbert GräfFix a spurious segfault on Windows.This one is critical. The segfault happens inside glob_quit() when running gui-less (-nogui). It bothers me every time I test some changes to the Windows version and run regression_tests.pd gui-less as a quick check that the basic functi...This one is critical. The segfault happens inside glob_quit() when running gui-less (-nogui). It bothers me every time I test some changes to the Windows version and run regression_tests.pd gui-less as a quick check that the basic functionality still works. Which is its purpose after all. :) But with the regression test making pd.exe segfault, it becomes useless. It doesn't happen every time, but quite often.
Of course, our CI script also uses this regression test and suffers from the same defect. You can actually see this in many logs of the windows_i386_innosetup runner. Here is a typical example taken straight from the log of one of my recent builds:
~~~shell
Testing Purr Data for Windows
$ cd scripts
$ ../packages/win32_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
$ ../packages/win32_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
~~~
Note that there is no output from regression_tests.pd at all. This is a tell-tale sign of the segfault. Normally it should print something like this:
~~~
unpost_print: testing unpost...
test message
unpost_print: testing unpost error...
test message
warning: hex2dec: realtime unsafe memory allocation for lists with more than 10 elements
Done: all tests succeeded.
closing audio...
closing MIDI...
... done.
~~~
The easy fix is to just bypass the gui finalization code in glob_quit() when running gui-less (sys_nogui). This completely eradicates the segfault for me, and running regression_tests.pd works every time.Jonathan WilkesJonathan Wilkes