• Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Fails to index a few songs

    Scheduled Pinned Locked Moved
    Technical Help
    3
    12
    655
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jonasJ
      jonas @pajaro
      last edited by jonas

      @pajaro
      What OS, Qt version, strawberry version and filesystem?

      P 1 Reply Last reply Reply Quote 0
      • P
        PeterB @jonas
        last edited by

        @jonas said in Fails to index a few songs:

        @pajaro
        What OS, Qt version, strawberry version and filesystem?

        https://tracker.debian.org/pkg/strawberry
        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014523

        P 1 Reply Last reply Reply Quote 0
        • P
          PeterB @PeterB
          last edited by

          Seems to be a similar problem reported here. (with a solution!)

          [https://bytemeta.vip/repo/strawberrymusicplayer/strawberry/issues/815]

          jonasJ 1 Reply Last reply Reply Quote 0
          • jonasJ
            jonas @PeterB
            last edited by

            According to the query, mtime is valid, but ctime is -1. But ctime should be set to mtime if ctime is not valid. Code here:
            https://github.com/strawberrymusicplayer/strawberry/blob/2655b8b43a5c49deb36e3c7f3f854b18a2e0829c/ext/libstrawberry-tagreader/tagreadertaglib.cpp#L200

            I can't reproduce it, so it would be nice to know the filesystem in use, are you using encryption? I don't see that anywhere in the bug report.
            What's the output from stat? Does it show "Birth"?

            My only guess is that birthtime returns -1 even though QFileInfo says "birthtime" is valid. But it would be nice to know exactly what's going on.

            Similar issue here https://github.com/strawberrymusicplayer/strawberry/issues/815 and here https://github.com/strawberrymusicplayer/strawberry/issues/947

            I find it it a bit strange that the birthtime is invalid for some files and not others.

            P 2 Replies Last reply Reply Quote 1
            • P
              PeterB @jonas
              last edited by

              @jonas

              Hi Jonas, I can't reproduce the problem either. But I notice files on NTFS have no birthtime, but that is not stopping strawberry from loading them.

              1 Reply Last reply Reply Quote 0
              • P
                PeterB @jonas
                last edited by

                @jonas

                Hi Jonas, trying out the patch on
                https://github.com/strawberrymusicplayer/strawberry/issues/815

                but it now fails the test suite. Maybe the test needs updating as well?

                [ RUN ] CollectionBackendTest.AddInvalidSong
                13:01:53.887 INFO Database:152 Creating initial database schema
                13:01:53.892 INFO Database:448 Updating "playlist_items" for %allsongstables
                ./tests/src/collectionbackend_test.cpp:125: Failure
                Expected equality of these values:
                1
                spy.count()
                Which is: 0
                13:01:53.893 WARN unknown QSqlDatabasePrivate::removeDatabase: connection '4_thread_94473559422960' is still in use, all queries will cease to work.
                [ FAILED ] CollectionBackendTest.AddInvalidSong (6 ms)

                jonasJ 1 Reply Last reply Reply Quote 0
                • jonasJ
                  jonas @PeterB
                  last edited by

                  @peterb
                  There was a unit test for checking that "invalid" songs actually errors instead of being added to the database, invalid meaning ctime or mtime missing.
                  Removed the test now https://github.com/strawberrymusicplayer/strawberry/commit/dbbedee77f244d7917d1481d20fd07279103ec17

                  1 Reply Last reply Reply Quote 1
                  • P
                    pajaro
                    last edited by

                    Sorry, im out

                    I will do more specific test when i can

                    In the meantime, the file system is ext4

                    coreutils: /usr/bin/stat

                    returns a valid ctime (which is maybe corrected by the program)

                    I tried to auto tag the song (so maybe strawberry was able to "fix" whatever is wrong in the file, but it gives the same error

                    Clementine is able to index these bad files

                    Even if there is some error, like this, shouldnt strawberry try to recover by fixing the ctime? (and maybe reporting it to the user)

                    Even if strawberry doesnt "fix" the file, shouldnt it just import the rest of the files that doesnt have the problem? (or maybe all do, its hard to tell, because if i remove a bad file, it reports another one

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      PeterB @pajaro
                      last edited by PeterB

                      @pajaro
                      The version available here
                      https://salsa.debian.org/debian/strawberry/-/jobs/2981368/artifacts/file/debian/output/strawberry_1.0.5-2+salsaci_amd64.deb

                      might fix the problem.

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        pajaro @PeterB
                        last edited by pajaro

                        @peterb

                        Yes, this worked! Thanks!

                        Also, i believe it imported correctly the "bad" songs 🙂

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors