LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.14k stars 1.01k forks source link

Ghost piano segment (plays after being deleted) #2306

Open MightyPork opened 9 years ago

MightyPork commented 9 years ago

This happens sometimes. Not 100% but quite often.

You delete a segment, but it stays there (invisible?) & continues to play. I tried saving and re-opening the project but the bug persists.

Project is attached: https://dl.dropboxusercontent.com/u/64454818/TMP/xx.mmpz

Before saving the project - segmet was deleted with middle button, continues to play screenshot_2015-09-01_08-56-51

After re-opening project, segment is back there screenshot_2015-09-01_08-57-21

After deleting segment again, still plays screenshot_2015-09-01_08-57-35

musikBear commented 9 years ago

duplicate of #2034 but the testfile is great but @MightyPork what

MightyPork commented 9 years ago

Here's the versions

~ $ uname -a
Linux x201 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux
~ $ lmms --version
LMMS 1.1.3
(Linux x86_64, Qt 4.8.6, GCC 4.9.2 20150304 (prerelease))
MightyPork commented 9 years ago

But now I opened the project to see if it persists, and the bug is gone, so it is likely not tied to the file.

Interesting that earlier it happened with the same file twice in a row. Might be I twice invoked the same race condition or whatever it is, can't think of other cause. The system hasn't been restarted.

I'd post a log, but I can't find it anywhere, does LMMS even have one? If you tell me how, I can capture some debug info when it happens again.

tresf commented 9 years ago

I'd post a log, but I can't find it anywhere, does LMMS even have one?

Not to that level. A better debug would probably be a dump of your Journal Entries (aka "undo"), which AFAIK we don't do currently. @curlymorphic has put some time into improving our journal entries, perhaps we can shim some undo memory or storage into the project files in a future version.

tresf commented 9 years ago

@MightyPork the old bug report was closed due to lack of steps to reproduce. Can you confirm that this behavior is random? If not, the steps to reproduce would be adequate for a developer to investigate.

MightyPork commented 9 years ago

@tresf Can't provide "steps to reproduce", just roughly "steps how it happened".

  1. Before it happened the first time, I spent some time experimenting in Piano Roll & tweaking the synth settings, that's basically the entire session.
  2. Then I played it once, deleted that one segment with middle click, and played it again. They both still played.
  3. Then I restarted LMMS, opened the project from "recents" menu, and it happened exactly the same way again - the deleted segment was now visible. Deleting it again caused a "ghost".

I can't reproduce it now (few hours later).

I didn't save the project after it happened second time, so unless auto-save did, it should be untouched.

If you open it, you'll see the "deleted" segment is visible again (see screenshots in first post). I can reproduce that much, but not repeat the ghost bug.

IvanMaldonado commented 9 years ago

This is the exact same thing that happened to me when I said I couldn't save the file.

The solution was restarting lmms

Umcaruje commented 8 years ago

I have to say that I had this problem before, but when using the master branch I never run into it. Because this problem can't get exactly reproduced, I'm going to bump this to the 1.3 milestone.

Hectate commented 8 years ago

whoops made a post on a closed report. Adding here also.

Just as a note; I encountered this same issue (Windows 8.1, LMMS 1.1.3). Deleting the segments and reopening the project caused them to re-appear. However, when I shut down LMMS entirely and re-opened it, I was able to then "permanently" delete the segments and saving/reopening maintained that modified state of the project finally (as well as playing the project). I noted also that using the "Clear Track" option seemed to make those changes permanent at the cost of losing everything else. I was able to easily re-set Beat/Bassline editor segments since it's just a click, but when the bug happened to a Piano Roll track this option was too destructive. This all makes me wonder if there's some kind of time/usage-based element to this bug. Too many changes in memory for the undo, or a memory leak that causes changes to not be entirely made even though the UI reflects them.

Rossmaxx commented 4 months ago

Can anyone still reproduce this bug? There are quite a few fixes in master now and it might have disappeared.

zonkmachine commented 4 months ago

There are quite a few fixes in master now and it might have disappeared.

I don't recall any fixes for this specifically, I've never seen a method to replicate it that works.

Rossmaxx commented 4 months ago

I meant to say that there might be some unintended fix which might have fixed this in the background

zonkmachine commented 4 months ago

I meant to say that there might be some unintended fix which might have fixed this in the background

Right, it may indeed.

MightyPork commented 4 months ago

Don't wait for me to confirm, I didn't use lmms for years