Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QRCodeTask hangs for hours #1415

Closed
aberenguel opened this issue Oct 28, 2022 · 11 comments
Closed

QRCodeTask hangs for hours #1415

aberenguel opened this issue Oct 28, 2022 · 11 comments
Assignees
Labels
bug dependencies Pull requests that update a dependency file

Comments

@aberenguel
Copy link
Contributor

Using iped 4.0.5

My case processing is hang on QRCodeTask for many hours. I stopped the processing and restarted with --continue, but it hangs on QRCodeTask again

image

I run jstack many times to see if the code is running (changing the stack snapshot). But it always shows this.

"Worker-31" #232 prio=5 os_prio=0 cpu=2460920.42ms elapsed=5618.35s tid=0x00007e873c151800 nid=0x29bd94 runnable  [0x00007e87656fc000]
   java.lang.Thread.State: RUNNABLE
        at com.google.zxing.qrcode.detector.FinderPatternFinder.selectBestPatterns(FinderPatternFinder.java:637)
        at com.google.zxing.qrcode.detector.FinderPatternFinder.find(FinderPatternFinder.java:164)
        at com.google.zxing.qrcode.detector.Detector.detect(Detector.java:81)
        at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:77)
        at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:64)
        at iped.engine.task.QRCodeTask.process(QRCodeTask.java:143)
        at iped.engine.task.AbstractTask.processMonitorTimeout(AbstractTask.java:250)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:180)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.task.AbstractTask.sendToNextTask(AbstractTask.java:207)
        at iped.engine.task.AbstractTask.processAndSendToNextTask(AbstractTask.java:188)
        at iped.engine.core.Worker.process(Worker.java:177)
        at iped.engine.core.Worker.run(Worker.java:266)
@aberenguel aberenguel changed the title QRCodeTask hang for hours QRCodeTask hangs for hours Oct 28, 2022
@lfcnassif
Copy link
Member

Seems a zxing library issue. Could you share the triggering file? After that, @hauck-jvsh could you take a look at this?

@aberenguel
Copy link
Contributor Author

Seems a zxing library issue. Could you share the triggering file? After that, @hauck-jvsh could you take a look at this?

The E01 or the jpg file? I tried to open the unfinished case but I haven't found the file. I think I need to let the case finish. So I set enableQRCode = false and started it again.

@lfcnassif
Copy link
Member

The JPG

@aberenguel
Copy link
Contributor Author

@lfcnassif , I've just sent the file to you in the Teams.

@hauck-jvsh
Copy link
Member

Sure, I can take a look on monday.

@lfcnassif
Copy link
Member

Thank you both! #27 would have helped here.

@lfcnassif lfcnassif added bug and removed need info labels Oct 30, 2022
@hauck-jvsh
Copy link
Member

@lfcnassif could you share the triggering image?

@lfcnassif
Copy link
Member

Sure, just sent to you privatelly.

@lfcnassif
Copy link
Member

This was fixed in upstream library: zxing/zxing#1567

If version 3.5.1 isn't released soon, maybe we can create a patched version ourselves.

@lfcnassif
Copy link
Member

lfcnassif commented Nov 1, 2022

If version 3.5.1 isn't released soon, maybe we can create a patched version ourselves.

Or implement a simple timeout control inside QRCodeTask, like others.

@lfcnassif
Copy link
Member

Fixed. @aberenguel if you want to enable QRCode detection in your case, just replace zxing core jar for the recently released 3.5.1 version.

@lfcnassif lfcnassif added the dependencies Pull requests that update a dependency file label Nov 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug dependencies Pull requests that update a dependency file
Projects
None yet
Development

No branches or pull requests

3 participants