The plustek backend breaks Qt's process communication
Dear SANE devs,
I recently wrote a quite simple scanning frontend ( https://invent.kde.org/tleupold/scandoc ) that post processes scanned images by calling external programs automatically. Using the plustek backend, a (from my point of view) strange problem occured: After having scanned the first page, everything worked as expected. But after having scanned the second page, any external command would not return anymore, and even after it was already killed, my GUI still stayed unresponsive (probably until some process started outside of my code also was killed). Using the very same code with another scanner using Brother's brscan backend did not yield any errors or weird behavior.
Having no idea what could cause this, I wrote to the KDE dev mailing list, starting here: https://mail.kde.org/pipermail/kde-devel/2022-March/000973.html . At https://mail.kde.org/pipermail/kde-devel/2022-March/000976.html , Stefan Brüns suspected the plustek backend to cause this.
Kindly, Thiago Macieira did a comprehensive analysis of a strack trace I created and tracked the problem down to the plustek backend having a buggy implementation of some signal handling, I think here: https://mail.kde.org/pipermail/kde-devel/2022-March/000982.html .
Sadly, all this is far beyond my programming skills. So I can't tell what exactly causes this and certainly not how to fix it ... all I can do is to write this bug report and to hope you will know what's up here ;-)
Thanks in advance for looking into this!
Cheers, Tobias