New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 621603 link

Starred by 3 users

Issue metadata

Status: Archived
Owner: ----
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Chromium for Android asserts with some WebGL content

Reported by ijama...@gmail.com, Jun 20 2016

Issue description

Steps to reproduce the problem:
1. Build Chromium for Android (either the full browser, the content shell or the webview, all of them crash)
2. Install the Chromium APK on a device and open it
3. Introduce any of the following URLs
http://vizor.io/phinguyen/peaceful
http://vizor.io/edelblut/space-adventure
4. Wait somet time (around a minute).
5. The Chromium app crashes

What is the expected behavior?
The URLs should work without a crash.

What went wrong?
The app crashes. Here is some additional information about my build and the logcat:

Chromium	53.0.2769.0 (Developer Build) unknown (32-bit)
Revision	ca0f1b48f3e9b523c5452223d6e46446121df4b5-refs/heads/master@{#399958}
OS	Android 5.0.2; SM-G920V Build/LRX22G
Blink	537.36 (@ca0f1b48f3e9b523c5452223d6e46446121df4b5)
JavaScript	V8 5.3.234
User Agent	Mozilla/5.0 (Linux; Android 5.0.2; SM-G920V Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2769.0 Mobile Safari/537.36
Command Line	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-begin-frame-scheduling --enable-pinch --enable-viewport --enable-overlay-scrollbar --validate-input-event-stream --disable-gpu-process-crash-limit --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --ui-prioritize-in-gpu-process --profiler-timing=0 --prerender-from-omnibox=enabled --enable-dom-distiller --flag-switches-begin --flag-switches-end --enable-instant-extended-api
Executable Path	No such file or directory
Profile Path	/data/data/org.chromium.chrome/app_chrome/Default
Variations	AsyncDns:AsyncDnsA
ContextualSearch:OptOut
CustomTabs:Enabled
DataCompressionProxyLoFi:Enabled
DataCompressionProxyPromoVisibility:Enabled
DataReductionProxyServerExperiments:TamperDetection_enabled
DataReductionProxyUseQuic:Enabled
DisallowFetchForDocWrittenScriptsInMainFrame:DocumentWriteEvaluatorGroup
EnableMediaThreadForMediaPlayback:Enabled
ImeThread:Enabled
LowPriorityIFrames:Enabled
MainFrameBeforeActivation:Enabled
MinidumpDirectoryObserver:ObserverExperimentGroup
ModerateBindingOnBackgroundTabCreation:Enabled
NetworkQualityEstimator:Enabled
NonValidatingReloadOnRefreshContentV2:Enabled
PageRevisitInstrumentation:Enabled
PasswordManagerSettingsMigration:Enable
PhysicalWeb:Enabled
PreconnectMore:Enabled
ProgressBarAnimationAndroid:SmoothAnimation
QUIC:Enabled
ReaderModeUI:AdaBoost
SafeBrowsingAndroid:Enabled
SchedulerExpensiveTaskBlocking:Enabled
SpeculativeResourcePrefetching:v=1a:Prefetching=Enabled:Predictor=Url
StrictSecureCookies:Enabled
TokenBinding:TokenBinding
UMA_EnableCellularLogUpload:Enabled_wo_sampling
UnifiedMediaPipelineTrial:Enabled
UpdateMenuItem:Enabled
UsePredictorDNSQueue:Disabled
V8CacheStrategiesForCacheStorage:none

Crashed report ID: 

How much crashed? Whole browser

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Chrome version: 53.0.2769.0 (Developer Build) unknown (32-bit)  Channel: n/a
OS Version: 5.0.2
Flash Version: Shockwave Flash 21.0 r0
 
chromium_crash_logcat.txt
172 KB View Download

Comment 2 by ijama...@gmail.com, Jun 21 2016

More information about this crash: The log shows that there is an assert fail in the 

third_party/WebKit/Source/modules/webaudio/DeferredTaskHandler.cpp

in the following method:

void DeferredTaskHandler::setAudioThreadToCurrentThread()
{
    ASSERT(!isMainThread());
    ThreadIdentifier thread = currentThread();
    releaseStore(&m_audioThread, thread);
}

The ASSERT statement fails. 

I have commented it out and then I get another crash in the 

third_party/WebKit/Source/modules/webaudio/AudioListener.cpp

file inside the method

void AudioListener::updateState()
{
    // This must be called from the audio thread in pre or post render phase of
    // the graph processing.  (AudioListener doesn't have access to the context
    // to check for the audio thread.)
    DCHECK(!isMainThread());

    MutexTryLocker tryLocker(m_listenerLock);
    if (tryLocker.locked()) {
        FloatPoint3D currentPosition = position();
        FloatPoint3D currentForward = orientation();
        FloatPoint3D currentUp = upVector();

        m_isListenerDirty = currentPosition != m_lastPosition
            || currentForward != m_lastForward
            || currentUp != m_lastUp;

        if (m_isListenerDirty) {
            m_lastPosition = currentPosition;
            m_lastForward = currentForward;
            m_lastUp = currentUp;
        }
    } else {
        // Main thread must be updating the position, forward, or up vector;
        // just assume the listener is dirty.  At worst, we'll do a little more
        // work than necessary for one rendering quantum.
        m_isListenerDirty = true;
    }
}

As the DCHECK fails too. If I commented it out too, the provided URLs do not crash.

Hope this could be of some help.

Comment 3 by ijama...@gmail.com, Jun 22 2016

I have tried to enable crash reporting on Chromium (Setting->Privacy->Usage and crash reports) but when I go to chrome://crashes it states that Crash reporting is not available in Chromium. I am new to crash reporting for Chromium so please, advice on how to provide a crash id or any more information.
Components: Blink>WebAudio
Summary: Chromium for Android asserts with some WebGL content (was: Chromium for Android crashes with some WebGL content)

Comment 5 by rtoy@chromium.org, Jun 29 2016

Cc: sigbjo...@opera.com
I don't understand how this can happen.  setAudioThreadToCurrentThread is called in exactly two places: AudioDestination::render and OfflineAudioDestinationHandler::renderIfNotSuspended.  Both of these have asserts that they're being run in the audio thread, and there are not the main thread.

sigbjornf: Any thoughts since you did some changes to this recently?

Comment 6 by sigbjo...@opera.com, Jun 29 2016

I reckon this is  issue 590108  resurfacing, we never fully understood why Android was failing in the first place, see comments >= #15.
Project Member

Comment 7 by sheriffbot@chromium.org, Jun 30 2017

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment