Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regular Interval Labels crashes Audacity #3247

Closed
petersampsonaudacity opened this issue Jul 16, 2022 · 9 comments · Fixed by #3266
Closed

Regular Interval Labels crashes Audacity #3247

petersampsonaudacity opened this issue Jul 16, 2022 · 9 comments · Fixed by #3266
Assignees
Labels
bug An error, undesired behaviour, or missed functionality crash / freeze catastrophic errors P1 Highest level priority (ship blocker / must fix) regression Bug is a regression against previous version

Comments

@petersampsonaudacity
Copy link

petersampsonaudacity commented Jul 16, 2022

Describe the bug
Regular Interval Labels crashes Audacity.

This is a regression on 3.1.3

To Reproduce
Steps to reproduce the behavior:

  1. Generate 2 minutes of silence
  2. Tools > Regular Interval Labels
  3. Use the default settings and press OK
  4. Observe: Audacity crashes silently with no crash report and no "phone-home"

Actual behavior
Audacity crashes

Expected behavior
10 labels to be created fro 0-1:30

Screenshots
None

Additional information (please complete the following information):

  • OS: Windows 10
  • Version: Audacity 3.2.0 alpha master

Additional context
Flagging @SteveDaulton - but this would not appear to be an issue with Regular Interval Labels itself but a problem with Audacity itself. If I run RIL in 3.1.3 but choose the "3.2.0" version of RIL then the the RIL works ...

@petersampsonaudacity petersampsonaudacity added bug An error, undesired behaviour, or missed functionality regression Bug is a regression against previous version labels Jul 16, 2022
@SteveDaulton
Copy link
Member

If I run RIL in 3.1.3 but choose the "3.2.0" version of RIL then the the RIL works ...

That's surprising. Regular Interval Labels (equalabel.ny) was last changed in October 2018.

@dozzzzer
Copy link
Contributor

I was able to reproduce the crash on Windows 11 machine using the STRs by @petersampsonaudacity, while on MacOS it works just fine.

@dozzzzer dozzzzer added crash / freeze catastrophic errors P1 Highest level priority (ship blocker / must fix) labels Jul 18, 2022
@SteveDaulton
Copy link
Member

Testing with commit id 193321 on Xubuntu, I can reproduce the issue by following the steps to reproduce as written.

The crash seems to occur immediately after a call to wxWindowBase::Destroy()

@SteveDaulton
Copy link
Member

The problem seems to be from EffectUIHost::OnClose()

@SteveDaulton
Copy link
Member

Here's the problem 96e8d0b

@crsib
Copy link
Contributor

crsib commented Jul 19, 2022

I will take a look, @SteveDaulton. This commit is a fix for a different crash

@petersampsonaudacity
Copy link
Author

Testing on W10 with latest alpha master audacity-win-3.2.0-alpha-20220721+db0b7f8-x64-msvc2022

I confirm this works OK on W10

@dozzzzer dozzzzer self-assigned this Jul 21, 2022
@SteveDaulton
Copy link
Member

@crsib You got it this time.

FWIW, the reason that the debug window always opens for this plug-in is because Nyquist only has one return value (in this case it's labels), but I also wanted to let the user know what the plug-in had done. (Nyquist plug-in GUIs are pretty basic, so the UX is not always as clear as we would like).

Normally a Nyquist plug-in displays messages by returning a string (or a number), which Audacity then displays in a message window, but Nyquist can't return both labels and a string. Forcing the debug window to open works around this limitation as Nyquist can write to the debug output at any time, not just on exit.

@dozzzzer
Copy link
Contributor

Verified on MacOS 12.2.1 and Windows 11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug An error, undesired behaviour, or missed functionality crash / freeze catastrophic errors P1 Highest level priority (ship blocker / must fix) regression Bug is a regression against previous version
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants