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

DlgTrackInfo: Fix SIGSEGV after debug assertion #4316

Merged
merged 5 commits into from
Sep 28, 2021
Merged

DlgTrackInfo: Fix SIGSEGV after debug assertion #4316

merged 5 commits into from
Sep 28, 2021

Conversation

uklotzde
Copy link
Contributor

@uklotzde uklotzde commented Sep 20, 2021

TODO:

  • Fix update of BPM spin box (by reverting the last commit that reordered updates)

Occurred in DlgTrackInfo::slotSpinBpmValueChanged():

critical [Main] DEBUG ASSERT: "bpm.isValid() && firstBeatPosition.isValid() && !firstBeatPosition.isFractional()" in function static mixxx::BeatsPointer mixxx::BeatGrid::makeBeatGrid(mixxx::audio::SampleRate, mixxx::Bpm, mixxx::audio::FramePos, const QString&) at ../src/track/beatgrid.cpp:80

#6  mixxx::BeatGrid::makeBeatGrid(mixxx::audio::SampleRate, mixxx::Bpm, mixxx::audio::FramePos, QString const&) (sampleRate=..., bpm=..., firstBeatPosition=..., subVersion=...)
    at ../src/track/beatgrid.cpp:80
#7  0x0000000000b4de16 in mixxx::Beats::fromConstTempo(mixxx::audio::SampleRate, mixxx::audio::FramePos, mixxx::Bpm, QString const&) (sampleRate=..., position=..., 
    position@entry=..., bpm=..., bpm@entry=..., subVersion=...) at ../src/track/beats.cpp:41
#8  0x0000000000e0ad70 in DlgTrackInfo::slotBpmConstChanged(int) (this=0x30e9b060, state=<optimized out>) at ../src/library/dlgtrackinfo.cpp:679
#9  0x00007ffff378b3a9 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#10 0x00007ffff67ef292 in QCheckBox::stateChanged(int) () at /lib64/libQt5Widgets.so.5
#11 0x00007ffff67e0275 in QAbstractButton::setChecked(bool) () at /lib64/libQt5Widgets.so.5
#12 0x0000000000e0a950 in DlgTrackInfo::reloadTrackBeats(Track const&) (this=0x30e9b060, track=...) at ../src/library/dlgtrackinfo.cpp:475
#13 0x0000000000e0ce86 in DlgTrackInfo::updateFromTrack(Track const&) (this=0x30e9b060, track=...) at ../src/library/dlgtrackinfo.cpp:396
#14 0x0000000000e0d7f7 in DlgTrackInfo::loadTrackInternal(std::shared_ptr<Track> const&) (this=0x30e9b060, pTrack=std::shared_ptr<Track> (use count 4, weak count 1) = {...})
    at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#15 0x0000000000e0d9af in DlgTrackInfo::loadTrack(QModelIndex const&) (this=0x30e9b060, index=...) at ../src/library/dlgtrackinfo.cpp:523
#16 0x0000000000c03c26 in WTrackMenu::slotShowDlgTrackInfo() (this=0x2dfeab70) at /usr/include/qt5/QtCore/qlist.h:151

critical [Main] DEBUG ASSERT: "bpm.isValid() && firstBeatPosition.isValid() && !firstBeatPosition.isFractional()" in function static mixxx::BeatsPointer mixxx::BeatGrid::makeBeatGrid(mixxx::audio::SampleRate, mixxx::Bpm, mixxx::audio::FramePos, const QString&) at ../src/track/beatgrid.cpp:80

Thread 1 "mixxx" received signal SIGINT, Interrupt.
0x00007ffff30a48b2 in raise () from /lib64/libpthread.so.0
(gdb) c
Continuing.

Thread 1 "mixxx" received signal SIGSEGV, Segmentation fault.
DlgTrackInfo::slotSpinBpmValueChanged (this=0x30e9b060, value=124.68554415) at /usr/include/c++/11/bits/shared_ptr_base.h:1295

I am not able to reproduce the error and cannot tell why it occurred. Select a track with a fractional cue point (i.e. not on frame boundary) and open the properties dialog.

@uklotzde uklotzde marked this pull request as draft September 21, 2021 00:01
@uklotzde uklotzde marked this pull request as ready for review September 21, 2021 00:06
@uklotzde
Copy link
Contributor Author

Ping. I don't expect a controversial discussion about this fix and why it is needed.

@uklotzde
Copy link
Contributor Author

Ping again.

Copy link
Contributor

@Be-ing Be-ing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting for CI

@Be-ing Be-ing merged commit fe7eb4f into mixxxdj:main Sep 28, 2021
@Be-ing
Copy link
Contributor

Be-ing commented Sep 28, 2021

Thank you.

@uklotzde uklotzde deleted the slotSpinBpmValueChanged branch September 28, 2021 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants