[Csnd-dev] 6.10 release planning
Date | 2017-10-12 21:08 |
From | Steven Yi |
Subject | [Csnd-dev] 6.10 release planning |
Hi All, So what do we need now for 6.10? Seems like from discussions on user list that: 1. CsoundQT crashing needs to be addressed 2. loscil bug is bad so we want to get 6.10 out soon 3. Visual Studio (AppVeyor) build has had little testing and is unfit for release. 4. Lock Removal - has already gotten started in develop branch but hasn't replaced anything yet Of these, the primary concern I see is #3. We probably need to request volunteers to test on Windows and then need time to diagnose/fix. Considering the Appveyor build takes about 30 minutes to build each build, I don't think this will be quick to iterate upon. Also, if we are going to be moving on to Csound 7 soon after this, I think we need to make 6.10 really robust, or plan to do a 6.11 soon after 6.10 but before CS7 that just deals with stability. |
Date | 2017-10-12 21:12 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
What is 1 about? Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 12 Oct 2017, at 21:09, Steven Yi |
Date | 2017-10-12 21:22 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
This has been discussed a bit at Csound Conference and on the user list. Whenever we release, since we are releasing the installer with CsoundQt still, we need to make sure CsoundQt will be stable. On Thu, Oct 12, 2017 at 4:12 PM, Victor Lazzarini |
Date | 2017-10-12 21:29 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
And I suppose we should add the quoted strings issue Thorin posted about on the user list for 6.10. On Thu, Oct 12, 2017 at 4:22 PM, Steven Yi |
Date | 2017-10-12 21:30 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
Isn't it stable? I find it fairly ok. Is there any particular problem? Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 12 Oct 2017, at 21:22, Steven Yi |
Date | 2017-10-12 21:35 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
Lots of people reported crashing. I wrote about it in length already on the user list so won't repeat it again here. On Thu, Oct 12, 2017, 16:30 Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote: Isn't it stable? I find it fairly ok. Is there any particular problem? |
Date | 2017-10-12 21:40 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
yes, but is it to do with Csound? What can we do about it?
Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland
|
Date | 2017-10-12 21:40 |
From | Tarmo Johannes |
Subject | Re: [Csnd-dev] 6.10 release planning |
Hi, I uploaded release candidate for CsoundQt two days ago and askes people to test. Complete silence so far. Pity, but unfortunately this is the situation so often - people dont want to put their time into testing and later are unhappy... Anyway I absolutely agree that a number of people from all platforms must confirm that it works for them. Tarmo 12.10.2017 23:30 kirjutas kuupäeval "Victor Lazzarini" <Victor.Lazzarini@mu.ie>: Isn't it stable? I find it fairly ok. Is there any particular problem? |
Date | 2017-10-12 21:43 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
I have not tested the latest, but the previous version seems fairly stable in my experience,
on OSX, that is.
Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland
|
Date | 2017-10-12 21:57 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
I feel like I'm just repeating what I wrote on the other list, but anyways, people at the conference reported it crashing on all platforms (including OSX) in various ways. Nothing definitive, just stories like "I was using it to teach x and it crashed", or it crashed for a student and now they think "Csound is horrible because it crashes". On Windows, there's an added issue of different builds now, as the Appveyor build is currently setup to build CsoundQT itself. The Visual Studio build is not compatible with MinGW-based builds; no idea if CsoundQt projects are now compiling against AppVeyor Csound or MinGW Csound. On Thu, Oct 12, 2017 at 4:43 PM, Victor Lazzarini |
Date | 2017-10-12 22:18 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
I think this might be a perennial problem for Csound API-based hosts. If there is some dodgy Csound code or sometimes using a component that is not well developed (say an opcode that is not fully stable), a crash just brings everything down. Not quite sure there is a solution, but just keep trying to find bugs and trying to enforce the contribution of code that is fully functional (not only that "it works for me" and is half finished). Two other solutions: one would be to just use a separate process. That seems a backwards step, loosing interactivity. Another would be to redesign the approach to use a server. When that crashes, it is less of an issue as it does not appear to bring everything down. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 12 Oct 2017, at 21:58, Steven Yi |
Date | 2017-10-12 22:22 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] 6.10 release planning |
just adding that I suspect the situation to be the same with Cabbage and Blue, but since I don't use them normally, I can't tell. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 12 Oct 2017, at 22:19, Victor Lazzarini |
Date | 2017-10-12 22:29 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
HI Tarmo, I tested the RC2 here and it seemed to work fine for the few examples I tried. The screen size was really small though, but I am unsure whether that is a real issue due to using a HiDPI screen, or if it is a Windows 10 bug as it sometimes does this with other applications. One thing to note is that I am using a self-compiled version of Csound on Windows 10 that was built with MinGW. I suspect the RC2 build will not work with Csound built with Visual Studio. (0.9.4 did not work with my local VS build of Csound due to C++ symbol naming differences.) The AppVeyor build of Csound is, I believe, always downloading the latest CsoundQt sources. This may be something that needs to change to pull a specific tag or otherwise it's not a stable version that is going to get packaged. steven On Thu, Oct 12, 2017 at 4:40 PM, Tarmo Johannes |
Date | 2017-10-12 23:25 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] 6.10 release planning |
The AppVeyor build always pulls the CsoundQt develop head. That's easy to change by just editing the appveyor.yml file. The CsoundQt binary will not care about the C++ ABI if the csPerfThread.cpp file is compiled by the CsoundQt compiler and not accessed in a library. For years I was building Csound with mingw64 and CsoundQt with Visual C++. We obviously have to do the testing ourselves. Best, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Thu, Oct 12, 2017 at 5:29 PM, Steven Yi |
Date | 2017-10-12 23:44 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] 6.10 release planning |
Yes, it's the same with Cabbage Victor. I now run Csound through a command line app first to check for errors during the first few k cycles. If it passes, Cabbage goes ahead and compiles the code through the API. It's a hack but limits the damage somewhat. It also allows down the build time when updating an instrument. However, the latest version of Cabbage uses an underlying audio graph, where each Csound plugin is a node. I could potentially sandbox each node as more and more hosts are doing. It might not be easy but it would provide an elegant solution. On the other hand, a server that would protect hosts from Csound crashes would be a very welcome development. On 12 Oct 2017 11:26 p.m., "Michael Gogins" <michael.gogins@gmail.com> wrote: The AppVeyor build always pulls the CsoundQt develop head. That's easy |
Date | 2017-10-12 23:52 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
Thanks for that MIchael. I tested again here and the issue with 0.9.4 of CsoundQt and VS Csound was indeed one of looking for csPerfThread symbols. Using 0.9.5 rc2 did not have link problems and ran. Question: Is there an advantage to building CsoundQt over using a binary that is provided by Tarmo? On Thu, Oct 12, 2017 at 6:25 PM, Michael Gogins |
Date | 2017-10-12 23:54 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
Interesting hack! I was thinking about sandboxing Csound too, but I'm not sure how much that'd affect performance, especially since I'd need to synchronously run things in Blue with the engine. (I'm not even sure how I'd get those to run in sync...) On Thu, Oct 12, 2017 at 6:44 PM, Rory Walsh |
Date | 2017-10-13 00:05 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] 6.10 release planning |
Building it means it's more up to date and problems with the appveyor build tell is we need to fix something in CsoundQt. On Oct 12, 2017 18:52, "Steven Yi" <stevenyi@gmail.com> wrote: Thanks for that MIchael. I tested again here and the issue with 0.9.4 |
Date | 2017-10-13 00:27 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
But we want to use a stable build, not one "more up to date" right? Seems like we should only used released builds by Tarmo, so that there is only one canonical CsoundQt version (i.e., 0.9.5 means only the one from Tarmo). That way whatever Tarmo is testing and releasing is what we are providing, not a build that hasn't been tested by him (or others in CsoundQt community). This goes back to the three installers vs. two installers (or rather, three artifacts vs. 2). If we have a minimal build, then that could be what is used by 3rd parties (like CsoundQt) to build against. Then a 3rd platform installer could be built from the minimal install + CsoundQt build. The platform installer could also be done as a separate project in a separate repository that collects artifacts from Csound, CsoundQt, and others, and puts them together. All release schedules then would be separate (i.e., we don't wait on CsoundQt, they don't wait on us, only platform team would have to coordinate, which seems right.) Anyways: this has veered a bit from 6.10 release planning. When do we all want to target a release, with the issues in the original post taken into account? On Thu, Oct 12, 2017 at 7:05 PM, Michael Gogins |
Date | 2017-10-13 00:36 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] 6.10 release planning |
No, I want to build with the latest sources to see if they have problems. There needs to be more eyes on the CsoundQt code. To address your concerns about stabiity, we can just do a build matrix where one artifact uses a release tag or branch, and the other uses the head. Best, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Thu, Oct 12, 2017 at 7:27 PM, Steven Yi |
Date | 2017-10-13 01:09 |
From | Steven Yi |
Subject | Re: [Csnd-dev] 6.10 release planning |
But then, why not just setup an Appveyor build for CsoundQt? On Thu, Oct 12, 2017 at 7:36 PM, Michael Gogins |
Date | 2017-10-13 08:41 |
From | Tarmo Johannes |
Subject | Re: [Csnd-dev] 6.10 release planning |
Hi, My opinion is, that the "usual", mot typical user on Windows should get the most stable version from CsoundQt and that it is the latest release from master branch. As said many times in the discussions, people want to have a program that just works and I think it is wrong to force people to be in a state where they turn into testers (that is, of course, very needed from developers view) and get frustrated. I think it is perfect that AppVeyor does builds from develop branch for people who want to get the latest improvements but there MUST be one build or version that includes CsoundQt 0.9.5 stable (the version in develop is named now 0.9.6-beta). Or how is the windows installer going to be made? Or is stays just a link to AppVeyor builds? CsoundQt 0.9.5-rc2 is built on Windows now against Csound 6.09.1, I should install actually Csound 6.10 and do another build, this is true. We can still think also about separating CsoundQt and core-Csound from this release on, then there should be somewhere a very clear link to latest CsoundQt release. So far I have not done windows installers (just zip-files for testing) but that could be changed. Michael, you have vast experience in this, what do you think, what is best? What concern crashes- indeed, one reason for crashes is Csound crashing. We talked about it just some days ago Rory and he showed the code how Cabbage uses a small separate process to do a small test run to see if it does not end with crash. For future I am thinking to investigate QRemoteObjects https:// doc.qt.io/qt-5/qtremoteobjects-index.html that came out with Qt 5.9 so that the frontend and CsoundEngine class can be in different processes or even different machines. Could be a big improvement for user experience but takes much work to investigate and implement it. greetings, tarmo On reede, 13. oktoober 2017 2:36.31 EEST Michael Gogins wrote: > No, I want to build with the latest sources to see if they have > problems. There needs to be more eyes on the CsoundQt code. > > To address your concerns about stabiity, we can just do a build matrix > where one artifact uses a release tag or branch, and the other uses > the head. > > Best, > Mike > > ----------------------------------------------------- > Michael Gogins > Irreducible Productions > http://michaelgogins.tumblr.com > Michael dot Gogins at gmail dot com > > On Thu, Oct 12, 2017 at 7:27 PM, Steven Yi |
Date | 2017-10-13 09:48 |
From | Rory Walsh |
Subject | Re: [Csnd-dev] 6.10 release planning |
Seems like we should only used released builds by Tarmo, so that there I'm in agreement with Steven here. |