Closed Bug 1284651 Opened 4 years ago Closed 5 months ago

Adjust the 1GB image cache limit on 64-bit builds

Categories

(Core :: ImageLib, task, P3)

x86_64
Windows 7
task

Tracking

()

VERIFIED FIXED
mozilla71
Tracking Status
firefox71 --- verified

People

(Reporter: milan, Assigned: tnikkel)

References

Details

(Whiteboard: gfx-noted)

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1130968 +++

See the STR in bug 1130968 comment 1, and further discussion about the details.  In short, we hit the image cache limit, because of a number of animated images, and things start going bad at that point.  Bug 1130968 covers the eviction of animated images from the image cache - this bugs covers increasing the 1GB limit where appropriate.
Component: Graphics → ImageLib
Version: 38 Branch → Trunk
Assignee: nobody → eyim
And the 1GB limit is currently a preference image.mem.surfacecache.max_size_kb, so we'll need to do some tweaking.  Probably change the default value to -1 to mean "automatic", limit it to 1GB on 32-bit OS, otherwise follow the algorithm, and see what we get.

It'd be good to list out some scenarios for "I have this much RAM, I will get this much image cache" so that we can see if a modified heuristic is required.
If "PR_GetPhysicalMemorySize" function/method truly worked I would never see images stopping to appear, right? I have 32 GB of RAM; it is by far not the biggest value nowadays, but by formulae in the code resulting cache size I should be getting must be good enough.

Also, even if the cache is limited, why can not older images be purged from there, and re-downloaded, if necessary (e.g. if I would jump to the top of the page)? There is no such mechanism in the ImageLib software component?
The 32GB of RAM is irrelevant because we have a preference set that says "do not go beyond 1GB".  What would be great is if you could change the preference (in about:config) image.mem.surfacecache.max_size_kb from the default 1048576 to, say, 10GB instead (e.g., 10485760) and tell us how Firefox behaves.  I imagine you could still get it in trouble, it would take much longer, but I'm not sure if we otherwise limit things that would preclude you from getting the full 10GB image cache.

And, yes, absolutely, the purge of animated images is bug 1130968 / bug 686905.
Thanks for the explanation, Milan.

I doubt that I have the time to try the 10 GB limit; even 1 GB limit takes time. Theoretically, I could automate this by using AutoHotKey/AutoIt scripting languages, but even this would take some time since it is already years since I last time programmed such things (by the way, does not Mozilla already have internal tools for checking stability/repeatable UI actions?). I hope that fixing underlying issues should work even without such test, though.
Assignee: ernest-yim → aosmond
Priority: -- → P3
Type: defect → task
Severity: major → normal
Keywords: feature
Assignee: aosmond → tnikkel

Before this patch: surface cache size = min(1GB, system_memory/4)
After this patch: surface cache size = min(32bit ? 1GB : 2GB , system_memory/4)

sizeof(uintptr_t) is the best I can figure out to detect 32bit builds.

Attachment #9091169 - Attachment description: Bug 1284651. Allow the image surface cache to grow beyond 1GB on 64bit builds with sufficient memory. r?aosmond → Bug 1284651. Allow the image surface cache to grow beyond 1GB on 64bit builds with sufficient memory. r=aosmond
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3519c255f86e
Allow the image surface cache to grow beyond 1GB on 64bit builds with sufficient memory. r=aosmond

Backed out changeset 3519c255f86e (Bug 1284651) for gtest failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=7762fb7ccd1d45652f06ac7c4298efcd1fe83b9a&searchStr=linux%2Cx64%2Cquantumrender%2Cdebug%2Ctest-linux64-qr%2Fdebug-gtest-1proc%2C%28gtest%29&tochange=093599edfef84f61c8211b67ded2b037068d9020&selectedJob=265828365

Backout link: https://hg.mozilla.org/integration/autoland/rev/093599edfef84f61c8211b67ded2b037068d9020

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=265828365&repo=autoland&lineNumber=25858

[task 2019-09-10T00:18:03.614Z] 00:18:03 INFO - TEST-START | ImageSurfacePipeIntegration.ConfiguringHugeDeinterlacingBufferFails
[task 2019-09-10T00:18:03.615Z] 00:18:03 INFO - [1100, Main Thread] WARNING: '!manager || !manager->CanSend() || !gfxVars::UseWebRender()', file /builds/worker/workspace/build/src/gfx/layers/ipc/SharedSurfacesChild.cpp, line 180
[task 2019-09-10T00:18:04.160Z] 00:18:04 WARNING - TEST-UNEXPECTED-FAIL | ImageSurfacePipeIntegration.ConfiguringHugeDeinterlacingBufferFails | Value of: NS_FAILED(rv)
[task 2019-09-10T00:18:04.160Z] 00:18:04 INFO - Actual: false
[task 2019-09-10T00:18:04.161Z] 00:18:04 INFO - Expected: true @ /builds/worker/workspace/build/src/image/test/gtest/Common.h:300
[task 2019-09-10T00:18:04.164Z] 00:18:04 INFO - Assertion failure: mLockCount > 1 || mFinished || mAborted (Should have Finish()'d or aborted before unlocking), at /builds/worker/workspace/build/src/image/imgFrame.cpp:795
[task 2019-09-10T00:18:04.164Z] 00:18:04 INFO - #01: mozilla::image::RawAccessFrameRef::~RawAccessFrameRef() [image/imgFrame.h:433]
[task 2019-09-10T00:18:04.164Z] 00:18:04 INFO - #02: mozilla::image::Decoder::~Decoder() [image/Decoder.cpp:90]
[task 2019-09-10T00:18:04.164Z] 00:18:04 INFO - #03: mozilla::image::nsGIFDecoder2::~nsGIFDecoder2() [image/decoders/nsGIFDecoder2.cpp:98]
[task 2019-09-10T00:18:04.164Z] 00:18:04 INFO - #04: mozilla::image::Decoder::Release() [image/Decoder.h:108]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #05: ImageSurfacePipeIntegration_ConfiguringHugeDeinterlacingBufferFails_Test::TestBody() [image/test/gtest/TestSurfacePipeIntegration.cpp:351]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #06: testing::Test::Run() [testing/gtest/gtest/src/gtest.cc:2526]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #07: testing::TestInfo::Run() [testing/gtest/gtest/src/gtest.cc:2699]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #08: testing::TestCase::Run() [testing/gtest/gtest/src/gtest.cc:2812]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #09: testing::internal::UnitTestImpl::RunAllTests() [testing/gtest/gtest/src/gtest.cc:5178]
[task 2019-09-10T00:18:04.165Z] 00:18:04 INFO - #10: testing::UnitTest::Run() [testing/gtest/gtest/src/gtest.cc:4788]
[task 2019-09-10T00:18:04.166Z] 00:18:04 INFO - #11: mozilla::RunGTestFunc(int*, char**) [testing/gtest/mozilla/GTestRunner.cpp:158]
[task 2019-09-10T00:18:04.166Z] 00:18:04 INFO - #12: XREMain::XRE_mainStartup(bool*) [toolkit/xre/nsAppRunner.cpp:3773]
[task 2019-09-10T00:18:04.166Z] 00:18:04 INFO - #13: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4707]
[task 2019-09-10T00:18:04.166Z] 00:18:04 INFO - #14: XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4801]
[task 2019-09-10T00:18:04.167Z] 00:18:04 INFO - #15: _fini
[task 2019-09-10T00:18:04.167Z] 00:18:04 INFO - #16: libc.so.6 + 0x20830
[task 2019-09-10T00:18:04.167Z] 00:18:04 INFO - #17: _fini
[task 2019-09-10T00:18:04.167Z] 00:18:04 INFO - ExceptionHandler::GenerateDump cloned child 10793
[task 2019-09-10T00:18:04.167Z] 00:18:04 INFO - ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2019-09-10T00:18:04.168Z] 00:18:04 INFO - ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2019-09-10T00:18:04.316Z] 00:18:04 INFO - mozcrash INFO | Copy/paste: /builds/worker/workspace/build/linux64-minidump_stackwalk /builds/worker/workspace/build/tests/gtest/12d34751-be7d-98ef-a295-6315f39f1534.dmp /builds/worker/workspace/build/symbols
[task 2019-09-10T00:18:11.270Z] 00:18:11 INFO - mozcrash INFO | Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/12d34751-be7d-98ef-a295-6315f39f1534.dmp
[task 2019-09-10T00:18:11.270Z] 00:18:11 INFO - mozcrash INFO | Saved app info as /builds/worker/workspace/build/blobber_upload_dir/12d34751-be7d-98ef-a295-6315f39f1534.extra
[task 2019-09-10T00:18:11.271Z] 00:18:11 WARNING - PROCESS-CRASH | gtest | application crashed [@ mozilla::image::imgFrame::UnlockImageData()]
[task 2019-09-10T00:18:11.271Z] 00:18:11 INFO - Crash dump filename: /builds/worker/workspace/build/tests/gtest/12d34751-be7d-98ef-a295-6315f39f1534.dmp
[task 2019-09-10T00:18:11.271Z] 00:18:11 INFO - Operating system: Linux
[task 2019-09-10T00:18:11.271Z] 00:18:11 INFO - 0.0.0 Linux 4.4.0-1014-aws #14taskcluster1-Ubuntu SMP Tue Apr 3 10:27:00 UTC 2018 x86_64
[task 2019-09-10T00:18:11.272Z] 00:18:11 INFO - CPU: amd64
[task 2019-09-10T00:18:11.272Z] 00:18:11 INFO - family 6 model 62 stepping 4
[task 2019-09-10T00:18:11.272Z] 00:18:11 INFO - 8 CPUs
[task 2019-09-10T00:18:11.272Z] 00:18:11 INFO - GPU: UNKNOWN
[task 2019-09-10T00:18:11.272Z] 00:18:11 INFO - Crash reason: SIGSEGV /SEGV_MAPERR
[task 2019-09-10T00:18:11.273Z] 00:18:11 INFO - Crash address: 0x0
[task 2019-09-10T00:18:11.273Z] 00:18:11 INFO - Process uptime: not available
[task 2019-09-10T00:18:11.273Z] 00:18:11 INFO - Thread 0 (crashed)
[task 2019-09-10T00:18:11.273Z] 00:18:11 INFO - 0 libxul.so!mozilla::image::imgFrame::UnlockImageData() [imgFrame.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 794 + 0x29]
[task 2019-09-10T00:18:11.273Z] 00:18:11 INFO - rax = 0x00007fa38d610b08 rdx = 0x0000000000000000
[task 2019-09-10T00:18:11.274Z] 00:18:11 INFO - rcx = 0x000055be58c4dc98 rbx = 0x00007fa37f14cac0
[task 2019-09-10T00:18:11.274Z] 00:18:11 INFO - rsi = 0x00007fa399dae770 rdi = 0x00007fa399dad540
[task 2019-09-10T00:18:11.274Z] 00:18:11 INFO - rbp = 0x00007fff6513ef80 rsp = 0x00007fff6513ef70
[task 2019-09-10T00:18:11.274Z] 00:18:11 INFO - r8 = 0x00007fa399dae770 r9 = 0x00007fa39ae7a740
[task 2019-09-10T00:18:11.274Z] 00:18:11 INFO - r10 = 0x0000000000000000 r11 = 0x0000000000000000
[task 2019-09-10T00:18:11.275Z] 00:18:11 INFO - r12 = 0x00007fa382e9f940 r13 = 0x00007fa3997b2200
[task 2019-09-10T00:18:11.275Z] 00:18:11 INFO - r14 = 0x00007fa37f14cac8 r15 = 0x0000000000000000
[task 2019-09-10T00:18:11.275Z] 00:18:11 INFO - rip = 0x00007fa387c7f136
[task 2019-09-10T00:18:11.275Z] 00:18:11 INFO - Found by: given as instruction pointer in context
[task 2019-09-10T00:18:11.276Z] 00:18:11 INFO - 1 libxul.so!mozilla::image::RawAccessFrameRef::~RawAccessFrameRef() [imgFrame.h:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 431 + 0xd]
[task 2019-09-10T00:18:11.276Z] 00:18:11 INFO - rbx = 0x00007fa37ec83110 rbp = 0x00007fff6513efa0
[task 2019-09-10T00:18:11.276Z] 00:18:11 INFO - rsp = 0x00007fff6513ef90 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.276Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa37ec83000
[task 2019-09-10T00:18:11.276Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa38696c804
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - 2 libxul.so!mozilla::image::Decoder::~Decoder() [Decoder.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 90 + 0x41]
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - rbx = 0x00007fa37ec83000 rbp = 0x00007fff6513efe0
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - rsp = 0x00007fff6513efb0 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa37ec83000
[task 2019-09-10T00:18:11.277Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa387c57d0d
[task 2019-09-10T00:18:11.278Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.278Z] 00:18:11 INFO - 3 libxul.so!mozilla::image::nsGIFDecoder2::~nsGIFDecoder2() [nsGIFDecoder2.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 98 + 0xe]
[task 2019-09-10T00:18:11.278Z] 00:18:11 INFO - rbx = 0x00007fa37ec83000 rbp = 0x00007fff6513f000
[task 2019-09-10T00:18:11.278Z] 00:18:11 INFO - rsp = 0x00007fff6513eff0 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.278Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa37ec83000
[task 2019-09-10T00:18:11.279Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa387ca7e54
[task 2019-09-10T00:18:11.279Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.279Z] 00:18:11 INFO - 4 libxul.so!mozilla::image::Decoder::Release() [Decoder.h:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 108 + 0x3b]
[task 2019-09-10T00:18:11.279Z] 00:18:11 INFO - rbx = 0x0000000000000000 rbp = 0x00007fff6513f020
[task 2019-09-10T00:18:11.279Z] 00:18:11 INFO - rsp = 0x00007fff6513f010 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.280Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa37ec83000
[task 2019-09-10T00:18:11.280Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa38696c6da
[task 2019-09-10T00:18:11.280Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.280Z] 00:18:11 INFO - 5 libxul.so!ImageSurfacePipeIntegration_ConfiguringHugeDeinterlacingBufferFails_Test::TestBody() [TestSurfacePipeIntegration.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 351 + 0x8]
[task 2019-09-10T00:18:11.280Z] 00:18:11 INFO - rbx = 0x00007fff6513f058 rbp = 0x00007fff6513f0b0
[task 2019-09-10T00:18:11.281Z] 00:18:11 INFO - rsp = 0x00007fff6513f030 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.281Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa37ec83000
[task 2019-09-10T00:18:11.281Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa3869e2d8e
[task 2019-09-10T00:18:11.281Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.281Z] 00:18:11 INFO - 6 libxul.so!testing::Test::Run() [gtest.cc:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 2519 + 0xe]
[task 2019-09-10T00:18:11.282Z] 00:18:11 INFO - rbx = 0x00007fa2ed985140 rbp = 0x00007fff6513f0d0
[task 2019-09-10T00:18:11.282Z] 00:18:11 INFO - rsp = 0x00007fff6513f0c0 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.282Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa3997b2200
[task 2019-09-10T00:18:11.282Z] 00:18:11 INFO - r15 = 0x000000005d76ebbb rip = 0x00007fa38687751c
[task 2019-09-10T00:18:11.282Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - 7 libxul.so!testing::TestInfo::Run() [gtest.cc:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 2695 + 0x8]
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - rbx = 0x00007fa2ed985140 rbp = 0x00007fff6513f130
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - rsp = 0x00007fff6513f0e0 r12 = 0x00007fa382e9f940
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa3997b06a0
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - r15 = 0x000000005d76ebbb rip = 0x00007fa386877dd9
[task 2019-09-10T00:18:11.283Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.284Z] 00:18:11 INFO - 8 libxul.so!testing::TestCase::Run() [gtest.cc:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 2813 + 0x2d]
[task 2019-09-10T00:18:11.284Z] 00:18:11 INFO - rbx = 0x0000000000000006 rbp = 0x00007fff6513f190
[task 2019-09-10T00:18:11.284Z] 00:18:11 INFO - rsp = 0x00007fff6513f140 r12 = 0x00007fa3997b2200
[task 2019-09-10T00:18:11.284Z] 00:18:11 INFO - r13 = 0x00007fa3997b2200 r14 = 0x00007fa382e8f740
[task 2019-09-10T00:18:11.284Z] 00:18:11 INFO - r15 = 0x0000000000090a0d rip = 0x00007fa38687823d
[task 2019-09-10T00:18:11.285Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.285Z] 00:18:11 INFO - 9 libxul.so!testing::internal::UnitTestImpl::RunAllTests() [gtest.cc:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 5179 + 0x5]
[task 2019-09-10T00:18:11.285Z] 00:18:11 INFO - rbx = 0x0000000000000000 rbp = 0x00007fff6513f230
[task 2019-09-10T00:18:11.285Z] 00:18:11 INFO - rsp = 0x00007fff6513f1a0 r12 = 0x00007fa3997b2200
[task 2019-09-10T00:18:11.285Z] 00:18:11 INFO - r13 = 0x0000000000000000 r14 = 0x00000000000000e1
[task 2019-09-10T00:18:11.286Z] 00:18:11 INFO - r15 = 0x00007fa3997b06a0 rip = 0x00007fa38687ea68
[task 2019-09-10T00:18:11.286Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.286Z] 00:18:11 INFO - 10 libxul.so!testing::UnitTest::Run() [gtest.cc:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 4788 + 0xd]
[task 2019-09-10T00:18:11.286Z] 00:18:11 INFO - rbx = 0x00007fa3997b2200 rbp = 0x00007fff6513f260
[task 2019-09-10T00:18:11.286Z] 00:18:11 INFO - rsp = 0x00007fff6513f240 r12 = 0x00007fff6513f7df
[task 2019-09-10T00:18:11.287Z] 00:18:11 INFO - r13 = 0x0000000000000001 r14 = 0x00007fff6513f240
[task 2019-09-10T00:18:11.287Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa38687e6bf
[task 2019-09-10T00:18:11.287Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.287Z] 00:18:11 INFO - 11 libxul.so!mozilla::RunGTestFunc(int*, char**) [GTestRunner.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 158 + 0xd]
[task 2019-09-10T00:18:11.287Z] 00:18:11 INFO - rbx = 0x00007fff6513f280 rbp = 0x00007fff6513f390
[task 2019-09-10T00:18:11.288Z] 00:18:11 INFO - rsp = 0x00007fff6513f270 r12 = 0x00007fff6513f7df
[task 2019-09-10T00:18:11.288Z] 00:18:11 INFO - r13 = 0x0000000000000001 r14 = 0x00007fa382ecf9a8
[task 2019-09-10T00:18:11.288Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa386889b5a
[task 2019-09-10T00:18:11.288Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.288Z] 00:18:11 INFO - 12 libxul.so!XREMain::XRE_mainStartup(bool*) [nsAppRunner.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 3773 + 0x10]
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - rbx = 0x00007fff6513f6e8 rbp = 0x00007fff6513f7b0
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - rsp = 0x00007fff6513f3a0 r12 = 0x00007fff6513f7df
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - r13 = 0x0000000000000001 r14 = 0x00007fff6513f6fc
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - r15 = 0x00007fa382d1e260 rip = 0x00007fa38a8c891e
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.289Z] 00:18:11 INFO - 13 libxul.so!XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 4707 + 0x8]
[task 2019-09-10T00:18:11.290Z] 00:18:11 INFO - rbx = 0x00007fa382d24880 rbp = 0x00007fff6513f870
[task 2019-09-10T00:18:11.290Z] 00:18:11 INFO - rsp = 0x00007fff6513f7c0 r12 = 0x00007fa382d247c0
[task 2019-09-10T00:18:11.290Z] 00:18:11 INFO - r13 = 0x00007fff6513f8c0 r14 = 0x00007fff6513f888
[task 2019-09-10T00:18:11.290Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa38a8cf702
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - 14 libxul.so!XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 4801 + 0x11]
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - rbx = 0x00007fff6513f888 rbp = 0x00007fff6513f9d0
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - rsp = 0x00007fff6513f880 r12 = 0x0000000000000003
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - r13 = 0x000055be58c24258 r14 = 0x00007fff6513fa20
[task 2019-09-10T00:18:11.291Z] 00:18:11 INFO - r15 = 0x00007fff65140b38 rip = 0x00007fa38a8cfec4
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - 15 firefox-bin!main [nsBrowserApp.cpp:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 218 + 0x1d]
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - rbx = 0x00007fa38f5733d0 rbp = 0x00007fff65140a50
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - rsp = 0x00007fff6513f9e0 r12 = 0x00007fff65140b38
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - r13 = 0x000055be58c24258 r14 = 0x00007fff6513fa20
[task 2019-09-10T00:18:11.292Z] 00:18:11 INFO - r15 = 0x00007fff65140b75 rip = 0x000055be58babfb9
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - 16 libc-2.23.so + 0x20830
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - rbx = 0x0000000000000000 rbp = 0x000055be58c22f70
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - rsp = 0x00007fff65140a60 r12 = 0x000055be58babb98
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - r13 = 0x00007fff65140b30 r14 = 0x0000000000000000
[task 2019-09-10T00:18:11.293Z] 00:18:11 INFO - r15 = 0x0000000000000000 rip = 0x00007fa399a08830
[task 2019-09-10T00:18:11.294Z] 00:18:11 INFO - Found by: call frame info
[task 2019-09-10T00:18:11.294Z] 00:18:11 INFO - 17 firefox-bin!<name omitted> [UniquePtr.h:3519c255f86ede2d7ebf06ac9df7dd29a1a3eeea : 274 + 0x17]
[task 2019-09-10T00:18:11.294Z] 00:18:11 INFO - rsp = 0x00007fff65140a80 rip = 0x000055be58babd75
[task 2019-09-10T00:18:11.294Z] 00:18:11 INFO - Found by: stack scanning
...

Flags: needinfo?(tnikkel)

Failure is because DeinterlacingFilter::Configure calculates the size of the image in 32bits and it overflows to about 1.5GB, so with a cache size of 1.5GB it is correctly rejected, but with 2GB it is not.

https://searchfox.org/mozilla-central/rev/250f5cc9fb8bdcbb6b23d2a06acfd48addb2f99b/image/SurfaceFilters.h#142

I filed bug 1580087 with patch to fix this and other similar problems I found in imagelib.

Flags: needinfo?(tnikkel)
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8aa4944fef72
Allow the image surface cache to grow beyond 1GB on 64bit builds with sufficient memory. r=aosmond
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Flags: qe-verify+

Hello,

I can confirm that the issue is fixed on Fx 71.0b8 and Fx 71.0b11.

Status: RESOLVED → VERIFIED

Good to know that the bug has finally gone. It was impossible e.g. to browse Tumblr without having a complete crash of the browser after a while.

Too bad in the meantime e.g. YouTube had to remove the ability to browse through videos of big channels (there are many with thousands of videos) since the issue was not solved. By now you can only browse through either the first or the last 1000 videos (ordered by date), but not further since normally it would result in a crash.

Timothy, do you or your colleagues have any contacts within YouTube (Google) to notify them so they could restore full video browsing functionality and finally lift the limitation?

Thanks in advance.

Flags: needinfo?(tnikkel)

(In reply to User Dderss from comment #13)

Good to know that the bug has finally gone. It was impossible e.g. to browse Tumblr without having a complete crash of the browser after a while.

Too bad in the meantime e.g. YouTube had to remove the ability to browse through videos of big channels (there are many with thousands of videos) since the issue was not solved. By now you can only browse through either the first or the last 1000 videos (ordered by date), but not further since normally it would result in a crash.

Timothy, do you or your colleagues have any contacts within YouTube (Google) to notify them so they could restore full video browsing functionality and finally lift the limitation?

Could you file a separate bug for this, in Web Compatibility::Desktop?

Thanks for the advice, Marco. Before filing a bug report, I just re-checked YouTube and found that the limitation has been lifted as far as I could browse. Sorry for the bothering.

Flags: needinfo?(tnikkel)
You need to log in before you can comment on or make changes to this bug.