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

Picard crashes intermitantly while working on large numbers of tracks

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 2.8.0rc1
    • None
    • Windows 10, Files on local USB drive with Samsung 256 GB ProPlus micro SD

      I'm running 2.8 as I found a forum post about needing it for large numbers of tracks.  I am specifically working on Toscanini - RCA Complete Collection, which comes to 1035 tracks total.  It has crashed twice this afternoon as I have been working on this release.

      The first crash occurred after dragging the files from the file browser to unclustered, then clustering them.  Upon scanning, Picard found the main release and some tracks that went to a couple of other releases (not too surprising with these reissue box sets).  As the file matching to the downloaded data was nearly done - somewhere around 850 - 950 tracks completed according the status bars, Picard crashed suddenly, with the window closing abruptly.  I think the log file was lost, as after restarting, only the startup debug output was present.

      The second crash came after I followed a different procedure.  I dragged the files over and clustered them, but then I looked the release up in the browser, and triggered the data downloads from the internet browser window (Firefox).  I was using a simple renaming script to create sub-directories for each of the discs using the disc subtitle tag, which I was editing for each set of track on each disc.  I would select the disc tracks, edit the discsubtitle and then click elsewhere to have the subtitle tag saved (otherwise I had to save the files twice to get the correct renaming)  After each disc set, I'd click save and then remove.

      After approximately 47 of 85 discs had been saved in that manner, Picard vanished while saving/moving/renaming the latest set of tracks.  I had the task manager open, and Picard's memory usage was between 200 and 300 MB, normally about 220 MB.  CPU usage would go to 25-30% on the Picard app while saving and then fall to near 0 while editing.  I had the manager open because Picard became unresponsive for several minutes when I dragged the tracks from the cluster (middle pane) to the update pane (on  the left).  There was no status update, and then suddenly all the track were in place. Also, I noticed a bug where there was very large memory consumption with large file sets, but I did not see that with the 2.8 version.

       

      I've seen this sort of crash on the 2.7.3 version earlier, as well, but I'm not sure if it is related.  I worked around it by processing a smaller number of tracks at a time and then I found the forum post about increasing the data lookup capacity in 2.8.

          [PICARD-2428] Picard crashes intermitantly while working on large numbers of tracks

          Mark Huth added a comment -

          It's just the QT5Core.dll that is of interest.  The other hangs were likely due to network or simply my impatience.  I manually closed the program a few times when the round and round it goes was going round and round 8-).

          Mark Huth added a comment - It's just the QT5Core.dll that is of interest.  The other hangs were likely due to network or simply my impatience.  I manually closed the program a few times when the round and round it goes was going round and round 8-).

          Thanks for the details. I'll try to reproduce this.

          From the log files / error reporting file I cannot fully see the cause. The .wer file contains multiple events for the python process. Some are BEX64 related to Qt5Core.dll. Those indicate a buffer overflow, which indicates some issue with Qt5 and would cause an immediate closing of the application.

          But there are also multiple AppHangXProcB1, which usually indicates the UI being unresponsive. But in these cases there should be an actual message to the user with a choice to close the application or keep it running. Did this happen?

          Philipp Wolfer added a comment - Thanks for the details. I'll try to reproduce this. From the log files / error reporting file I cannot fully see the cause. The .wer file contains multiple events for the python process. Some are BEX64 related to Qt5Core.dll. Those indicate a buffer overflow, which indicates some issue with Qt5 and would cause an immediate closing of the application. But there are also multiple AppHangXProcB1, which usually indicates the UI being unresponsive. But in these cases there should be an actual message to the user with a choice to close the application or keep it running. Did this happen?

          Mark Huth added a comment -

          A semi-reliable way to reproduce this is as follows:

          Open picard with the file browser pane active.  Drag some directories over to unclustered, then use the "cluster" button to cluster the files.  Now scan one of the clusters that seems to be a single disc.  If the scan matches a multi disc release, then all of the tracks' metadata are downloaded to the results pane.  When the release is expanded in the results pane, you'll see that only a few tracks have associated local files.  Now drag the release disc (top level) back to the clustered area of the middle pane.  This has resulted in a crash 2 of 2 times this morning.

          Similarly, dragging the release back to the unclustered area of the middle pane and clicking the cluster button results in the same crash.  Always in QT5Core.dll at the previously logged address..  This has resulted in a crash an additional 2 of 2 times this morning.

          I'm working with Kurt Sanderling's Berlin Philharmonic set of Shotakovich Symphonies.  Sometimes a particular cluster will match with a single disc release, and those work fine.  There are a couple of of these recordings that appeared on the release "Great Russian Recordings", which is a compilation of other releases.  In this case about 80+ tracks get downloaded, with only a few tracks matched to the files I'm scanning.  Dragging the entire release back to the unscanned pane results in the crash via one of the two above routes.

          Mark Huth added a comment - A semi-reliable way to reproduce this is as follows: Open picard with the file browser pane active.  Drag some directories over to unclustered, then use the "cluster" button to cluster the files.  Now scan one of the clusters that seems to be a single disc.  If the scan matches a multi disc release, then all of the tracks' metadata are downloaded to the results pane.  When the release is expanded in the results pane, you'll see that only a few tracks have associated local files.  Now drag the release disc (top level) back to the clustered area of the middle pane.  This has resulted in a crash 2 of 2 times this morning. Similarly, dragging the release back to the unclustered area of the middle pane and clicking the cluster button results in the same crash.  Always in QT5Core.dll at the previously logged address..  This has resulted in a crash an additional 2 of 2 times this morning. I'm working with Kurt Sanderling's Berlin Philharmonic set of Shotakovich Symphonies.  Sometimes a particular cluster will match with a single disc release, and those work fine.  There are a couple of of these recordings that appeared on the release "Great Russian Recordings", which is a compilation of other releases.  In this case about 80+ tracks get downloaded, with only a few tracks matched to the files I'm scanning.  Dragging the entire release back to the unscanned pane results in the crash via one of the two above routes.

          Mark Huth added a comment -

          Okay, Picard has crashed several more times over the weekend.  It always has the same error and fault syndrome as has been previously attached.

          Ive had at least two crashes while trying to move files back to the clustered pane from the looked up disc matches.  Both time there were tracks in the looked up window that did not have any file from the set I was working on.  In other words, Picard had matched the wrong release(es).  I was attempting to move the tracks out of the incorrect disks to try a browser lookup, but I didn't get that far, as Picard crashed in the QT5 module while the operation was pending.

          Mark Huth added a comment - Okay, Picard has crashed several more times over the weekend.  It always has the same error and fault syndrome as has been previously attached. Ive had at least two crashes while trying to move files back to the clustered pane from the looked up disc matches.  Both time there were tracks in the looked up window that did not have any file from the set I was working on.  In other words, Picard had matched the wrong release(es).  I was attempting to move the tracks out of the incorrect disks to try a browser lookup, but I didn't get that far, as Picard crashed in the QT5 module while the operation was pending.

          Mark Huth added a comment -

          I've attached the last several lines from the console log when Picard is run with --debug from command prompt.

          Here is the application log:

          Faulting application name: picard.exe, version: 2.8.0.170, time stamp: 0x61062592
          Faulting module name: Qt5Core.dll, version: 5.15.2.0, time stamp: 0x5fa4dd3b
          Exception code: 0xc0000409
          Fault offset: 0x00000000000204e8
          Faulting process id: 0x4068
          Faulting application start time: 0x01d82e79e1604954
          Faulting application path: C:\Program Files\MusicBrainz Picard\picard.exe
          Faulting module path: C:\Program Files\MusicBrainz Picard\Qt5Core.dll
          Report Id: e2cc3fc5-f27c-46fb-9ce8-d776c846e513
          Faulting package full name: 
          Faulting package-relative application ID: 

          Fault bucket 1438069893887726854, type 5
          Event Name: BEX64
          Response: Not available
          Cab Id: 0

          Problem signature:
          P1: picard.exe
          P2: 2.8.0.170
          P3: 61062592
          P4: Qt5Core.dll
          P5: 5.15.2.0
          P6: 5fa4dd3b
          P7: 00000000000204e8
          P8: c0000409
          P9: 0000000000000007
          P10: 

          Attached files:
          \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE2A.tmp.dmp
          \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE148.tmp.WERInternalMetadata.xml
          \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE188.tmp.xml
          \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE195.tmp.csv
          \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE1C5.tmp.txt

          These files may be available here:
          \\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_picard.exe_58759995ea56a3494737f3911b49451adfe2acc5_b937d617_42b6b5b8-6da6-4861-bd88-5dab7f8cfa03

          Analysis symbol: 
          Rechecking for solution: 0
          Report Id: e2cc3fc5-f27c-46fb-9ce8-d776c846e513
          Report Status: 268435456
          Hashed bucket: a9b264ae5f613b9263f50cf3035c9506
          Cab Guid: 0

          I've also attached the Report.wer.

          Mark Huth added a comment - I've attached the last several lines from the console log when Picard is run with --debug from command prompt. Here is the application log: Faulting application name: picard.exe, version: 2.8.0.170, time stamp: 0x61062592 Faulting module name: Qt5Core.dll, version: 5.15.2.0, time stamp: 0x5fa4dd3b Exception code: 0xc0000409 Fault offset: 0x00000000000204e8 Faulting process id: 0x4068 Faulting application start time: 0x01d82e79e1604954 Faulting application path: C:\Program Files\MusicBrainz Picard\picard.exe Faulting module path: C:\Program Files\MusicBrainz Picard\Qt5Core.dll Report Id: e2cc3fc5-f27c-46fb-9ce8-d776c846e513 Faulting package full name:  Faulting package-relative application ID:  Fault bucket 1438069893887726854, type 5 Event Name: BEX64 Response: Not available Cab Id: 0 Problem signature: P1: picard.exe P2: 2.8.0.170 P3: 61062592 P4: Qt5Core.dll P5: 5.15.2.0 P6: 5fa4dd3b P7: 00000000000204e8 P8: c0000409 P9: 0000000000000007 P10:  Attached files: \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE2A.tmp.dmp \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE148.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE188.tmp.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE195.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE1C5.tmp.txt These files may be available here: \\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_picard.exe_58759995ea56a3494737f3911b49451adfe2acc5_b937d617_42b6b5b8-6da6-4861-bd88-5dab7f8cfa03 Analysis symbol:  Rechecking for solution: 0 Report Id: e2cc3fc5-f27c-46fb-9ce8-d776c846e513 Report Status: 268435456 Hashed bucket: a9b264ae5f613b9263f50cf3035c9506 Cab Guid: 0 I've also attached the Report.wer.

          Mark Huth added a comment -

          I will try your suggestion to see if I can get debug info next time it happens.  I would not call it reproducible at will.  I had a third crash after running only several short discs, scanning them one at a time.  After a couple of hours of loading and saving and then removing the finished set, I scanned something with maybe 15 tracks, and as it seemed to be loading the disc info, the window closed without a peep.

          Where will I find the debug file after the crash? (my luck is it won't crash with the debug enabled 8-()

          Mark Huth added a comment - I will try your suggestion to see if I can get debug info next time it happens.  I would not call it reproducible at will.  I had a third crash after running only several short discs, scanning them one at a time.  After a couple of hours of loading and saving and then removing the finished set, I scanned something with maybe 15 tracks, and as it seemed to be loading the disc info, the window closed without a peep. Where will I find the debug file after the crash? (my luck is it won't crash with the debug enabled 8-()

          Is the crash always reproducible? Could you run picard.exe from a Windows command prompt (ideally with the "--debug" parameter) and trigger the crash? That should yield some error output hopefully revealing the crash cause.

          Philipp Wolfer added a comment - Is the crash always reproducible? Could you run picard.exe from a Windows command prompt (ideally with the "--debug" parameter) and trigger the crash? That should yield some error output hopefully revealing the crash cause.

            Unassigned Unassigned
            mhuth1776-1 Mark Huth
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Version Package