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

Internal error at D:\a\audacity\audacity\libraries\lib-wave-track WaveClip.cpp line 174. #4653

Open
JohnColket opened this issue May 3, 2023 · 4 comments
Labels
bug An error, undesired behaviour, or missed functionality

Comments

@JohnColket
Copy link
Contributor

Bug description

Reported by Forum user Mickey_McGinness here: https://forum.audacityteam.org/t/internal-error-message/74855
"using Firefox v 112 on Windows 11, Audacity 3.3.0 and I don’t have a drive D:"

Steps to reproduce

attempting to Amplify one clip

Expected behavior

no error

Actual behavior

No response

Audacity Version

latest stable version (from audacityteam.org/download)

Operating system

Windows

Additional context

No response

@JohnColket JohnColket added the bug An error, undesired behaviour, or missed functionality label May 3, 2023
@JohnColket
Copy link
Contributor Author

Similar report "“Internal Error at WaveClip.cpp line 161" on the Forum by SeaofRoses 1/16/23: https://forum.audacityteam.org/t/audacity-error-161/66492

@JohnColket
Copy link
Contributor Author

Similar report "Internal error at WAveClip.cpp line 161" on the Forum by Wendoglen 11/22 on MacOS: https://forum.audacityteam.org/t/internal-error-at-waveclip-cpp-line-161/65969

@JohnColket
Copy link
Contributor Author

Similar report "Internal error at[...] waveclip.cpp line xxx" on Discord by 42cat on 6/22/23.

@LWinterberg
Copy link
Member

I seems that all of these are talking about this THROW_INCONSISTENCY_EXCEPTION, where the exact line moves between versions due to refactorings and whatnot:

std::pair<float, float> WaveClip::GetMinMax(
double t0, double t1, bool mayThrow) const
{
t0 = std::max(t0, GetPlayStartTime());
t1 = std::min(t1, GetPlayEndTime());
if (t0 > t1) {
if (mayThrow)
THROW_INCONSISTENCY_EXCEPTION;
return {
0.f, // harmless, but unused since Sequence::GetMinMax does not use these values
0.f // harmless, but unused since Sequence::GetMinMax does not use these values
};
}
if (t0 == t1)
return{ 0.f, 0.f };
auto s0 = TimeToSequenceSamples(t0);
auto s1 = TimeToSequenceSamples(t1);
return mSequence->GetMinMax(s0, s1-s0, mayThrow);
}

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
Projects
None yet
Development

No branches or pull requests

2 participants