Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Render crashed with no memory exception #2255

Closed
vincentshow opened this issue Jan 31, 2018 · 9 comments
Closed

Render crashed with no memory exception #2255

vincentshow opened this issue Jan 31, 2018 · 9 comments

Comments

@vincentshow
Copy link

My app using cefsharp57, winform, installed by nuget, and the render is customized. Codes are same with CefSharp.BrowserSubprocess while the project name is myself called JJRender. My problem is the render crashed with no memory exception(I found in the dump file) while the physical memory using was less than 80% shown in task manager. Unfortunately, it could not be reproduced.

  • Here is the summary:
    FOLLOWUP_IP:
    libcef!base::`anonymous namespace'::OnNoMemory+11 [y:\work\cef3_git\chromium\src\base\process\memory_win.cc @ 41]
    105a8d91 68080000e0 push 0E0000008h

SYMBOL_STACK_INDEX: 1

SYMBOL_NAME: libcef!base::`anonymous namespace'::OnNoMemory+11

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: libcef

IMAGE_NAME: libcef.dll

DEBUG_FLR_IMAGE_TIMESTAMP: 58e72b22

STACK_COMMAND: ~13s; .ecxr ; kb

FAILURE_BUCKET_ID: INVALID_POINTER_READ_e0000008_libcef.dll!base::anonymous_namespace::OnNoMemory

BUCKET_ID: APPLICATION_FAULT_INVALID_POINTER_READ_libcef!base::anonymous_namespace::OnNoMemory+11

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/JJRender_exe/3_0_0_0/5a57013a/KERNELBASE_dll/6_1_7601_24000/5a4996d4/e0000008/0000c54f.htm?Retriage=1

Followup: MachineOwner

  • And the stack text is(fraction):

