question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Replay frames should use stable sort algorithm

See original GitHub issue

Describe the bug: Not sure if this should be opened seeing as #12532 is already tracking inaccuracy involved with classic mod, but I did find that the replays are still inaccurate even when classic mod wasn’t applied/used.

The issue that I’ve came across was that the replay was “double tapping” at seemingly random places, there doesn’t seem to be a pattern to this “double tapping” but the issue is consistent and repeatable on isolated replays.


Screenshots or videos showing encountered issue:

  1. https://youtu.be/2hcOwZDtfoQ

This is one of the better examples I can put on tape as all my other replays are mostly littered with inaccurate play by myself to begin with which will probably make it very difficult for you to pick out the actual issue, but unfortunately there’s only 1 “double tap” in the entire replay which happens on the stream after 1:27 in the video. As you can see the older game version which this score was set on (2021.331.0) can accurately replay the score.

I am also attaching the replay in question so you can investigate it deeper if desired Integer playing Feint - Tower Of Heaven (You Are Slaves) (eLy) [Extra].osr.zip


  1. https://youtu.be/sPdfN7SpVds

This I already mentioned in #12532 but I’ll leave the clip here as I don’t really want to ping everyone again with another comment. Look for 1:20 and 2:05 in the video, note that this score is SS

osu!lazer version: 2021.424.0

Logs: I deleted the logs folder, played the 1st replay mentioned, then quitted the game network.log performance.log runtime.log

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:14 (12 by maintainers)

github_iconTop GitHub Comments

1reaction
frenzibytecommented, May 2, 2021

I understand the issue now, simply both keys are pressed at once when only one was pressed in the original play, is that right? and is that the same for the other score you attached?

0reactions
bdachcommented, May 2, 2021

I don’t believe SortedList will fix this properly, because I don’t believe its Add() method is stable wrt insertion order (as in, it does not guarantee that if the list already has items with the same sorting key, the item will be added after all of them). This is because it internally uses BinarySearch() to find the insertion index, which does not have this property and can return the index of any of the existing items as long as the sorting key is equal (see sharplab).

Read more comments on GitHub >

github_iconTop Results From Across the Web

What is the advantage of using a stable sort algorithm vrs ...
When it's important not to use extra memory, unstable sorts are used instead, because they're almost as fast in most cases and don't...
Read more >
Examples — Stable Baselines3 2.1.0a4 documentation
load method re-creates the model from scratch and should be called on the Algorithm without instantiating it first, e.g. model = DQN.load("dqn_lunar", env=env) ......
Read more >
Why is stability considered a desirable trait of a sorting ...
A stable sorting algorithm only states that elements that are equal according to the comparator are kept in the same relative order as...
Read more >
Stable and Unstable Sorting Algorithms
Counting Sort maintain stability by ensuring that the Sorted Array is filled in reverse order so that elements with equivalent keys have the ......
Read more >
Sorting (Bubble, Selection, Insertion, Merge, Quick, ...
Sorting is a very classic problem of reordering items (that can be compared, e.g., integers, floating-point numbers, strings, etc) of an array (or...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found