RESOLVED WONTFIX 126122
[GTK] Limit the number of tiles according to the visible area (when built without threaded compositor)
https://bugs.webkit.org/show_bug.cgi?id=126122
Summary [GTK] Limit the number of tiles according to the visible area (when built wit...
Michael Catanzaro
Reported Saturday, December 21, 2013 9:08:24 PM UTC
Visiting http://www.theonion.com/ sometimes, but not always, hangs my entire desktop. My lowball guess is that this happens roughly 20% of the time. The first warning sign is that the page is taking unusually long to load (3-4 seconds). If I react very quickly and close the tab or my browser, then the day is saved. Otherwise, I can at first move the mouse pointer very sluggishly, but not click on anything, and then I completely lose control. I have no choice but to hold the power button to shut down my computer. I've had no success attempting to debug this, since I don't know how to trigger the bug without borking my computer. webkitgtk3-2.2.3-1.fc20 epiphany-3.10.2-1.fc20
Attachments
backtrace #1 (stopped with Ctrl+C) (77.61 KB, text/plain)
2015-01-06 12:02 PST, Michael Catanzaro
no flags
backtrace #2 (80.85 KB, text/plain)
2015-01-06 12:03 PST, Michael Catanzaro
no flags
backtrace #3 (80.14 KB, text/plain)
2015-01-06 12:03 PST, Michael Catanzaro
no flags
webprocess.smaps (1.75 MB, text/plain)
2015-09-13 10:15 PDT, Zan Dobersek
no flags
BT from gdb (30.08 KB, text/plain)
2016-02-03 00:56 PST, Andres Gomez Garcia
no flags
WIP (4.20 KB, patch)
2016-02-10 06:40 PST, Carlos Garcia Campos
no flags
Patch (24.30 KB, patch)
2016-02-18 06:38 PST, Gwang Yoon Hwang
no flags
Claudio Saavedra
Comment 1 Wednesday, May 14, 2014 2:16:05 PM UTC
So here's the thing. You are using WebKitGTK+ 2.2 which is rather old. I can reproduce this with WKGTK 2.4, but since this had not happened before to either of us, I think something buggy got into Fedora (so far all people affected report using Fedora 20) somewhere in the stack.
Michael Catanzaro
Comment 2 Wednesday, May 14, 2014 3:23:39 PM UTC
I'm currently using the GNOME 3.12 copr on Fedora 20, but I've reproduced this on Arch in the past, so it's nothing Fedora-specific. I think it's been happening since the GNOME 3.8 era (so WebKitGTK+ 2.0).
Alberto Garcia
Comment 3 Thursday, May 15, 2014 1:54:08 PM UTC
Tested here (Debian) with epiphany 3.8.2-5 and webkitgtk 2.4.2-1. I cannot reproduce the problem at all.
Claudio Saavedra
Comment 4 Friday, May 16, 2014 2:33:28 PM UTC
I cannot reproduce this anymore after a Fedora upgrade. Both LinkedIn and The Onion work fine for me. There were mesa packages upgraded, can't pinpoint anything relevant in the changelogs though.
Michael Catanzaro
Comment 5 Saturday, May 17, 2014 2:38:23 AM UTC
Unfortunately, I can still reproduce this after the update to mesa-10.1.3-1.20140509.fc20.
Michael Catanzaro
Comment 6 Saturday, May 17, 2014 10:27:27 PM UTC
This (and Bug #126123) only seems to occur if Javascript is enabled.
Michael Catanzaro
Comment 7 Saturday, December 6, 2014 4:06:02 PM UTC
*** Bug 126123 has been marked as a duplicate of this bug. ***
Michael Catanzaro
Comment 8 Tuesday, January 6, 2015 8:02:15 PM UTC
Here are three backtraces taken on projects.archlinux.org (where I experience the same symptoms). They all look quite similar in thread one. Stepping through the third case in gdb, I was able to successfully return to WebKit's main loop, which suggests that this may be a red herring. I can't ever seem to reproduce it by refreshing the same page over and over, so it might only occur for new web processes, or the first time the page is loaded in the current process.
Michael Catanzaro
Comment 9 Tuesday, January 6, 2015 8:02:50 PM UTC
Created attachment 244084 [details] backtrace #1 (stopped with Ctrl+C)
Michael Catanzaro
Comment 10 Tuesday, January 6, 2015 8:03:12 PM UTC
Created attachment 244085 [details] backtrace #2
Michael Catanzaro
Comment 11 Tuesday, January 6, 2015 8:03:26 PM UTC
Created attachment 244086 [details] backtrace #3
Michael Catanzaro
Comment 12 Tuesday, January 6, 2015 8:07:30 PM UTC
Also, it's a memory allocation loop (at least sometimes): WebKit was eating up ~4GiB at the time I stopped it this time, but it would have continued to rise up to the size of my physical memory before the system hangs up.
Joanmarie Diggs
Comment 13 Wednesday, January 7, 2015 12:34:59 AM UTC
I can sort of reproduce the Onion one with MiniBrowser built from master, on Fedora 21, using Mesa 10.4.x. The "sort of" is because I see a significant delay when the page loads, and if I interrupt loading the backtrace looks quite similar to what is in comment 9. BUT if I wait long enough, the page loads. And my desktop does not hang. Is it definitely a hang, or if you walk away and make a sandwich, do you find things back to normal upon your return? As for the backtraces in comment 10 and comment 11: Are those from the Onion? Or are they from pages with select elements? And if the latter, is the problem seen primarily when there are a bunch of options in a given select element? And if so to that, if you do the make-a-sandwich test, does the problem eventually go away or is it a proper hang?
Michael Catanzaro
Comment 14 Wednesday, January 7, 2015 3:33:01 AM UTC
(In reply to comment #13) > I can sort of reproduce the Onion one with MiniBrowser built from master, on > Fedora 21, using Mesa 10.4.x. The "sort of" is because I see a significant > delay when the page loads, and if I interrupt loading the backtrace looks > quite similar to what is in comment 9. BUT if I wait long enough, the page > loads. Often there is a significant delay, but the browser recovers and completes the load. When the load completes, I can look in System Monitor and see that I have one web process using 3.4 GiB of memory, the rest with 40 MiB apiece. I think that when the browser does not recover within a reasonable amount of time, it has simply allocated something much more than 3 GiB and begun swapping. > And my desktop does not hang. Is it definitely a hang, or if you walk > away and make a sandwich, do you find things back to normal upon your return? It does recover after a "sandwich," but it's very slow when I return (e.g. unlocking the computer takes ~5s, launching any application takes ~15s) and the desktop will regularly hang for ~5s intervals. I think this is just swapping. (In reply to comment #13) > As for the backtraces in comment 10 and comment 11: Are those from the > Onion? No: (In reply to comment #8) > Here are three backtraces taken on projects.archlinux.org (where I > experience the same symptoms). If you think that is a different bug, I can reopen bug #126123, but I hope they're the same. The Onion is worse for testing because it reloads itself (probably to trick its advertisers into thinking it gets more page views than it really does) and it's not fun when I forget and a background tab triggers the bug. > Or are they from pages with select elements? And if the latter, is > the problem seen primarily when there are a bunch of options in a given > select element? Yes, that must be it, good call! projects.archlinux.org has a huge combo box in the upper right that I never noticed until you suggested I look for select elements. bugzilla.redhat.org has one as well. These are well-known to perform horrendously (I use Firefox when I need to change a Component on bugzilla.redhat.com). I don't see one on the Onion, though.
Joanmarie Diggs
Comment 15 Thursday, January 8, 2015 11:36:32 AM UTC
So I see that you've changed the summary to reflect the combo box issue. Before the summary stated that the problem is on the Onion's site which lacks combo boxes. Were it me, I'd probably split this into two bugs because, well, it's two bugs. ;) See your backtraces.
Michael Catanzaro
Comment 16 Thursday, January 8, 2015 12:53:29 PM UTC
You're right, I'm just causing more confusion.
Michael Catanzaro
Comment 17 Tuesday, June 30, 2015 11:13:26 PM UTC
Possibly bug #139847
Michael Catanzaro
Comment 18 Thursday, September 10, 2015 2:02:05 AM UTC
This bug has become a bit confused, due to the various web sites studied in the past: theonion.com, which no longer seems to exhibit this issue www.archlinux.org/packages, ditto bugzilla.redhat.com, still a big problem, but not a reliable reproducer A user recently found a site that reproduces this reliably: [1] Let's repurpose this bug to cover just the site where we can reproduce this reliably. If it happens to be that the bug still exists on other sites after we have fixed it on this on, we can open different bugs. ***Warning*** clicking the link below will hang your computer unless you are prepared to immediately kill your web process. [1] http://www.reuters.com/article/2015/09/02/us-iran-nuclear-congress-idUSKCN0R21L620150902
Zan Dobersek
Comment 19 Sunday, September 13, 2015 6:15:05 PM UTC
Created attachment 261082 [details] webprocess.smaps
Zan Dobersek
Comment 20 Sunday, September 13, 2015 6:15:40 PM UTC
At least on the Reuters page the DRM allocator nodes appear to be leaked, resulting in an OOM. From attached webprocess.smaps, cat webprocess.smaps | grep "drm mm object" yields ~2700 such entries, each 4MB in size, or >10GB in total (at ~11GB consumption). No idea about the why.
Michael Catanzaro
Comment 21 Friday, September 25, 2015 1:07:01 AM UTC
A Radeon user reports it crashes the driver: [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse relocation -12 But presumably that's a symptom of the leak.
Jeff Fortin
Comment 22 Tuesday, October 27, 2015 9:51:21 PM UTC
I've been experiencing this problem with LinkedIn recently when accepting invitations to connect (when clicking the button)... FWIW / adding some precision to the previous mention of LinkedIn by someone else.
Michael Catanzaro
Comment 23 Friday, November 20, 2015 1:13:18 PM UTC
Similar issue on www.vondafone.es.
Michael Catanzaro
Comment 24 Friday, January 29, 2016 2:23:21 PM UTC
*** Bug 149037 has been marked as a duplicate of this bug. ***
Michael Catanzaro
Comment 25 Friday, January 29, 2016 2:27:33 PM UTC
Another similar issue: """ Then, from the top bar I place my pointer over the "Connections" menu so it is expanded, once expanded, I click on the "See all" link: https://www.linkedin.com/people/pymk/hub?ref=global-nav&trk=nav_utilities_invites_header Upon doing so, the browser freezes and I notice the HD of my computer starting to work hard. After checking with "top" the WebKitWebProcess is growing its used memory by the Gbs!!! and it doesn't seem to stop. This may not be a problem in WKGTK+ but the graphics driver since, after repeating the process with a GDB attached to the WebKitWebProcess, GDB states that the point in which it exits when manually killing the process is: /usr/lib/x86_64-linux-gnu/dri/i965_dri.so """
Michael Catanzaro
Comment 26 Friday, January 29, 2016 2:33:08 PM UTC
Er, that's on LinkedIn; didn't paste quite enough from the original bug ;)
Michael Catanzaro
Comment 27 Friday, January 29, 2016 3:15:48 PM UTC
Andres and I can both reproduce the issue reliably on LinkedIn.
Alberto Garcia
Comment 28 Monday, February 1, 2016 8:28:29 AM UTC
Can you also reproduce the problem with this one? http://www.reuters.com/article/2015/10/18/us-new-york-flightcenter-idUSKCN0SC14B20151018 There's a release-critical bug in Debian because of this URL. https://bugs.debian.org/802380
Carlos Alberto Lopez Perez
Comment 29 Monday, February 1, 2016 12:56:56 PM UTC
You can reproduce this without killing your desktop by using Linux's cgroups to limit the amount of memory that webkit can use. This way is easier to reproduce and test: $ sudo cgcreate -g memory:/testwebkitmem $ echo $(( 1 * 1024 * 1024 * 1024 ))| sudo tee /sys/fs/cgroup/memory/testwebkitmem/memory.limit_in_bytes $ echo $(( 2 * 1024 * 1024 * 1024 ))| sudo tee /sys/fs/cgroup/memory/testwebkitmem/memory.memsw.limit_in_bytes $ sudo cgexec -g memory:/testwebkitmem sudo -H -u $USER Tools/jhbuild/jhbuild-wrapper --gtk run ./WebKitBuild/Release/bin/MiniBrowser http://www.reuters.com/article/us-new-york-flightcenter-idUSKCN0SC14B20151018 So, I quickly get WebKitWebProcess killed by the kernel's OOM-killer: Task in /testwebkitmem killed as a result of limit of /testwebkitmem memory: usage 1048576kB, limit 1048576kB, failcnt 72526 memory+swap: usage 1967216kB, limit 2097152kB, failcnt 0 kmem: usage 0kB, limit 18014398509481983kB, failcnt 0 Memory cgroup stats for /testwebkitmem: cache:3480KB rss:1045096KB rss_huge:0KB mapped_file:3476KB writeback:285804KB swap:918640KB inactive_anon:524344KB active_anon:524192KB inactive_file:0KB active_file:0KB unevictable:0KB [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name [17018] 0 17018 13843 806 31 120 0 sudo [17019] 0 17019 13843 0 29 120 0 sudo [17020] 1000 17020 515762 18778 226 6572 0 MiniBrowser [17040] 1000 17040 775055 15724 312 6776 0 WebKitNetworkPr [17042] 1000 17042 1085848 209041 1182 288385 0 WebKitWebProces Memory cgroup out of memory: Kill process 17042 (WebKitWebProces) score 951 or sacrifice child Killed process 17042 (WebKitWebProces) total-vm:4343392kB, anon-rss:752824kB, file-rss:83340kB But, this doesn't kills or causes any instability on my system, so is a nice trick to debug memory problems. My 2 cents.
Carlos Alberto Lopez Perez
Comment 30 Monday, February 1, 2016 1:01:27 PM UTC
(In reply to comment #28) > Can you also reproduce the problem with this one? > > http://www.reuters.com/article/2015/10/18/us-new-york-flightcenter- > idUSKCN0SC14B20151018 > > There's a release-critical bug in Debian because of this URL. > > https://bugs.debian.org/802380 I have uploaded a copy of the page here http://people.igalia.com/clopez/wkbug/126122/rnyc/ just in case it gets modified or made unavailable. I get an OOM issue with this website (as also with the copy I made)
Michael Catanzaro
Comment 31 Monday, February 1, 2016 3:51:09 PM UTC
Thanks for the neat cgroups suggestion and for taking the backup, Carlos! My less-refined way to test this safely is to type 'killall WebKitWebProcess' in my terminal, open system monitor, and kill it before it gets out of hand, but that's pretty risky.... (In reply to comment #28) > Can you also reproduce the problem with this one? > > http://www.reuters.com/article/2015/10/18/us-new-york-flightcenter- > idUSKCN0SC14B20151018 Yes, on the first try.
Michael Catanzaro
Comment 32 Monday, February 1, 2016 3:52:03 PM UTC
FWIW we've now documented this problem on Intel, Nvidia, and AMD graphics.
Carlos Alberto Lopez Perez
Comment 33 Monday, February 1, 2016 4:27:13 PM UTC
(In reply to comment #32) > FWIW we've now documented this problem on Intel, Nvidia, and AMD graphics. This is happening also on my laptop with the NVIDIA proprietary drivers. I don't see any artifacts on the screen, I just get into an OOM situation
Andres Gomez Garcia
Comment 34 Wednesday, February 3, 2016 8:56:53 AM UTC
Created attachment 270564 [details] BT from gdb I'm using WebKitGtk+ with my own JHBuild setting: https://github.com/tanty/jhbuild-epiphany/tree/master Epiphany 3.18.0 and WebKit 2.10.7 I'm running Epiphany with the dconf key: "process-model" = "shared-secondary-process" Attached, a backtrace stopped when the memory is exponentially increasing.
Andres Gomez Garcia
Comment 35 Wednesday, February 3, 2016 8:57:22 AM UTC
(In reply to comment #34) > Created attachment 270564 [details] > BT from gdb > > I'm using WebKitGtk+ with my own JHBuild setting: > https://github.com/tanty/jhbuild-epiphany/tree/master > > Epiphany 3.18.0 and WebKit 2.10.7 > > I'm running Epiphany with the dconf key: > > "process-model" = "shared-secondary-process" > > Attached, a backtrace stopped when the memory is exponentially increasing. For the URL: http://people.igalia.com/clopez/wkbug/126122/rnyc/
Andres Gomez Garcia
Comment 36 Wednesday, February 3, 2016 4:35:40 PM UTC
I can confirm this is not reproducible (with any of the listed links in this report) with WebKitGtk+ from my own JHBuild setting: https://github.com/tanty/jhbuild-epiphany/tree/master WebKit 2.10.7, using MiniBrowser, and passing the CMake arg: -DENABLE_OPENGL=OFF
Andres Gomez Garcia
Comment 37 Wednesday, February 3, 2016 5:38:07 PM UTC
I can confirm this IS REPRODUCIBLE with WebKitGtk+ from my own JHBuild setting: https://github.com/tanty/jhbuild-epiphany/tree/master WebKit 2.10.7, using MiniBrowser, and passing the CMake arg: -DUSE_REDIRECTED_XCOMPOSITE_WINDOW=OFF
Carlos Garcia Campos
Comment 38 Wednesday, February 3, 2016 5:40:58 PM UTC
(In reply to comment #37) > I can confirm this IS REPRODUCIBLE with WebKitGtk+ from my own JHBuild > setting: > https://github.com/tanty/jhbuild-epiphany/tree/master > > WebKit 2.10.7, using MiniBrowser, and passing the CMake arg: > -DUSE_REDIRECTED_XCOMPOSITE_WINDOW=OFF Thanks!, so this time I can't blame the redirected window :-P
Carlos Garcia Campos
Comment 39 Friday, February 5, 2016 1:48:00 PM UTC
OK, I've been debugging this and I know what the problem is. In the case of the test case saved by Carlos Lopez, we have a layer of size 12000079x525, which is huge. The tiled backing store (TextureMapperTiledBackingStore) creates tile for the whole layer bounds, which means ~6000 tiles of 2000x525. If I'm understanding the code correctly, the tiled backing store is not taking into account the visible area at all. This is a problem for huge layers, but even for the case of smaller layers, we might be wasting the memory and cpu computing tiles that are offscreen. So, I think the tiled backing store should build a coverage area based on the visible size, and create tiles only for that area. I've noticed that texmap/coordinated/TiledBackingStore does that, so I wonder if we could somehow reuse the code or have a common tile manager that could be used by both backing stores. I'm not a graphics expert, so I hope that someone with more experience could help here now that we know what the problem is, otherwise I'll try to do it myself and any help would be really appreciated.
Carlos Garcia Campos
Comment 40 Wednesday, February 10, 2016 2:40:30 PM UTC
Created attachment 270986 [details] WIP This is just an experiment, I don't think it's the right solution, but could work as a workaround. The idea is basically to provide the visible rectangle to the texture mapper, and never create tiles that don't intersect with the visible rect.
Carlos Alberto Lopez Perez
Comment 41 Friday, February 12, 2016 2:41:49 AM UTC
Not directly related with this bug, but I guess is interesting info anyway: I'm not longer able to reproduce this problem if I force AC mode to be off. The usage of RAM don't grows out of normal. I have uploaded a patch to bug 154147 that allows to do this by just setting an environment variable before running the browser.
Gwang Yoon Hwang
Comment 42 Thursday, February 18, 2016 2:38:11 PM UTC
Gwang Yoon Hwang
Comment 43 Thursday, February 18, 2016 2:44:37 PM UTC
As cgarcia mentioned, this whole problem happened because of the out-dated TextureMapperBackingStore. I modified it to use basic concepts of the visible rect and coverage area when creating tiles at the TextureMapperBackingStore, instead of replacing it with a TiledBackingStore. Because there is some difference between the coordinated graphics and the GTK's texture mapper while handling scrolling and bitmap buffers.
Carlos Garcia Campos
Comment 44 Friday, February 19, 2016 6:37:51 AM UTC
Comment on attachment 271659 [details] Patch Awesome patch, thank you very much!
WebKit Commit Bot
Comment 45 Friday, February 19, 2016 7:27:25 AM UTC
Comment on attachment 271659 [details] Patch Clearing flags on attachment: 271659 Committed r196803: <http://trac.webkit.org/changeset/196803>
WebKit Commit Bot
Comment 46 Friday, February 19, 2016 7:27:34 AM UTC
All reviewed patches have been landed. Closing bug.
Zan Dobersek
Comment 47 Friday, February 19, 2016 8:23:34 AM UTC
Comment on attachment 271659 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=271659&action=review > Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:652 > +void GraphicsLayerTextureMapper::markVisibleRectAsDirty() > +{ > + m_isVisibleRectDirty = true; > + > + if (maskLayer()) > + downcast<GraphicsLayerTextureMapper>(*maskLayer()).markVisibleRectAsDirty(); > + if (replicaLayer()) > + downcast<GraphicsLayerTextureMapper>(*replicaLayer()).markVisibleRectAsDirty(); > + for (auto* child : children()) > + downcast<GraphicsLayerTextureMapper>(*child).markVisibleRectAsDirty(); > +} This is wasteful. It would be more efficient to set up a state object during the layer flushing, copy it for every layer and update the 'is-visible-rect-dirty' parameter by or-ing the m_isVisibleRectDirty value into it, and then pass it to every child. > Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:663 > +bool GraphicsLayerTextureMapper::selfOrAncestorHasActiveTransformAnimation() const > +{ > + if (m_animations.hasActiveAnimationsOfType(AnimatedPropertyTransform)) > + return true; > + > + if (!parent()) > + return false; > + > + return downcast<GraphicsLayerTextureMapper>(*parent()).selfOrAncestorHasActiveTransformAnimation(); > +} This too could be included in that state object, removing the need to go back up the layer tree to find a parent with any active animation. > Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:682 > + m_layerTransform.combineTransforms(parent() ? downcast<GraphicsLayerTextureMapper>(*parent()).m_layerTransform.combinedForChildren() : TransformationMatrix()); combineTransforms() could only be called if parent() exists, no?
Csaba Osztrogonác
Comment 48 Friday, February 19, 2016 12:01:31 PM UTC
(In reply to comment #45) > Comment on attachment 271659 [details] > Patch > > Clearing flags on attachment: 271659 > > Committed r196803: <http://trac.webkit.org/changeset/196803> It broke the WinCairo build, cc-ing port maintainters.
Michael Catanzaro
Comment 49 Friday, February 19, 2016 6:31:39 PM UTC
It would be really nice to get an EWS for WinCairo. [118/129] Building CXX object Source\WebKit\CMakeFiles\WebKit.dir\win\WebCoreSupport\AcceleratedCompositingContext.cpp.obj FAILED: C:\PROGRA~2\MICROS~3.0\VC\bin\amd64\cl.exe /nologo /TP /DWIN32 /D_WINDOWS /W4 /GR- /EHs- /EHc- /MT /Zi /Ob0 /Od /RTC1 -IDerivedSources\ForwardingHeaders -IDerivedSources -I..\..\WebKitLibraries\win\include -I..\..\Source\WebKit\WebCoreSupport -I. -I..\..\Source -IDerivedSources\ForwardingHeaders\JavaScriptCore -IDerivedSources\ForwardingHeaders\WebCore -IDerivedSources\ForwardingHeaders\WebKitLegacy -I..\..\WebKitLibraries\win\include\cairo -I..\..\WebKitLibraries\win\include\sqlite -I..\..\Source\WebCore\platform\graphics\cairo -I..\include\private -I..\include\private\JavaScriptCore -I..\include\private\WebCore -I..\..\Source\WebKit\Storage -I..\..\Source\WebKit\win -I..\..\Source\WebKit\win\plugins -I..\..\Source\WebKit\win\WebCoreSupport -I..\..\Source\WebKit\WebKit.vcxproj\WebKit -I..\..\Source\WebKit\.. -IDerivedSources\WebKit\include -IDerivedSources\WebKit\Interfaces -IDerivedSources\ForwardingHeaders\ANGLE -IDerivedSources\ForwardingHeaders\ANGLE\include -IDerivedSources\ForwardingHeaders\ANGLE\include\egl -IDerivedSources\ForwardingHeaders\ANGLE\include\khr -IDerivedSources\WebKit /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4702 /wd4706 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /Gy- /openmp- /GF- /Yu"WebKitPrefix.h" /FI"WebKitPrefix.h" /Fp"C:/Users/Alex/Documents/WinCairoBot/win-cairo-release/build/WebKitBuild/Release/Source/WebKit/WebKitPrefix.pch" /showIncludes -DBUILDING_WITH_CMAKE=1 -DFRAMEWORK_NAME=WebKit -DHAVE_CONFIG_H=1 -DNOMINMAX -DUNICODE -DUSE_CAIRO=1 -DUSE_CURL=1 -DWEBKIT_EXPORTS -DWEBKIT_EXPORTS=1 -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -DWebKit_EXPORTS -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WINDOWS /FoSource\WebKit\CMakeFiles\WebKit.dir\win\WebCoreSupport\AcceleratedCompositingContext.cpp.obj /FdSource\WebKit\CMakeFiles\WebKit.dir\ /FS -c ..\..\Source\WebKit\win\WebCoreSupport\AcceleratedCompositingContext.cpp ..\..\Source\WebKit\win\WebCoreSupport\AcceleratedCompositingContext.cpp(363): error C2660: 'WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers': function does not take 0 arguments ninja: build stopped: subcommand failed.
Michael Catanzaro
Comment 50 Friday, February 19, 2016 6:32:28 PM UTC
Reopening due to the build break and the review comments from Zan.
Csaba Osztrogonác
Comment 51 Monday, February 22, 2016 10:25:38 AM UTC
(In reply to comment #49) > It would be really nice to get an EWS for WinCairo. The WinCairo port and its buildbot isn't maintained well, nobody fixes build breaks, bot issues day by day. I don't think if somebody is interested in maintaining an EWS too.
Alex Christensen
Comment 52 Monday, February 22, 2016 7:27:19 PM UTC
Michael Catanzaro
Comment 53 Monday, February 22, 2016 7:37:15 PM UTC
OK, you can use another bug to address Zan's review comments, if you have time.
WebKit Commit Bot
Comment 54 Wednesday, March 16, 2016 8:00:29 AM UTC
Re-opened since this is blocked by bug 155534
Carlos Alberto Lopez Perez
Comment 55 Wednesday, March 16, 2016 2:49:15 PM UTC
This was rolled out in <http://trac.webkit.org/changeset/198266> Which sites did it break???
Michael Catanzaro
Comment 56 Wednesday, March 16, 2016 2:56:29 PM UTC
Notably Twitter, see bug #155426
Michael Catanzaro
Comment 57 Sunday, March 20, 2016 4:15:00 PM UTC
(In reply to comment #55) > This was rolled out in <http://trac.webkit.org/changeset/198266> > > > Which sites did it break??? This also (probably) caused: bug #155059, bug #154879
Michael Catanzaro
Comment 58 Tuesday, March 29, 2016 5:40:56 PM UTC
Today's complaint: "so a friend sent me a link to a tweet that froze my computer for 5 minutes :P" I've seen enough circumstantial evidence of this that I'm now fairly confident that the set of sites broken by this commit are the same as the set of sites that suffer from this issue.
Andres Gomez Garcia
Comment 59 Monday, May 16, 2016 11:02:24 AM UTC
Michael Catanzaro
Comment 60 Monday, August 1, 2016 3:01:53 PM UTC
*** Bug 160402 has been marked as a duplicate of this bug. ***
Michael Catanzaro
Comment 61 Wednesday, August 3, 2016 5:49:47 PM UTC
Carlos says issue is fixed in threaded compositor; we're keeping it open until we remove the ability to build without threaded compositor, but I guess it's not a priority anymore (Yoon).
Michael Catanzaro
Comment 62 Friday, October 14, 2016 4:57:10 PM UTC
(In reply to comment #61) > we're keeping it open until we remove the ability to build without threaded compositor So, can we do this? It seems to be working fine, right? Or: is this bug still an issue when WEBKIT_DISABLE_COMPOSITING_MODE is used?
Carlos Garcia Campos
Comment 63 Friday, October 14, 2016 5:00:27 PM UTC
(In reply to comment #62) > (In reply to comment #61) > > we're keeping it open until we remove the ability to build without threaded compositor > > So, can we do this? It seems to be working fine, right? No, we don't have enough feedback yet, it might be broken in some particular gpus, for example. > Or: is this bug still an issue when WEBKIT_DISABLE_COMPOSITING_MODE is used? No, it only happens with AC on.
Karlen Simonyan
Comment 64 Tuesday, December 20, 2016 2:04:44 PM UTC
One of the real-world examples of this bug is TypeScript Playground (https://www.typescriptlang.org/play/), which hosts Monaco editor. Crashing with AC on. -------------------------------------------------------- System: Win 10. Webkit r209238. Cairo v1.14.4 Graphics: Intel® HD Graphics 4400; nVidia GeForce 750 M -------------------------------------------------------- Patch (https://bugs.webkit.org/attachment.cgi?id=271659) helps to resolve the issue partially: some tiles remain uninitialzed (i.e. non-intersected). Just try to scroll a sample on TypeScript Playground's page. Moreover, GitHub is being affected: single-file pages are rendering huge tables, which require tiles to be preinitialized. For example, try to open (https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp).
Michael Catanzaro
Comment 65 Tuesday, December 20, 2016 2:47:30 PM UTC
Karlen, did you build WebKit with -DENABLE_THREADED_COMPOSITOR=OFF? This issue has kinda dropped off the roadmap because that is a non-default configuration.
Karlen Simonyan
Comment 66 Tuesday, December 20, 2016 4:12:56 PM UTC
Hi Michael, Yes without threaded compositor feature enabled, so texmap/TextureMapperTiledBackingStore is being used instead of texmap/coordinated/TiledBackingStore.
Michael Catanzaro
Comment 67 Monday, February 20, 2017 11:05:19 PM UTC
texmap/TextureMapperTiledBackingStore is removed in bug #168606, so this can be closed now.
Michael Catanzaro
Comment 68 Tuesday, February 21, 2017 3:51:59 PM UTC
Nope, I must have misread the patch. Looks like it's still around if ENABLE_OPENGL=OFF. I think we should remove support for ENABLE_OPENGL=OFF if nobody fixes this bug.
Carlos Garcia Campos
Comment 69 Tuesday, February 21, 2017 4:11:07 PM UTC
No, if opengl is disabled we don't have accelerated compositing
Note You need to log in before you can comment on or make changes to this bug.