EngineFilterIIR assertion failures (can be triggered by syncing)

Bug #1093012 reported by x
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
RJ Skerry-Ryan

Bug Description

Randomly while mixing, pressing sync causes Mixxx to crash with this error:

Fatal [Engine]: ASSERT: "yv1[8]<100000 || yv1[8]>-100000" in file src/engine/enginefilteriir.cpp, line 59
Aborted (core dumped)

This happened twice in 10 minutes during my last session, but sometimes doesn't affect me at all

Related branches

Revision history for this message
x (broma0-deactivatedaccount) wrote :

Seems as though it only happens when pressing the sync button.

summary: - Random crashes while mixing on 1.11
+ Sync causing random crashes
description: updated
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: New → Confirmed
assignee: nobody → RJ Ryan (rryan)
importance: Undecided → Critical
milestone: none → 1.11.0
Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: Sync causing random crashes

This isn't really a crash, it's an assertion failure. We shouldn't assert on this condition so I removed it.

Also, the condition of this assert is pretty funny: yv1[8]<100000 || yv1[8]>-100000 will always be true for real numbers (including +/- infinity). The only double value this fails for is NaN which is not comparable to any number, even itself.

What this means is that one of the IIR filter coefficients has become NaN. I wish I knew more about why this happens. I've converted the assert to a stats counter and I try to handle the failure gracefully by zeroing out the NaN coefficient of the filter. If the earlier coefficients of the filter are NaN then this won't help at all because the NaN will just keep propagating.

Matt -- could you test version >=r3649? I'm very curious what zeroing the coefficients does when you trigger the bug. Worst case it will totally kill audio output for the deck (but it won't crash). If that does occur then we'll need to zero all the coefficients to fix it.

Changed in mixxx:
status: Confirmed → Fix Committed
summary: - Sync causing random crashes
+ EngineFilterIIR assertion failures (can be triggered by syncing)
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6798

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.