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

Serato tags: DEBUG_ASSERT in markers.cpp:718 #11283

Closed
daschuer opened this issue Feb 17, 2023 · 8 comments
Closed

Serato tags: DEBUG_ASSERT in markers.cpp:718 #11283

daschuer opened this issue Feb 17, 2023 · 8 comments
Milestone

Comments

@daschuer
Copy link
Member

daschuer commented Feb 17, 2023

Bug Description

For some reasons I have a messy Serato tags in some of my testing files. The data is also in my Mixxx database. I have no idea how this has happened.

debug [Main] SoundSourceProxy - SoundSourceProvider "FFmpeg" created a SoundSource for file "file:///home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a" of type "m4a"
debug [Main] Track - Exporting metadata into file "/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a"
debug [Main] SeratoBeatGrid - SeratoBeatGridTerminalMarker SeratoBeatGridTerminalMarker PositionSecs = 261.622 BPM = 135
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers2 - SeratoMarkers2ColorEntry color = #ffffff
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 0 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 1 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 2 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 3 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 4 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 0 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 1 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 2 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 3 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 4 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 5 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 6 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 7 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 8 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2BpmLockEntry locked = false
critical [Main] DEBUG ASSERT: "cueInfo.getEndPositionMillis()" in function void mixxx::SeratoMarkers::setCues(const QList<mixxx::CueInfo>&) at ../../src/track/serato/markers.cpp:718

When I reset all loops in Mixxx close Mixxx and re-import the metadata from the file the faulty cues are back:

Here is the log from the "almost working" export:

debug [Main] GlobalTrackCache - Evicting track  TrackRef {"/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a","/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a",48} Track(0x55f6c38327d0)
debug [Main] SoundSourceProxy - SoundSourceProvider "FFmpeg" created a SoundSource for file "file:///home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a" of type "m4a"
debug [Main] Track - Exporting metadata into file "/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a"
debug [Main] SeratoBeatGrid - SeratoBeatGridTerminalMarker SeratoBeatGridTerminalMarker PositionSecs = 261.622 BPM = 135
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 1 startPosition = 0 color = #000000 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers - SeratoMarkersEntry type = 3 startPosition = 0 endPosition = 0 color = #27aae1 isLocked = false
debug [Main] SeratoMarkers2 - SeratoMarkers2ColorEntry color = #ffffff
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 0 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 1 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 2 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 3 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2CueEntry index = 4 / position = 0 / color = #000000 / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 0 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 1 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 2 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 3 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 4 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 5 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 6 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 7 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2LoopEntry index = 8 / startposition = 0 / endposition = 0 / locked = false / label = ""
debug [Main] SeratoMarkers2 - SeratoMarkers2BpmLockEntry locked = false
debug [Main] setCues 0
debug [Main] Track - Old metadata (imported) TrackMetadata{ streamInfo: StreamInfo{ signalInfo: SignalInfo{ channelCount: 2 sampleRate: 44100 Hz } bitrate: 129 kbit/s duration: 261317000000 ns } trackInfo: TrackInfo{ artist: "ABBA" bpm: Bpm(135) comment: "" composer: "" genre: "Pop" grouping: "" key: "1B" replayGain: ratio = 0.389504 / peak = -1 seratoTags: SeratoTags title: "Angeleyes" trackNumber: "04" trackTotal: "10" year: "1979" } albumInfo: AlbumInfo{ artist: "ABBA" title: "Voulez-Vous" } }
debug [Main] Track - New metadata (modified) TrackMetadata{ streamInfo: StreamInfo{ signalInfo: SignalInfo{ channelCount: 2 sampleRate: 44100 Hz } bitrate: 129 kbit/s duration: 261269478458 ns } trackInfo: TrackInfo{ artist: "ABBA" bpm: Bpm(135) comment: "" composer: "" genre: "Pop" grouping: "" key: "1B" replayGain: ratio = 0.389504 / peak = -1 seratoTags: SeratoTags title: "Angeleyes" trackNumber: "04" trackTotal: "10" year: "1979" } albumInfo: AlbumInfo{ artist: "ABBA" title: "Voulez-Vous" } }
debug [Main] MetadataSourceTagLib - Exporting track metadata into file "/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a" with type 4
debug [Main] Track - Exported track metadata: "/home/daniel/Musik/Abba - Best Of Abba/19 Abba - Angeleyes.m4a"

In any case we should deal with such messy data gracefully. I will keep an eye on the issue if it comes back.

Version

2.4-alpha

OS

Ubuntu Focal

@daschuer
Copy link
Member Author

@Holzhaus: Do you have an idea why this happens?

@daschuer daschuer added this to the 2.4.0 milestone Feb 17, 2023
@daschuer
Copy link
Member Author

daschuer commented Apr 7, 2023

I had also an occurrence in 2.3

Debug [Main]: SeratoMarkers2 - SeratoMarkers2LoopEntry index = 7 / startposition = 0 / endposition = 0 / locked = false / label = ""
Debug [Main]: SeratoMarkers2 - SeratoMarkers2LoopEntry index = 8 / startposition = 0 / endposition = 0 / locked = false / label = ""
Debug [Main]: SeratoMarkers2 - SeratoMarkers2BpmLockEntry locked = false
Critical [Main]: DEBUG ASSERT: "cueInfo.getEndPositionMillis()" in function void mixxx::SeratoMarkers::setCues(const QList<mixxx::CueInfo>&) at ../../src/track/serato/markers.cpp:718

@daschuer daschuer modified the milestones: 2.4.0, 2.3.5 Apr 7, 2023
@Holzhaus
Copy link
Member

Holzhaus commented Apr 8, 2023

@Holzhaus: Do you have an idea why this happens?

No. Sorry, just saw this bug report. Do you know if these cues originate from serato or mixxx?

@daschuer
Copy link
Member Author

daschuer commented Apr 9, 2023

Since I don't have Serato installed, it must be a Mixxx only issue.

@Holzhaus
Copy link
Member

Holzhaus commented Apr 9, 2023

Since I don't have Serato installed, it must be a Mixxx only issue.

Not necessarily, if you download freebies from SoundCloud or elsewhere, these often have Serato cues. But anyway, maybe there is a bug in the serialization code.

@daschuer
Copy link
Member Author

The files are from a private CD rip. So the data is without any doubt garbage written by Mixxx.

@daschuer
Copy link
Member Author

I did a band-aid commit here:
#11466

@daschuer
Copy link
Member Author

Now #11466 contains also a possible fix.

@daschuer daschuer closed this as completed May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants