New issue
Advanced search Search tips

Issue 813436 link

Starred by 2 users

Issue metadata

Status: ExternalDependency
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Loading large images causes intermittent interface freezing

Reported by stu...@anchev.net, Feb 18 2018

Issue description

Chrome Version       : 64.0.3282.167
OS Version: 
URLs (if applicable) : https://www.etymonline.com/
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari:
    Firefox:
    IE/Edge:

What steps will reproduce the problem?
1. Start with a clean browser profile
2. Visit a site with larger images

What is the expected result?
Loading images should not cause mouse lag or interface freezing.

What happens instead of that?
While larger images are being loaded moving the mouse is jumpy and there is intermittent freezing of the interface.

Please provide any additional information below. Attach a screenshot if
possible.

I have recorded a video but unfortunately the effect of freezing is not quite well visible (it is much stronger in reality). I couldn't find a way to record it better. I am also attaching the output of chrome://gpu

To avoid potential confusion: this is a strong desktop machine, 3.4Ghz CPU, 32GB RAM, NVIDIA GTX 680 with latest stable drivers. Testing in KDE Plasma 5.8.7 on 1Gbps Internet connection. The effect of lagging is visible even when testing with a local image file placed on ramdisk. Directory ~/cache is also on tmpfs and there is plenty of RAM available while testing.

Additionally some errors appear in console when the browser console is opened.

UserAgentString: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36


 
recording.ogv
10.3 MB View Download
gpu.pdf
72.1 KB Download

Comment 1 by ajha@chromium.org, Feb 19 2018

Labels: Needs-Triage-M64
Labels: Triaged-ET Needs-Feedback
Unable to reproduce the issue on chrome reported version 64.0.3282.167 using Ubuntu 14.04 with steps mentioned below:
1) Launched chrome reported version and navigated to URL: https://www.etymonline.com/
2) Clicked on imaged randomly
3) Didn't observed any mouse lags or interface freezing while image is loading, captured the results in the Devtools > Network tab

@Reporter:
Please find the attached screencast for your reference, try to test this issue by creating new person with no apps and extensions in it and let us know if the issue still persists.

Thanks!
813436.ogv
12.4 MB View Download

Comment 3 by stu...@anchev.net, Feb 19 2018

I don't think you are testing the same as I.

- You are using Chrome. I am using Chromium on openSUSE Leap 42.3
- You have JS and flash. I don't have flash installed and I have JS disabled.
- I don't click on images. I just load the main site.
- I use KDE Plasma 5.8.7. It is not clear what you use.
- It is not clear on what hardware you test, especially videocard and driver version (which I think may be related as I started to experience the issue just recently after a video driver update)
- Your command line flags don't match mine
- In your test you don't check the console output (which as seen on my video displays errors when the browser dev console is opened)

> try to test this issue by creating new person with no apps and extensions in it and let us know if the issue still persists.

This is exactly how I test with additionally disabled:

chrome://settings/content/cookies
chrome://settings/content/location
chrome://settings/content/camera
chrome://settings/content/microphone
chrome://settings/content/notifications
chrome://settings/content/javascript
chrome://settings/content/flash
chrome://settings/content/backgroundSync
chrome://settings/content/automaticDownloads
chrome://settings/content/unsandboxedPlugins
chrome://settings/content/midiDevices
chrome://settings/content/protectedContent
chrome://settings/languages
chrome://settings/cloudPrinters

Please try to reproduce more accurately to the original. If any additional info is necessary please let me know.
Project Member

Comment 4 by sheriffbot@chromium.org, Feb 19 2018

Cc: viswa.karala@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

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

Comment 5 by stu...@anchev.net, Feb 19 2018

Here is another recording showing a little better the issue.

(Please ignore the misplacement of HTML elements, this is due to the disabled JS)
recording.ogv
3.4 MB View Download

Comment 6 by stu...@anchev.net, Feb 19 2018

In the video the mouse cursor moves smoothly but in actuality it also freezes.

Comment 7 by stu...@anchev.net, Feb 27 2018

This is really terrible, especially with bigger images.

It seems (I am not 100% sure) it started to happen after updating the NVIDIA driver to version 390.25-10.1. With version 340.106 there was no such problem.

I hope you can have a look and prioritize this.

Comment 8 by stu...@anchev.net, Mar 3 2018

Turning off "Use hardware acceleration when available" seems to be a workaround for the issue however that messes up color management.

I hope someone is reading this.
Components: Internals>GPU
Labels: Needs-Feedback
Can you get the output of nvidia-smi -q when you encounter this issue? It's possible you're running out of GPU memory, but we'd like to confirm.

Comment 11 by stu...@anchev.net, Mar 16 2018

Tested with loading this image:

https://upload.wikimedia.org/wikipedia/commons/7/7a/Yunsup_Lee_holding_RISC_V_prototype_chip.jpg


[~]: nvidia-smi -q

==============NVSMI LOG==============

Timestamp                           : Fri Mar 16 20:52:32 2018
Driver Version                      : 390.42

Attached GPUs                       : 1
GPU 00000000:01:00.0
    Product Name                    : GeForce GTX 680
    Product Brand                   : GeForce
    Display Mode                    : N/A
    Display Active                  : N/A
    Persistence Mode                : Disabled
    Accounting Mode                 : N/A
    Accounting Mode Buffer Size     : N/A
    Driver Model
        Current                     : N/A
        Pending                     : N/A
    Serial Number                   : N/A
    GPU UUID                        : GPU-9d4daa58-de3a-146a-39f0-ff56e556edf5
    Minor Number                    : 0
    VBIOS Version                   : 80.04.09.00.E1
    MultiGPU Board                  : N/A
    Board ID                        : N/A
    GPU Part Number                 : N/A
    Inforom Version
        Image Version               : N/A
        OEM Object                  : N/A
        ECC Object                  : N/A
        Power Management Object     : N/A
    GPU Operation Mode
        Current                     : N/A
        Pending                     : N/A
    GPU Virtualization Mode
        Virtualization mode         : N/A
    PCI
        Bus                         : 0x01
        Device                      : 0x00
        Domain                      : 0x0000
        Device Id                   : 0x118010DE
        Bus Id                      : 00000000:01:00.0
        Sub System Id               : 0x353C1458
        GPU Link Info
            PCIe Generation
                Max                 : N/A
                Current             : N/A
            Link Width
                Max                 : N/A
                Current             : N/A
        Bridge Chip
            Type                    : N/A
            Firmware                : N/A
        Replays since reset         : 0
        Tx Throughput               : N/A
        Rx Throughput               : N/A
    Fan Speed                       : 40 %
    Performance State               : P0
    Clocks Throttle Reasons         : N/A
    FB Memory Usage
        Total                       : 1996 MiB
        Used                        : 668 MiB
        Free                        : 1328 MiB
    BAR1 Memory Usage
        Total                       : N/A
        Used                        : N/A
        Free                        : N/A
    Compute Mode                    : Default
    Utilization
        Gpu                         : N/A
        Memory                      : N/A
        Encoder                     : N/A
        Decoder                     : N/A
    Encoder Stats
        Active Sessions             : N/A
        Average FPS                 : N/A
        Average Latency             : N/A
    Ecc Mode
        Current                     : N/A
        Pending                     : N/A
    ECC Errors
        Volatile
            Single Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Texture Shared      : N/A
                CBU                 : N/A
                Total               : N/A
            Double Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Texture Shared      : N/A
                CBU                 : N/A
                Total               : N/A
        Aggregate
            Single Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Texture Shared      : N/A
                CBU                 : N/A
                Total               : N/A
            Double Bit            
                Device Memory       : N/A
                Register File       : N/A
                L1 Cache            : N/A
                L2 Cache            : N/A
                Texture Memory      : N/A
                Texture Shared      : N/A
                CBU                 : N/A
                Total               : N/A
    Retired Pages
        Single Bit ECC              : N/A
        Double Bit ECC              : N/A
        Pending                     : N/A
    Temperature
        GPU Current Temp            : 41 C
        GPU Shutdown Temp           : N/A
        GPU Slowdown Temp           : N/A
        GPU Max Operating Temp      : N/A
        Memory Current Temp         : N/A
        Memory Max Operating Temp   : N/A
    Power Readings
        Power Management            : N/A
        Power Draw                  : N/A
        Power Limit                 : N/A
        Default Power Limit         : N/A
        Enforced Power Limit        : N/A
        Min Power Limit             : N/A
        Max Power Limit             : N/A
    Clocks
        Graphics                    : N/A
        SM                          : N/A
        Memory                      : N/A
        Video                       : N/A
    Applications Clocks
        Graphics                    : N/A
        Memory                      : N/A
    Default Applications Clocks
        Graphics                    : N/A
        Memory                      : N/A
    Max Clocks
        Graphics                    : N/A
        SM                          : N/A
        Memory                      : N/A
        Video                       : N/A
    Max Customer Boost Clocks
        Graphics                    : N/A
    Clock Policy
        Auto Boost                  : N/A
        Auto Boost Default          : N/A
    Processes                       : N/A


