big problem in Chromium, may be memory leak

Issue #1858 wontfix
tang miacle created an issue

well, this problem troubled me a lot time. so I decide to tell you for CEF Successful when I use CEF, I transfer data from C++ to JS for render, I need convert base64 format. when i transfer a little time about five minutes, the chromium will be crash. Probability of Occurrence is 100%, I try to test a few version, it will crash all. attachment is the crash pdb code. error1.png all crash version: CEF 3.2556.1368.g535c4fb win32 CEF 3.2526.1373.gb660893 (103MB) win32 error2.png I use CEF in the singleprocess, when I user CEF in MutilProcess, it will crash also, but in mutilProcess it can run more time.

​if the transfer data is bigger, the crash time is little. I transfer data that is 2304KB , the bitmap is 1024 * 768, it will crash in five minute. I hope google will fix this problem, chromium and cef is great project and I am chromium fans.

Comments (7)

  1. tang miacle reporter

    when i render the video data, it will crash too, I transfer video data from c++ to js, video size is 1024*768 env: vs2008 win32 error3.png

  2. Marshall Greenblatt

    What OS and CEF version are you using? Does the problem reproduce in cefclient?

    It looks like you're running out of memory in the renderer process. Are you properly releasing CefRefPtr references when they're no longer needed?

    You can try increasing the available memory as described in issue #1855.

  3. tang miacle reporter

    thank you for reply. my os is window 7, the CEF version is 3.2556.1368 but in 3.2623.1395 and 3.2526.1373 also have the problem. the cefclient has no such use. but as long as you add some code, the bug problem will be appear. please use single_process and add the code like this:

    //in a thread to do
        int nsize = 1024 * 1024 * 2;
        std::string download_data1(nsize, 'k');
        while (!Terminated())
        {
            if(true)
            {
    
                CefRefPtr<CefListValue> retlist = CefListValue::Create();
                CefString strval = CefBase64Encode(download_data1.c_str(), nsize);
                retlist->SetString(0, strval);
    
                CefPostTask(TID_RENDERER,    //just change ceflistvalue to v8value and to do executeCallBack
                   base::Bind(
                     &CefJSMgr::executeCallBack, CefJSMgr::getInstance(),
                        commandid, contextid, browserid, 0, retlist));
            }
            ::Sleep(30);
        }
    

    i think i deal with CefRefPtr well, and the bug appear on different computers. my memory is 8GB and CPU is i5. hope for reply, thank you

  4. wudan

    I also doubt that CEF or Chromium has memory leak problem. I have modified the cefsimple program make it worked like crawler and it's step as follow:

    1. Create a child thread from browser process,and call LoadURL method to load a page

    2. When the page has loaded,the child thread get the page's html source and get links from it

    3. Child thread select a url from links and call LoadURL method to load a page again.

    when the program running, it's render process‘s memory use continuous increase and up to 1G, then it crashed.I think you can reproduce it as my step and may solve this problem.

  5. Said Elkhazendar

    I experienced the same issue in Cefclient.exe when playing You Tube or Daily motion, where "enable-widevine-cdm" and "enable-system-flash" switches are enabled on the Windows 8.1 x64 bit OS. Using Branch 2526 x86 and x64 have memory accumulation issue when playing videos.

  6. Marshall Greenblatt

    I'm not seeing anything in this issue to suggest that there is a memory leak in CEF code vs Chromium, Blink or the client application. Marking as WontFix.

  7. Log in to comment