roadlabs / chromiumembedded

Automatically exported from code.google.com/p/chromiumembedded
0 stars 1 forks source link

Crash on opening a certain local file #132

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1. Download and extract 
http://github.com/paulirish/html5-boilerplate/zipball/v0.9.1
2. Open the file "index.html" locally in cefclient.exe
3. Crash

Using CEF R100 on Windows Vista 64-bit.  Not sure if this is relevant or not, 
but when I open the same index.html in standalone Chrome, it continues 
"loading" the file forever.

Here is a stack trace of the thread called '_threadstartex' which throws the 
exception (Access violation writing location 0x000000d0):

    ntdll.dll!_RtlEnterCriticalSection@4()  + 0x12 bytes    
>   libcef.dll!LockImpl::Lock()  Line 56    C++
    libcef.dll!MessageLoop::PostTask_Helper(const tracked_objects::Location & from_here={...}, Task * task=0x076019e8, __int64 delay_ms=0x0000000000000000, bool nestable=true)  Line 288   C++
    libcef.dll!MessageLoop::PostTask(const tracked_objects::Location & from_here={...}, Task * task=0x076019e8)  Line 248   C++
    libcef.dll!webkit_glue::WebKitClientImpl::callOnMainThread(void (void)* func=0x5c09b950)  Line 343 + 0x50 bytes C++
    libcef.dll!WTF::ChromiumThreading::scheduleDispatchFunctionsOnMainThread()  Line 48 C++
    libcef.dll!WebCore::Document::postTask(WTF::PassOwnPtr<WebCore::ScriptExecutionContext::Task> task={...})  Line 4722    C++
    libcef.dll!WebCore::Database::close(WebCore::Database::ClosePolicy policy=DoNotRemoveDatabaseFromContext)  Line 452 + 0x31 bytes    C++
    libcef.dll!WebCore::DatabaseThread::databaseThread()  Line 116 + 0x9 bytes  C++
    libcef.dll!WTF::threadEntryPoint(void * contextData=0x07600fc0)  Line 65 + 0x3 bytes    C++
    libcef.dll!WTF::wtfThreadEntryPoint(void * param=0x07609580)  Line 206 + 0x3 bytes  C++
    libcef.dll!_callthreadstartex()  Line 348 + 0x6 bytes   C
    libcef.dll!_threadstartex(void * ptd=0x07643038)  Line 326 + 0x5 bytes  C
    kernel32.dll!@BaseThreadInitThunk@12()  + 0xe bytes 
    ntdll.dll!___RtlUserThreadStart@8()  + 0x23 bytes   
    ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes    

Here is the stack trace of the 'anonymous namespace'::ThreadFunc thread (not 
sure if this is related or not):

    ntdll.dll!_ZwQueryAttributesFile@8()  + 0x12 bytes  
    kernel32.dll!_GetFileAttributesW@4()  + 0x52 bytes  
>   libcef.dll!file_util::DirectoryExists(const FilePath & path={...})  Line 
243 C++
    libcef.dll!file_util::EnsureEndsWithSeparator(FilePath * path=0x0787f6c8)  Line 37 + 0xa bytes  C++
    libcef.dll!URLRequestFileJob::Factory(URLRequest * request=0x09901348, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & scheme="file")  Line 85 + 0x36 bytes    C++
    libcef.dll!URLRequestJobManager::CreateJob(URLRequest * request=0x09901348)  Line 87 + 0x12 bytes   C++
    libcef.dll!URLRequest::Start()  Line 253 + 0xd bytes    C++
    libcef.dll!`anonymous namespace'::RequestProxy::AsyncStart(`anonymous-namespace'::RequestParams * params=0x07633ad0)  Line 329  C++
    libcef.dll!RunnableMethod<media::OmxCodec,void (__thiscall media::OmxCodec::*)(OMX_BUFFERHEADERTYPE *),Tuple1<OMX_BUFFERHEADERTYPE *> >::Run()  Line 296 + 0xf bytes    C++
    libcef.dll!MessageLoop::RunTask(Task * task=0x07641950)  Line 330   C++
    libcef.dll!MessageLoop::DoWork()  Line 444 + 0x8 bytes  C++
    libcef.dll!base::MessagePumpForIO::DoRunLoop()  Line 472 + 0x13 bytes   C++
    libcef.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate=0x0787fb94)  Line 78 + 0x42 bytes   C++
    libcef.dll!MessageLoop::RunInternal()  Line 205 + 0xb bytes C++
    libcef.dll!MessageLoop::Run()  Line 156 C++
    libcef.dll!base::Thread::Run(MessageLoop * message_loop=0x0787fb94)  Line 134   C++
    libcef.dll!base::Thread::ThreadMain()  Line 158 C++
    libcef.dll!`anonymous namespace'::ThreadFunc(void * closure=0x064ae640)  Line 27    C++
    kernel32.dll!@BaseThreadInitThunk@12()  + 0xe bytes 
    ntdll.dll!___RtlUserThreadStart@8()  + 0x23 bytes   
    ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes    

Original issue reported on code.google.com by skybo...@gmail.com on 13 Oct 2010 at 6:58

GoogleCodeExporter commented 9 years ago
Update: It looks to me like the problem is being caused by the HTML5 local data 
storage feature.

You can repro this more simply by just opening http://www.modernizr.com in the 
cefclient.exe, it crashes immediately with the same exception.

Original comment by skybo...@gmail.com on 20 Oct 2010 at 4:02

GoogleCodeExporter commented 9 years ago
Here is the debug log.

Original comment by skybo...@gmail.com on 20 Oct 2010 at 4:05

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by magreenb...@gmail.com on 21 Oct 2010 at 8:57

GoogleCodeExporter commented 9 years ago
Fixed in revision 122.

Original comment by magreenb...@gmail.com on 22 Oct 2010 at 12:14