I don't think this is an out of GPU memory issue because I work with large images (30-50mpx and more) on this same computer every day. Also previously it has never been an issue with chromium too. It is a problem with chromium. Loading the same image in Firefox or IceCat is very fast and smooth and does not cause this freezing of the whole desktop.
Project Member

Comment 12 by sheriffbot@chromium.org, Mar 16 2018

Cc: sunn...@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

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

Comment 13 by stu...@anchev.net, Mar 16 2018

ETA:

Clicking the same image with which I tested in order to zoom it causes freezing again. Clicking it again to zoom it back to fit takes even longer.

Perhaps it is an issue with rendering rather than loading.

Comment 14 by piman@chromium.org, Mar 20 2018

Components: -Internals>GPU Internals>GPU>VendorSpecific
Status: ExternalDependency (was: Unconfirmed)
Well, it sounds like a driver issue where sending heavy workloads to the GPU (ones that deal with large images) ends up blocking mouse cursor updates? These days all drivers/GPUs should be using hardware cursor planes which should update independently of GPU workloads, so if it doesn't happen, it is a problem in the X11 driver (either not using a hardware cursor plane, or blocking cursor updates until GPU work is done). You also mention that this happens after a driver update, so I'm not sure how much we can really do in Chrome? Besides disabling GPU acceleration (what you get by turning off "Use hardware acceleration when available"), which I don't think we want to do in the general case.

Maybe contact NVIDIA support?

Comment 15 by stu...@anchev.net, Mar 20 2018

As I explained I use heavy load graphics (2D and 3D) in various programs on a daily basis. Chromium is the only program which shows such issue and it started to show it fairly recently. I have been using Chromium for years and absolutely never experienced anything like that. I don't know if that is related to a version update of Chromium or of NVIDIA driver or of a particular combination of both.

You suggest to contact NVIDIA support but as long as all other apps work fine their reply will be 'Contact Chromium devs' and it makes sense.

So logically this really an issue with Chromium and needs to be investigated as such.

Comment 16 by piman@chromium.org, Mar 20 2018

I can return the logic and mention that this works fine in Chrome on other drivers, so therefore it is a driver issue?

But more precisely, as I mentioned above, Chrome is not involved in moving the cursor on screen (that's the responsibility of the X11 driver, provided by NVIDIA). I'm not denying that Chrome may be submitting particular workloads that make the driver behave that way. But either way, we don't have source code for the NVIDIA driver so it's impossible for us to investigate what's happening there that makes cursor updates slow. NVIDIA people probably can, however.
If they can point at what specifically Chrome is doing that causes issues, I'm happy to look at whether there are alternatives. Though I still think that the driver should be able to handle whatever workload apps (Chrome or otherwise) are submitting, without holding up cursor updates.

Comment 17 by stu...@anchev.net, Mar 20 2018

This does not sound logical because:

1. You base this (quick) conclusion just on the added note I added in
comment 7 which was really just my speculation, not a proven fact. I
was merely trying to relate the issue to other changes on the system.
But the fact is that since then there have been 2 updates of the driver
and (I don't know how may) of Chromium. When I look at it now neither
with the older driver (considered non-problematic) nor with the newer
ones there are any issues in any program but Chromium. Currently I use:

[~]: rpm -q nvidia-glG04
nvidia-glG04-390.42-8.1.x86_64
[~]: rpm -q chromium
chromium-65.0.3325.162-146.1.x86_64

2. You talk about Chrome. I already pointed out that I am using
Chromium. I am not aware of the particular differences between the two
but AFAIK Google Chrome is not identical to Chromium.

3. I already explained that there is no driver issue with any other
program. I can start 10 or more 720p videos in mpv all playing in
parallel and there are no issues whatsoever (each shows 1% CPU in
system activity viewer). FWIW - I can do the same in 10 separate
chromium windows and they still play fine (with 1-3% load per process).
But when I load the image from the link above Chromium causes a peak
load in the system CPU. So merely assigning the issue to the GPU may not
be correct. I still notice that the zoom-to-fit of the image is much
slower than zooming in to 100% which makes me think that it is
something related to image scaling. Please check the attached
screenshot.

4. When you say "this works fine" - are you testing with this
particular (or at least similar) hardware and software? If not - then
your test will obviously show different results.

Considering all that: I am rather thinking this is unrelated to GPU at
all as the load is obviously on the CPU.

Another thing which comes to my mind (and again this is a speculation
just aimed to hopefully help you in pin-poining the source): since
Spectre and Meltdown were announced there have been some changes to
software (and browsers) in relation to which it was mentioned there may
be some performance degradation. Could it be something along these
lines? (still - I don't notice that in any other programs)

Comment 18 by stu...@anchev.net, Mar 20 2018

Obviously adding attachment when replying by email doesn't work for this site. So I am forced to visit the web page, enable non-free JavaScript to be executed on my computer and all that business...

ksysguard-screenshot.png
123 KB View Download

Comment 19 by piman@chromium.org, Mar 21 2018

@#17:
1- This does not reproduce locally (local config: Quadro K2200
NVIDIA driver version 384.111), so it is driver-specific. But I was merely pointing out that the logic ("it doesn't happen in other apps than chrome therefore it's a bug in chrome") is flawed. As I mention again and again, on your system just as on mine, chrome (the executable) is not involved in the logic to move the cursor on screen, so it's pointless to try to find a bug in chrome until you identify what makes the cursor updates slow. NVIDIA people may be able to do that, but I can't.
2- Google Chrome is a product that uses the Chromium codebase. It's the same code. That said your distribution packaged their own build of Chromium, and I don't know what they may have changed in it, but we don't provide support for non-official builds of Chromium (you can ask your distribution).
3- HW video decoding has nothing to do with the GPU functionality we use to render images, so that's pretty irrelevant. Decoding large images will use the CPU, yes. For that matter, in Google Chrome (no idea about your distribution's Chromium-based browser) does rasterize pages (including images) on the CPU and uploads to the GPU for compositing. It is a spiky process, and it's definitely expected that it will take 100% of the number of cores dedicated to rasterization (which in Google Chrome will be between 1 and 4 with a max of half the number of CPUs) for a short while. You can play with the --num-raster-threads option if you wish. If the CPU load causes slow cursor updates (it doesn't here, even with a work load that pegs all CPU cores at 100%)
4- I will not attempt to replicate your exact configuration, sorry. I was pointing out exactly that, different configurations with the same chrome version don't experience the issue, so maybe you may want to consider that the issue is not necessarily in chrome?

Re Spectre mitigations, that's completely irrelevant here, you can read about them at https://www.chromium.org/Home/chromium-security/ssca but they only affect Javascript execution (it sounds like you have disabled it, but either way is irrelevant for rendering). Meltdown mitigations are done at the kernel level, so that's by your distribution and irrelevant here.

Comment 20 by stu...@anchev.net, Mar 21 2018

You are testing on completely different hardware and software and use this as a basis to argue that the issue is not reproducible. Through that you insist that the bug reporter should become a mediator between you an NVIDIA telling them "Someone claims there is a problem in your driver but personally I have no complaints as all programs except this one work fine. Still I am contacting you just because I am not getting any help from chromium devs". Obviously that is quite meaningless. If you insist on that route you must provide a procedure which proves that the problem is in the video driver, just like I have demonstrated that the lagging is caused by CPU overload. Otherwise there is simply nothing to show to NVIDIA and we are all wasting time. Without actual debug info NVIDIA cannot possibly give any meaningful feedback which you could use. Merely disabling/enabling hardware acceleration in chromium to demonstrate that it *may* be related to video driver does _not mean_ the problem is in the driver. NVIDIA may argue that their driver is fine and that the way you (chromium code) uses it is buggy.

So please provide a procedure for sending proper debug info to NVIDIA proving that the problem is in the driver. Then I will contact them.

Right after submitting this comment I will also file a bug at openSUSE's bugzilla as you seem to question their binaries too.

Comment 21 by stu...@anchev.net, Apr 20 2018

It seems the issue was with openSUSE's build.
They released an update and in version 66.0.3359.117 it works as expected.

Sorry for the trouble.
Can you point to the openSUSE bug so that we know what the problem was?

Comment 23 by stu...@anchev.net, Apr 20 2018

https://bugzilla.suse.com/show_bug.cgi?id=1086199

But it contains no info about the actual reason for the problem.

Sign in to add a comment