Uploaded image for project: 'TrueNAS'
  1. TrueNAS
  2. NAS-109733

regression with threads in py3.8

    XMLWordPrintable

    Details

      Description

      There is a known regression (identified upstream) wrt to threads and python38. Running the below code will randomly hang. Out of testing it 52 times, it hung ~19.2% of the time. I confirmed that this problem also exists on 3.8.7 which is what 12.0-U3 will have. I have also confirmed that backporting 9ad58acbe8b90b4d0f2d2e139e38bb5aa32b7fb6 and 4d96b4635aeff1b8ad41d41422ce808ce0b971c8 builds cleanly and fixes the hang. I've also got an internal employee running the custom truenas version without any issues.

       

      from multiprocessing.pool import ThreadPool
      from datetime import datetime
      class Broken(object):
          def __init__(self):
              self.pool = ThreadPool()
          def __del__(self):
              self.pool.close()
              self.pool.join()
      ohno = Broken()
      date = datetime.now()
      print(str(date), ohno)

       

        Attachments

          Attachments

            JEditor

              Activity

                People

                Assignee:
                caleb Caleb St. John
                Reporter:
                caleb Caleb St. John
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: