Encountering a "PDFWorkerError" in React related to an exclusive lock issue in RecursiveSharedMutex.cpp when unlocking, specifically with version 10.9.0 on the Emscripten platform

Product: Apryse Webviewer

Product Version: 10.9.0

Please give a brief summary of your issue:
PDFWorkerError related to exclusive lock in RecursiveSharedMutex.cpp on Emscripten platform

Please describe your issue and provide steps to reproduce it:
I am encountering a PDFWorkerError in my React application, which involves an exclusive lock issue in the unlock function of RecursiveSharedMutex.cpp . The error message is:
{
“message”: “Exception: \n\t Message: This thread does not have an exclusive lock.\n\t Conditional expression: m_lock_count.get() && m_lock_count->m_write_count\n\t Version : 10.9.0-ef7a5d39db\n\t Platform : Emscripten\n\t Architecture : Emscripten\n\t Filename : RecursiveSharedMutex.cpp\n\t Function : unlock\n\t Linenumber : 77\n”,
“type”: “PDFWorkerError”
}

Note: I’m using a demo account

1 Like

Thank you for posting the incident to our forum. We will provide you with an update as soon as possible.

1 Like

Hello Suthen,

Thank you for contacting WebViewer forums.

I was unable to reproduce this error on the showcase by adding a redaction annotation and applying it on the annotation manager. Showcase: JS PDF Redaction Demo | Apryse WebViewer

To investigate further, are you able to provide a sample pdf file where you were able to reproduce the issue?

Regards,
Luke

1 Like

Any update on this query?

1 Like

Thanks for connecting today to resolve this issue.

For others following this thread, we were able to change the backend type to WASM and resolve this.

WebViewer({
  // ...
  disableObjectURLBlobs: true,
  backendType: WebViewer.BackendTypes.WASM,
  // ...
}

In his case, it worked locally but when deployed to an IIS server then there is some configuration of the server that prevents the wasm threads from working as expected.

1 Like