You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "James Caple (JIRA)" <ji...@apache.org> on 2019/06/26 04:11:00 UTC

[jira] [Commented] (GUACAMOLE-827) BlobWrite FileReader Busy State When Writing Data To VM

    [ https://issues.apache.org/jira/browse/GUACAMOLE-827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16872900#comment-16872900 ] 

James Caple commented on GUACAMOLE-827:
---------------------------------------

I've created a fork of the guacamole-client code and will work on creating a simple client to demonstrate the problem and solution: [https://github.com/jcaple/guacamole-client]

> BlobWrite FileReader Busy State When Writing Data To VM
> -------------------------------------------------------
>
>                 Key: GUACAMOLE-827
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-827
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-client
>    Affects Versions: 1.0.0
>         Environment: Google Chrome
>            Reporter: James Caple
>            Priority: Major
>              Labels: newbie, patch
>             Fix For: 1.1.0, 1.2.0
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)