[Solved] Crash with Play and Mute simultaneous press

Any questions about the Midronome, technical or not
Post Reply
Saw
Posts: 4
Joined: 04 May 2023, 23:32

[Solved] Crash with Play and Mute simultaneous press

Post by Saw »

Short description of the issue: Sometimes simultaneous press of Play and Mute makes Midronome crash.

Setup (devices connected to the Midronome and how): Macbook Pro with Ableton Live via USB.

Steps to Reproduce: Press Play and Mute buttons simultaneously (or maybe slightly delayed).

Expected Behavior: Start Play and unmute the metronome.

Actual Behavior: Midronome crashes resulting in a crazy fast pulses noise and screen getting weird

ErrorLog (from the ErrorLogExtractor - https://midronome.com/support ): F00F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F09060000000000000800070001000200030001000200020000000100000001000000010000000200020001000000000000000000000000000000000000000100F7

I can’t add a video file, so I’ll send it to your email

Has the Midronome firmware been recently upgraded, I upgraded the firmware when it arrived to 0.1beta



---
EDIT by Simon: topic moved to Questions :)
Simon
Posts: 789
Joined: 09 Jan 2022, 22:08

Re: Crash with Play and Mute simultaneous press

Post by Simon »

Yay, an *actual* bug - well done this is officially the first bug found in firmware 1.0 :D
It sounds easy to solve - I'll look into it and should be fixed in next firmware ;)
Simon
Posts: 789
Joined: 09 Jan 2022, 22:08

Re: [A] Crash with Play and Mute simultaneous press

Post by Simon »

Hi Saw :)

I've been trying to reproduce the error, without success. I've been butchering the mute and play button, tried a few different combinations and could not get it to crash. The log you gave me from the ErrorLogExtractor gave me your settings so I have the exact same settings.

Can you tell me a bit more info:
  1. Can you reproduce it easily (say within a 10-20 attempts)?
  2. Does it happen when the metronome is muted (Mute button lit), and/or unmuted (Mute button not lit)?
  3. Does it happen when the device is playing (Play button lit) and/or when it is not (Play button not lit)?
  4. Does it happen if you only press the Play button, without pressing the Mute button at the same time?
  5. When it does happen, would you say you are pressing the Play button or the Mute button first? (if you do not know, can you then try where you always press Play first?)
Thank you so much :)

Simon
Saw
Posts: 4
Joined: 04 May 2023, 23:32

Re: [A] Crash with Play and Mute simultaneous press

Post by Saw »

Hi Simon,

Sorry for the late reply. It’s weird that I can’t reproduce the bug now. Anyway, my answers to your questions:

1. When I posted it was quite easily reproducible, as shown in the video I sent you.
2 & 3. In the video I sent to you it happens with Mute on / Play off. I’m not sure if happened the other way around.
4. I only could reproduce it pressing both buttons at the same time. I actually discovered this by my need to have it muted while in stop (this could be added as an option!)
5. I can't tell, as I can't reproduce it right now.

So, again, I don't know what caused this to happen the day I reported it. I'm happy that it doesn't right now, but the fact that we don't know the cause and it could happen again makes me hesitant to use it in live scenario right now. Could this maybe have to do with some MIDI feedback with the Play/Stop commands? Although I can't reproduce it with all that activated either.

:?:

Fernando
Simon
Posts: 789
Joined: 09 Jan 2022, 22:08

Re: [A] Crash with Play and Mute simultaneous press

Post by Simon »

Thank you for the reply Fernando. I'll give another go at reproducing the issue. There must have been something that you were previously doing that caused the bug to appear, maybe some stuff running in the background, data sent to the device over USB for example.

I have your precise configuration from the ErrorLog you sent - but that's the configuration you had at the moment where you ran the ErrorLogExtractor tool. Maybe you the configuration you had when you could reproduce the bug was different and that's why I could not reproduce it?

Here are the settings from that ErrorLog you sent:

Code: Select all

Tempo = 105

Vo.1  = 8
Vo.2  = 9
CL.1  = 1
CL.2  = 2
bAr   = 4

inp   = Ped
Ped   = tap
Pe.2  = PLA
Pe.t  = SuS

An.L  = On
An.1  = 1
An.2  = 2

PLA   = bot
Res   = On
Loc   = Par