STACK_TEXT:
0804d228 105a8d91 e0000008 00000001 00000000 KERNELBASE!RaiseException+0x58
0804d23c 105a8dab 02e83000 0804d2bc 1219c76e libcef!base::`anonymous namespace'::OnNoMemory+0x11 [y:\work\cef3_git\chromium\src\base\process\memory_win.cc @ 41]
0804d248 1219c76e 02e83000 00000001 04a693e8 libcef!base::TerminateBecauseOutOfMemory+0xb [y:\work\cef3_git\chromium\src\base\process\memory_win.cc @ 50]
0804d2bc 1219c457 0804d310 02e83000 00000001 libcef!discardable_memory::ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory+0x168 [y:\work\cef3_git\chromium\src\components\discardable_memory\client\client_discardable_shared_memory_manager.cc @ 373]
0804d324 107c9652 0804d338 00002e83 00003f00 libcef!discardable_memory::ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory+0x19f [y:\work\cef3_git\chromium\src\components\discardable_memory\client\client_discardable_shared_memory_manager.cc @ 219]
0804d33c 1071af9f 02e83000 0804d8cc 0838ac78 libcef!SkDiscardableMemory::Create+0x22 [y:\work\cef3_git\chromium\src\skia\ext\skdiscardablememory_chrome.cc @ 40]
0804d378 1075b716 0804d8cc 00000000 09f4e570 libcef!SkResourceCacheDiscardableAllocator::allocPixelRef+0x5f [y:\work\cef3_git\chromium\src\third_party\skia\src\core\skresourcecache.cpp @ 195]
0804d7b4 10759d49 0804d8cc 0804d884 0544dcb0 libcef!SkImageGenerator::tryGenerateBitmap+0x126 [y:\work\cef3_git\chromium\src\third_party\skia\src\core\skimagegenerator.cpp @ 142]
0804d828 1075a027 0804d8cc 0804d884 00000000 libcef!SkImageCacherator::generateBitmap+0xa9 [y:\work\cef3_git\chromium\src\third_party\skia\src\core\skimagecacherator.cpp @ 162]

Can you help me get some clues? Thanks a lot.

dump_result.txt
dumps_from_crashpad.zip

@vincentshow
Copy link
Author

same exception but with different stack text:

STACK_TEXT:
0789f280 662d8d91 e0000008 00000001 00000000 KERNELBASE!RaiseException+0x58
0789f294 662d8dab 00040000 0789f2d4 68b74f58 libcef!base::anonymous namespace'::OnNoMemory+0x11 [y:\work\cef3_git\chromium\src\base\process\memory_win.cc @ 41] 0789f2a0 68b74f58 00040000 0789f2cc 0789f2d0 libcef!base::TerminateBecauseOutOfMemory+0xb [y:\work\cef3_git\chromium\src\base\process\memory_win.cc @ 50] 0789f2d4 68b74e68 08457f30 00040000 054dd2f0 libcef!content::anonymous namespace'::CollectMemoryUsageAndDie+0x7b [y:\work\cef3_git\chromium\src\content\child\child_shared_bitmap_manager.cc @ 79]
0789f330 6639f14e 0789f4ac 0ef1c4e8 0846a550 libcef!content::ChildSharedBitmapManager::AllocateSharedBitmap+0xda [y:\work\cef3_git\chromium\src\content\child\child_shared_bitmap_manager.cc @ 108]
0789f610 6639ef1a 0ef1c4e8 0846a550 0f32bf80 libcef!cc::ResourceProvider::CreateBitmap+0x2e [y:\work\cef3_git\chromium\src\cc\resources\resource_provider.cc @ 659]
0789f6e0 6639ba40 0ef1c4e8 00000001 00000000 libcef!cc::ResourceProvider::CreateResource+0xba [y:\work\cef3_git\chromium\src\cc\resources\resource_provider.cc @ 601]
0789f71c 6638b397 0ef1c4e8 00000000 0846a550 libcef!cc::ResourcePool::CreateResource+0x80 [y:\work\cef3_git\chromium\src\cc\resources\resource_pool.cc @ 147]
0789f794 6638a97c 0789f850 1db81d40 0846a550 libcef!cc::TileManager::CreateRasterTask+0xb7 [y:\work\cef3_git\chromium\src\cc\tiles\tile_manager.cc @ 989]
0789f8dc 663893a1 0789f938 6994769c 0558f1e8 libcef!cc::TileManager::ScheduleTasks+0x22c [y:\work\cef3_git\chromium\src\cc\tiles\tile_manager.cc @ 861]
0789f950 6636b5eb 0558f2d0 08272aa0 0558f1e8 libcef!cc::TileManager::PrepareTiles+0x1b1 [y:\work\cef3_git\chromium\src\cc\tiles\tile_manager.cc @ 506]
0789f960 6636b0a8 6994769c 0558df6c 0789f988 libcef!cc::LayerTreeHostImpl::PrepareTiles+0x2b [y:\work\cef3_git\chromium\src\cc\trees\layer_tree_host_impl.cc @ 514]
0789f988 66e6ec18 00000002 08272968 0789f9ac libcef!cc::LayerTreeHostImpl::CommitComplete+0x138 [y:\work\cef3_git\chromium\src\cc\trees\layer_tree_host_impl.cc @ 386]
0789f9b0 66e71ac0 08272968 6994769c 699475c4 libcef!cc::ProxyImpl::ScheduledActionCommit+0xf8 [y:\work\cef3_git\chromium\src\cc\trees\proxy_impl.cc @ 518]
0789f9f8 66e6ffca 0558df68 6994769c 00000000 libcef!cc::Scheduler::ProcessScheduledActions+0x130 [y:\work\cef3_git\chromium\src\cc\scheduler\scheduler.cc @ 615]
0789fa20 66e6daba 0789fbe8 66e6d9d0 00000000 libcef!cc::Scheduler::NotifyReadyToCommit+0x8a [y:\work\cef3_git\chromium\src\cc\scheduler\scheduler.cc @ 162]
0789fa44 662ea88a 0789fa6c 66e62013 0038e744 libcef!cc::ProxyImpl::NotifyReadyToCommitOnImpl+0xea [y:\work\cef3_git\chromium\src\cc\trees\proxy_impl.cc @ 256]
0789fb54 6632bda9 054b180c 054c04d8 00000000 libcef!tracked_objects::ThreadData::Get+0x3a [y:\work\cef3_git\chromium\src\base\tracked_objects.cc @ 459]
0789fc28 6632d558 00000000 0789fca0 77354099 libcef!base::internal::IncomingTaskQueue::ReloadWorkQueue+0x59 [y:\work\cef3_git\chromium\src\base\message_loop\incoming_task_queue.cc @ 112]
0789fc50 663047b2 054c04d8 05499e14 00017182 libcef!base::MessagePumpDefault::Run+0x98 [y:\work\cef3_git\chromium\src\base\message_loop\message_pump_default.cc @ 34]
0789fc74 662f5e5b 0789fcd8 662f6058 0789fca0 libcef!base::RunLoop::Run+0x82 [y:\work\cef3_git\chromium\src\base\run_loop.cc @ 38]
0789fc7c 662f6058 0789fca0 05522638 76231420 libcef!base::Thread::Run+0xb [y:\work\cef3_git\chromium\src\base\threading\thread.cc @ 246]
0789fcd8 662b3332 00000000 00000000 05522638 libcef!base::Thread::ThreadMain+0x148 [y:\work\cef3_git\chromium\src\base\threading\thread.cc @ 331]
0789fcf4 7623343d 0000042c 0789fd40 77359832 libcef!base::`anonymous namespace'::ThreadFunc+0x82 [y:\work\cef3_git\chromium\src\base\threading\platform_thread_win.cc @ 86]
0789fd00 77359832 05522638 70cab687 00000000 KERNEL32!BaseThreadInitThunk+0xe
0789fd40 77359805 662b32b0 05522638 00000000 ntdll!__RtlUserThreadStart+0x70
0789fd58 00000000 662b32b0 05522638 00000000 ntdll!_RtlUserThreadStart+0x1b

