Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-827

BlobWrite FileReader Busy State When Writing Data To VM

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Trivial
    • Resolution: Unresolved
    • 1.0.0
    • None
    • guacamole-common-js
    • Google Chrome

    Description

      When creating a custom HTML/JS Guacamole client to write files to a VM using the BlobWriter JS class, an error similar to the following is generated (error is from running the code in Google Chrome):

       
      zone.js:1495 Uncaught (in promise) DOMException: Failed to execute 'readAsArrayBuffer' on 'FileReader': The object is already busy reading Blobs.
      at _global.<computed>.<computed> [as readAsArrayBuffer] (https://redacted/polyfills.6e39da16eddfecb84434.js:3830:60)
      at readNextChunk (https://redacted/main.51a4f7c78afe09ae8d5e.js:168269:20)
      at push../src/app/components/core/desktop/js/BlobWriter.js.redacted.ArrayBufferWriter.sendMoreChunks [as onack] (https://redacted/main.51a4f7c78afe09ae8d5e.js:168295:17)
      at push../node_modules/guacamole-common-js/dist/guacamole-common.js.Guacamole.OutputStream.stream.onack (https://redacted/main.51a4f7c78afe09ae8d5e.js:168396:25)
      at ack (https://redacted/main.51a4f7c78afe09ae8d5e.js:114024:28)
      at push../node_modules/guacamole-common-js/dist/guacamole-common.js.Guacamole.HTTPTunnel.tunnel.oninstruction (https://redacted/main.51a4f7c78afe09ae8d5e.js:114685:13)
      at XMLHttpRequest.parseResponse [as __zone_symbol__ON_PROPERTYreadystatechange] (https://redacted/main.51a4f7c78afe09ae8d5e.js:123910:40)
      at XMLHttpRequest.wrapFn (https://redacted/polyfills.6e39da16eddfecb84434.js:3667:39)
      at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (https://redacted/polyfills.6e39da16eddfecb84434.js:2758:31)
      at Object.onInvokeTask (https://redacted/main.51a4f7c78afe09ae8d5e.js:33312:33)
       
      While a file would ultimately get written to the remote VM, it is never a complete file given the error above, which seems to be indicative of the asynchronous nature of the file transfer activity and the contentious use of the BlobWriter FileReader object.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            jcaple James Caple

            Dates

              Created:
              Updated:

              Slack

                Issue deployment