LED   = HIG
Bri   = 003
If you remember anything that could help reproduce the bug be sure to let me know.

Once the issue is reproduced it should be relatively easy to solve :)

Simon
Saw
Posts: 4
Joined: 04 May 2023, 23:32

Re: [A] Crash with Play and Mute simultaneous press

Post by Saw »

Hi Simon,

Well, that’s what I pointed, Ableton Live was sending MIDI via USB to the Midronome, while Midronome was starting Ableton Live, so I don’t know if maybe the Start/Stop commands sent back to the Midronome could have something to do. Although I’ve been testing it with the same project I was testing it the faulty day.

Also, I can tell you that I got the same bug with a different configuration, as I remember to have been testing two pedals attached, being Ped = mute and Pe.2 = play, and the bug was happening pushing the pedals at the same time too.

I’ll let you know if I find out something else.

Fernando
Simon
Posts: 789
Joined: 09 Jan 2022, 22:08

Re: [A] Crash with Play and Mute simultaneous press

Post by Simon »

Saw wrote: 24 May 2023, 01:27 Ableton Live was sending MIDI via USB to the Midronome, while Midronome was starting Ableton Live, so I don’t know if maybe the Start/Stop commands sent back to the Midronome could have something to do.
Good news Fernando, I was able to reproduce the issue. I thought it was an actual bug in the Midronome (an endless loop), but it is not! So still not a single bug found in the code - that's crazy :D

Also it has nothing to do with the Mute button, it's a combination of a strange Ableton behavior (one could call it a bug), and the Reset mode of the Midronome.


Summary
It's a loop between Ableton and the Midronome over the USB-MIDI.

Code: Select all

Midronome sends Start+stop to Ableton -> Ableton sends Start+stop to the Midronome (-> and so on)
It only happens when you have the "Sync" enabled for both Midronome Commands and Midronome Clock & Start, and only when using Reset mode on the Midronome.

So to prevent it from happening:
  • deactivate "Sync" for Midronome Commands in Ableton's Preferences (see screenshot)
  • or do not use the Reset Mode (rES setting to OFF on the Midronome)

Analysis & long explanation
Even though there is a loop, this should not happen, and there's a reason why it only happens in Reset Mode. The Reset Mode used to be very "aggressive", simply resetting right away no matter where the clock was. This created issues in some of the receiving devices which did not like being "reset". So now it is softer, it only resets on the next MIDI Clock (which means that at low tempos there can be a tiny delay between the press of the button and the actual reset, max 83ms at 30bpm).

This worked with all devices that had issues with the aggressive reset mode. But my guess is Ableton still gets bothered by the reset, depending on when the MIDI Start message is sent according to the clock.

See the attached screenshot of a MIDI monitor:
  • At 10:00:10 Play is pressed -> Midronome sends SPP 0 and Start, then Ableton sends SPP 0 and Start (which are ignored by the Midronome), so all is good
  • At 10:00:12 Play is pressed again -> now Midronome sends Stop, then Ableton sends Stop (also ignored), all is still good
  • At 10:00:14 Play is pressed again and this time the issue happens: Midronome sends SPP 0 and Start, and Ableton sends SPP 0 and Start (ignored by the Midronome)... followed by Stop, SPP 0, Continue!! (highlighted line on the screenshot)
    • These messages get the Midronome to send Stop to Ableton and Start right after, which are then sent by Ableton to the Midronome, and so on... And there we have our loop. To stop it you can simply press the "Ext" button on Ableton.
So why is Ableton sending the extra Stop, SPP 0 and Continue? My guess is that it knows devices receiving the Clock will not like the reset, it wants to make sure they all start together.


Maybe this could be improved on the Midronome by adding extra checks on when the MIDI Start message is sent (since this does not happen every time), but for now unless you or someone else has something to say about this I will close the issue stating in the manual that you cannot use Sync on both Clock&Start and Commands if you are using the Reset mode.
Attachments
MIDI monitor.png
Ableton prefs.png
Saw
Posts: 4
Joined: 04 May 2023, 23:32

Re: [A] Crash with Play and Mute simultaneous press

Post by Saw »

Hi Simon,

Well, it all makes so much sense. It's actually what I was suspecting.
Thanks for the great explanation.

Fernando
Post Reply