Giter Site home page Giter Site logo

Comments (9)

OxygenCobalt avatar OxygenCobalt commented on August 17, 2024

Have you tried disabling "Intelligent Sorting" in Settings -> Content? You should be able to do this before it crashes on a fresh install that's still taking awhile to load music @fungs. This would allow me to confirm what I think it is, that apparently the name comparison code that I do have really does require me to ensure that the comparison and equality results are 100% consistent.

from auxio.

fungs avatar fungs commented on August 17, 2024

@OxygenCobalt, I can confirm that the intelligent sorting (excluding articles etc.) option seems to cause this issue. I disabled it on a fresh install, not running into that issue and enabled it again, which caused the same error.

from auxio.

OxygenCobalt avatar OxygenCobalt commented on August 17, 2024

Alright, this implies something I feared would happen. The issue is that intelligent name comparison plays a tad loose with the sorting contract. If you have a name like "FooBar" and "Foo Bar", the comparator will consider those equal, but the actual equality check won't. I thought this was okay after reading the comparator contract documentation, but apparently not. Thanks for reporting this @fungs.

from auxio.

OxygenCobalt avatar OxygenCobalt commented on August 17, 2024

Might have figured out the issue in #810. More or less I was badly abusing Java comparators and violating their invariants, causing a crash with very specific data sequences. Care to try this out @fungs?

Auxio_Canary.zip

from auxio.

fungs avatar fungs commented on August 17, 2024

I will give it a try, probably this week!

from auxio.

OxygenCobalt avatar OxygenCobalt commented on August 17, 2024

Update? @fungs

from auxio.

fungs avatar fungs commented on August 17, 2024

@OxygenCobalt I cleared the cache and data and verified, that the error still exists with the standard version. Then I installed the debug version and got exactly the same error, again. I can reproduce it by clearing cache and data of the app and giving permission to access media at first startup. It scans all media, the loads the media and then shows a message that it could not load the music. I have the option between "try again" and "more". When I select "more", I get the debug log in the first post. When I hit "try again", the music database is empty. When I then restart the app with the empty database, the loading is much faster and the music is there without getting any error.

Could it be that it just has problems parsing a (defective) music file?

I re-did the whole thing many times and also observed that in rare cases I don't get the error at all!

from auxio.

OxygenCobalt avatar OxygenCobalt commented on August 17, 2024

Sorry for not responding @fungs. Have you tried 3.5.2? It turns out there were two points at which the sorting invariants were violated, 3.5.1 fixed one and 3.5.2 fixed the second.

from auxio.

fungs avatar fungs commented on August 17, 2024

I tried the version 3.5.0-debug you provided. Now I cannot reproduce it with the current 3.5.2. It may be fixed then. I can re-open this ticket, if it happens again.

Thanks!!!

from auxio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.