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

    Fails to index a few songs

    Scheduled Pinned Locked Moved
    Technical Help
    3
    12
    613
    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.
    • P
      pajaro
      last edited by

      When i try to index my music collection i get this error

      Unable to execute SQL query: NOT NULL constraint failed: songs.ctime Unable to
      fetch row<br />Failed query: INSERT INTO songs (title, album, artist,
      albumartist, track, disc, year, originalyear, genre, compilation, composer,
      performer, grouping, comment, lyrics, artist_id, album_id, song_id, beginning,
      length, bitrate, samplerate, bitdepth, source, directory_id, url, filetype,
      filesize, mtime, ctime, unavailable, fingerprint, playcount, skipcount,
      lastplayed, lastseen, compilation_detected, compilation_on, compilation_off,
      compilation_effective, art_automatic, art_manual, effective_albumartist,
      effective_originalyear, cue_path, rating) VALUES (The Ecstacy Of Gold, S&M with
      the San Francisco Symphony, Metallica, S&M with the San Francisco
      Symphonyartist, 1, 1, 1999, -1, Rock, 0, , Metallica, , 0, , Metallica_id, S&M
      with the San Francisco Symphony_id, , 0, 150674000000, 320, 44100, -1, 2, 1,
      file:///home/pajaro/Music/onerandomsong.mp3, 8, 6029210, 1335652082, , 0, , 0,
      0, -1, 1657206086, 0_detected, 0_on, 0_off, 0_effective, , , Metallica, 1999, ,
      -1)

      And the then indexing stops

      It happened with a few songs and i try removing them, but then another diffrent
      song fails

      $ stats /home/pajaro/Music/onerandomsong.mp3 Give proper values for the file.
      I dont know what can be happening here

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

        Song works perfectly fine in clementine

        And even if the song is faulty, it only shows 1 song that is faulty and doesnt let me import the rest

        Trying to Auto tag the song gives the same error

        1 Reply Last reply Reply Quote 0
        • 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