dump_from_crashpad2.zip
dump_result2.txt

@amaitland
Copy link
Member

@vincentshow
Copy link
Author

That was referred 5 months ago and my render was built with
call "$(DevEnvDir)..\tools\vsvars32.bat" editbin /largeaddressaware "$(TargetPath)"
in it's post-build event.
If I remove this event, I'll get no memory exception when open a large image. But in above scenario I mentioned, it was different. It can open large image in lower physical memory used while crashed when the physical memory used percent reached a level (like 80%, 76%, 88% etc. it is unpredictable). Can you get clues in the dump file?

@amaitland
Copy link
Member

Please use the Bug Report template provided at https://github.com/cefsharp/CefSharp/blob/master/ISSUE_TEMPLATE.md#bug-report

@perlun
Copy link
Member

perlun commented Jan 31, 2018

@vincentshow This could be a dupe of #2170. Could you try with one of the latest prereleases and see if the problem persists? (see that issue for more details)

@vincentshow
Copy link
Author

@perlun I'm trying, thank you first.
@amaitland I think I've written all information mentioned in the template except my app ran on win7 platform. What do you need?

@amaitland
Copy link
Member

@amaitland I think I've written all information mentioned in the template except my app ran on win7 platform. What do you need?

You haven't specified explicitly if your using x86 or x64, I can infer from your comment that it's x86, have you tested with cefclient to isolate if it's a CefSharp problem? No mention of how to reproduce the problem. Nothing you've posted is formatted, so it's incredibly hard to read. If you use the template it makes my life easier. The more effort you put in the more likely you are to get a meaningful response, I personally am very busy and I know others are also. It's a very simple request. If upgrading doesn't solve your problem then please fill it out. The time it took me to write this is less time I have to actually help people...

@vincentshow
Copy link
Author

OK. I've upgraded to 63.0-pre and pushed to some guys to verify this problem. But I encounter another question after upgrading.

There're many sub windows in my app and the open logic is same with cefsharp57.0. I‘ve’ closed GPU-Acceleration before creating cefbrowser by follow code which refer to QA wiki in this repository:
settings.CefCommandLineArgs.Add("disable-gpu", "1");

Image viewer is one of the sub windows that provides local image view function. But when I create this sub window, there's a render process with "--type=gpu-process" in task manager while other windows don't. This isn't normal, is it? What can I do to prevent the creation of gpu process?

And this is chrome://version shown in 63.0 cefsharp:
131619451214607900

@amaitland
Copy link
Member

Closing as duplicate of #2170

Image viewer is one of the sub windows that provides local image view function. But when I create this sub window, there's a render process with "--type=gpu-process" in task manager while other windows don't. This isn't normal, is it? What can I do to prevent the creation of gpu process?

See https://github.com/cefsharp/CefSharp/blob/master/CONTRIBUTING.md#cefsharp-vs-chromium-embedded-frameworkcef

If the command line args are being passed in correctly then it's probably a bug in CEF for which you'll have to test with the Sample Application provided in the link and then report on http://magpcss.org/ceforum/index.php

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants