New issue
Advanced search Search tips

Issue 645132 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Transferring data buffer from ScriptProcessorNode to WebWorker claims ArrayBuffer is neutered.

Reported by maushu...@gmail.com, Sep 8 2016

Issue description

Chrome Version       : Version 52.0.2743.116 (64-bit)
URLs (if applicable) : Without transferables, working: https://jsfiddle.net/c2uhk72j/, with transferables, erroring https://jsfiddle.net/3kq9xfb8/
Other browsers tested:
  Add OK or FAIL, along with the version, after other browsers where you
have tested this issue:
     Safari: OK, 9.1.3 (11601.7.8)
    Firefox: OK, 48.0.2, Nightly
         IE: NA

What steps will reproduce the problem?
(1) https://jsfiddle.net/3kq9xfb8/
(2) Observe the error message in the console

What is the expected result?
Worker.postMessage should successfully transfer the arrayBuffer to the worker context.

What happens instead?
The error: "Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': An ArrayBuffer is neutered and could not be cloned." is thrown. 

Please provide any additional information below. Attach a screenshot if
possible.
From what I understand, this error is thrown when an ArrayBuffer has already been transferred once and no longer belongs to the main thread. onAudioProcess should be returning a brand new object with every callback, so I don't see how this error could be thrown given the absence of a bug. 
 

Comment 1 by n...@fb.com, Sep 8 2016

Labels: DevRel-Facebook
Cc: kinuko@chromium.org falken@chromium.org nhiroki@chromium.org
Components: Blink>Workers
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Not 100% who works on this so ccing a few people who can help triage
Cc: -nhiroki@chromium.org
Owner: nhiroki@chromium.org
Status: Assigned (was: Unconfirmed)
I'll take a look.

Comment 4 by maushu...@gmail.com, Sep 15 2016

Hey folks, any update on this?
Components: Blink>Messaging
Labels: -Pri-3 Pri-2
Status: Started (was: Assigned)
I'll start working on this early next week.
Cc: nhiroki@chromium.org
Components: Blink>WebAudio
Owner: rtoy@chromium.org
Status: Assigned (was: Started)
This could be an issue of WebAudio implementation. Apparently, WebAudio specially handles neuterability of ArrayBuffer:
https://chromiumcodereview.appspot.com/19019002

rtoy@, could you take a look at this or forward this to an appropriate person? (I picked you up from the revision log of AudioBuffer.cpp)
Components: -Blink>Workers
(blink-worker bug triage) Let me remove Blink>Workers label based on c#6.

Comment 8 by rtoy@chromium.org, Nov 18 2016

According to https://chromiumcodereview.appspot.com/19019002, the changes were reverted.  

Don't know what's going on.
The change was re-landed: https://chromiumcodereview.appspot.com/20804003
Owner: hongchan@chromium.org
Status: Fixed (was: Assigned)
On 71.0.3570.0, I don't see any exception being thrown. Seems like the issue is fixed.

Sign in to add a comment