Uploaded image for project: 'Picard'
  1. Picard
  2. PICARD-2735

"Search for similar track" crashes for some tracks

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Normal Normal
    • None
    • 2.9.1
    • Lookup & Match
    • None
    • Linux Manjaro 23.0.0

      picard installed through pacman (extra/picard 2.9.1-1)

      i dont know what changed, but recently (like in the last 2 months) picard always crashes when trying to use "Search for similar track" for some tracks, once it gets a result. crash log:

      Traceback (most recent call last):                                                                                                                          
        File "/usr/lib/python3.11/site-packages/picard/webservice/__init__.py", line 568, in _process_reply                                                       
          self._handle_reply(reply, request)                                                                                                                      
        File "/usr/lib/python3.11/site-packages/picard/webservice/__init__.py", line 554, in _handle_reply                                                        
          handler(document, reply, error)                                                                                                                         
        File "/usr/lib/python3.11/site-packages/picard/ui/searchdialog/track.py", line 134, in handle_reply                                                       
          tracks = (result.track for result in sort_by_similarity(candidates))                                                                                    
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                     
        File "/usr/lib/python3.11/site-packages/picard/util/__init__.py", line 875, in sort_by_similarity                                                         
          return sorted(                                                                                                                                          
                 ^^^^^^^                                                                                                                                          
        File "/usr/lib/python3.11/site-packages/picard/ui/searchdialog/track.py", line 131, in <genexpr>                                                          
          metadata.compare_to_track(track, File.comparison_weights)                                                                                               
        File "/usr/lib/python3.11/site-packages/picard/metadata.py", line 363, in compare_to_track                                                                
          b = artist_credit_from_node(artist_credits)[0]                                                                                                          
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                             
        File "/usr/lib/python3.11/site-packages/picard/mbjson.py", line 345, in artist_credit_from_node                                                           
          translated_name, sort_name = _translate_artist_node(artist, config=config)                                                                              
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                              
        File "/usr/lib/python3.11/site-packages/picard/mbjson.py", line 315, in _translate_artist_node                                                            
          full_locales, root_locales = _locales_from_aliases(node['aliases'])                                                                                     
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                     
        File "/usr/lib/python3.11/site-packages/picard/mbjson.py", line 261, in _locales_from_aliases                                                             
          if alias['type-id'] == ALIAS_TYPE_ARTIST_NAME_ID:                                                                                                       
             ~~~~~^^^^^^^^^^^                                                                                                                                     
      KeyError: 'type-id'                                                                                                                                         
      [1]    37526 IOT instruction (core dumped)  picard . -d 
      

      this seems to happen only on some tracks, but i dont quite understand what the difference between those tracks is

      attached is a log of

      picard . -d

      plus the actions to lead to a crash

            Unassigned Unassigned
            hasezoey hasezoey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package