标签: pynetdicom

由于 libdispatch 崩溃子线程,Python 崩溃

我正在使用pynetdicom库来接收和处理医学 dicom 图像。在回调函数“on_association_released”中进行处理。但是,在接收某些研究时,它会由于似乎是子线程崩溃而导致 Python 崩溃。

从 OSX 崩溃报告来看,似乎是 libdispatch 库是原因,但不确定如何或为什么。

这是函数:

def on_association_released(self):

    if not self.auto_process:
        self.incoming = []
        return

    dicoms = [Dicom(f=x) for x in self.incoming]
    self.incoming = []
    incoming = Study(dicom_list=dicoms)
    log.info("Incoming study: {incoming}".format(**locals()))
    completed_tasks = {}
    time.sleep(1)
    for task in AVAILABLE_PROCESS_TASKS:

        log.info("Trying task: {task}".format(**locals()))
        process_task = task(study=incoming)

        try:
            if process_task.valid:

                log.info("{incoming} is valid for {process_task}".format(**locals()))
                try:
                    process_task.process()

                except Exception as e:
                    log.warning(
                        'Failed to perform {process_task} on {incoming}: \n {e}'.format(**locals())
                    )

                else:
                    log.info("Completed {process_task} for …
Run Code Online (Sandbox Code Playgroud)

python macos libdispatch python-3.x pynetdicom

1
推荐指数
1
解决办法
767
查看次数

标签 统计

libdispatch ×1

macos ×1

pynetdicom ×1

python ×1

python-3.x ×1