Lmms: Master branch is unstable

Created on 3 Apr 2019  路  7Comments  路  Source: LMMS/lmms

Master is permanently buggy. Just to mention a few, I had stuff like:

  • Ladspa plugins making LMMS crash at every start
  • VST not loading at all
  • rpmalloc crashes at exit
  • Qt issues

All this is already annoying for experienced devs. Now imagine you want to make your first steps with git and C++/Linux and stumble over such bugs on master. It's a typical "Hey, I want to contribute, but it's impossible because nothing works." - Instead of finally starting coding, you're busy understanding and fixing issues of others.

Possible solutions?

  1. If you want to work on master, you can try merging stable-1.2 to master, but the merge conflicts get larger and larger...
  2. Every 1.2 committer is forced to merge their code to master
  3. Finally stopping stable development outside of master, i.e. no stable-1.2 branch anymore

Most helpful comment

I'm a master branch user and I can work with project with lots of VST and LADSPA plugins in LMMS for hours without crashes in Linux. No stability issues at all for me. Only XEmbed plugin embedding freezes (can just use other embedding method in configuration, issue created in github) and SDL2 doesn't exit without ctrl + c (doesn't bother, issue created in github).

All 7 comments

It's getting a problem if you diverge from master, your branch is getting more and more stable, you want to merge again after some time, but don't do it because master will bring new bugs into your branch. That leads to branches diverging over a long time, resulting in nightmare merge conflicts.

All in all, we should recommend any developer to ignore the master branch until the 1.2 release. Instead, new features should branch from stable-1.2 and be merged back there. It may cause regression issues on stable-1.2, but they are not going to finish it anyways...

I'll change all that in the wiki and also merge some of my branches into stable-1.2, unless anyone shows up good arguments not to do so.

All in all, we should recommend any developer to ignore the master branch forever. Instead, new features should branch from stable-1.2 and be merged back there.

There are a lot of features in master which are not in stable! Do you want to put all that work to trash?

Forever was the wrong word, I meant until the stable branch is abandoned (which seems like forever to me though)... I'll fix that.

I'm a master branch user and I can work with project with lots of VST and LADSPA plugins in LMMS for hours without crashes in Linux. No stability issues at all for me. Only XEmbed plugin embedding freezes (can just use other embedding method in configuration, issue created in github) and SDL2 doesn't exit without ctrl + c (doesn't bother, issue created in github).

Whenever I re-merge/re-base from master, there's at least one new issue getting into my branch that's crucial for the branch topic itself.

I think the right branching guide is:

  • Always start your branch on stable-1.2, only in rare edge cases on master. Always rebase to stable-1.2. That way, you avoid new errors from merges/rebases.
  • When the PR is through and your code looks good, decide:

    • Are you OK with waiting years for feature to be released, then merge to master.

    • Else:

    • Is a release on stable-1.2 announced in the next days? Then wait.

    • Else merge to stable-1.2.

Waiting for years isn't sarcasm. There's no date planned for 1.2, and 1.2.1 will increase lifetime of stable-1.2, with at least 5 open issues.

Is that branching guide OK?

In my honest opinion 1.2 should be released and then as these other pending issues are solved minor versions can be released. It would look better on lmms as a whole to have more frequent release?

I think for that a long term solution for all windows and maybe mac users is to introduce a way to have the application check for updates auto download them and install them.

Edited by PhysSong: Removed the email quote.

Somehow I find my own issue deconstructive. Sorry for this. I'll close this.

Anyways, the announced 1.2.0 release will probably increase the attention for the master branch, so this should make it much more stable.

Was this page helpful?
0 / 5 - 0 ratings