hang when halving/doubling loop from script

Bug #1576819 reported by Be on 2016-04-29
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
High
Daniel Schürmann

Bug Description

A user is reporting that Mixxx sometimes hangs when using the loop halve/double encoder with the Hercules P32 DJ mapping. The script sets loop_halve/double to 1 then back to 0. At first, I had the script reset the CO back to 0 on a short timer to light the buttons on screen. I thought the issue might have something to do with the timer, but the issue remains after getting rid of the timer. This error repeatedly appears in the log when Mixxx hangs:

Warning [Main]: SHOULDN'T HAPPEN: seekInsideAdjustedLoop couldn't find a new position -- seeking to in point

Logs from the user, from Windows and Mac OS X, are attached to these forum posts:
http://mixxx.org/forums/viewtopic.php?p=28383#p28383
http://mixxx.org/forums/viewtopic.php?p=28385#p28385
http://mixxx.org/forums/viewtopic.php?p=28467#p28467
http://mixxx.org/forums/viewtopic.php?p=28469#p28469
http://mixxx.org/forums/viewtopic.php?p=28651#p28651

I haven't been able to reproduce the bug myself on GNU/Linux.

The relevant function in the script is:
https://github.com/Be-ing/mixxx/blob/20b16b5b85e3d8de99d1aa6c3a668faea3bb0037/res/controllers/Hercules-P32-scripts.js#L407

Be (be.ing) on 2016-04-29
description: updated
Changed in mixxx:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Daniel Schürmann (daschuer)
milestone: none → 2.0.1
Daniel Schürmann (daschuer) wrote :

This endless loop happens if new_loop_out <= new_loop_in
Now Idea why this is possible, but I will add a break statements to the loops as hot fix.

Still investigating ..

Be (be.ing) wrote :

Great, thanks for looking into this.

Owen Williams (ywwg) wrote :

this is a good candidate for backport to the 1.12 branch (just in case we are able to do a 2.0.1 release)

Be (be.ing) wrote :

Does that actually fix the issue, or is that a quick hack around Mixxx hanging?

Daniel Schürmann (daschuer) wrote :

This is only a quick hack to avoid the endless loop. A fix of the underlying is in progress.

Changed in mixxx:
status: In Progress → Fix Committed
milestone: 2.0.1 → 2.1.0
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers