WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
89341
[Chromium] iccjpeg doesn't work with browser_tests
https://bugs.webkit.org/show_bug.cgi?id=89341
Summary
[Chromium] iccjpeg doesn't work with browser_tests
Hajime Morrita
Reported
2012-06-18 03:18:50 PDT
hbono@ kindly told me that some browser_tests runs renderer in a separate thread and that breaks this assumption. ------------ Failing build:
http://build.chromium.org/p/chromium.webkit/builders/Win%20%28dbg%29/builds/6633
Stack trace (It looks that the callstack is broken): ASSERTION FAILED: isMainThread() Backtrace: WebKit::WebAccessibilityObject::canSetFocusAttribute [0x67629896+24421926] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x676297A5+24421685] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x676292CD+24420445] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x6762A931+24426177] wk_png_get_y_pixels_per_meter [0x73627BD5+26440] wk_png_get_y_pixels_per_meter [0x736259E6+17753] wk_png_get_y_pixels_per_meter [0x736253FE+16241] wk_png_get_y_pixels_per_meter [0x7362538E+16129] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x6762AA7B+24426507] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x6762A676+24425478] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x67628FF7+24419719] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x674F4BC3+23157075] WebKit::WebAccessibilityObject::canSetFocusAttribute [0x6602B5EC+1360764] webkit_glue::WebFileUtilitiesImpl::operator= [0x7026EE22+455323] ovly_debug_event [0x01BD9613+890083] ovly_debug_event [0x01BE0FB4+921220] ovly_debug_event [0x01BE0EA1+920945] ovly_debug_event [0x01BE0C6D+920381] logging::SetMinLogLevel [0x73E2001F+398312] logging::SetMinLogLevel [0x73E26B9F+425832] logging::SetMinLogLevel [0x73E26E23+426476] logging::SetMinLogLevel [0x73E27C96+430175] logging::SetMinLogLevel [0x73E3EE94+524893] logging::SetMinLogLevel [0x73E3E0D2+521371] logging::SetMinLogLevel [0x73DD2B2C+81653] logging::SetMinLogLevel [0x73E26789+424786] logging::SetMinLogLevel [0x73E264DE+424103] logging::SetMinLogLevel [0x73E257C0+420745] logging::SetMinLogLevel [0x73FA23B6+1980287] logging::SetMinLogLevel [0x73FA256B+1980724] logging::SetMinLogLevel [0x73F9E840+1965065] BaseThreadInitThunk [0x74B7339A+18] RtlInitializeExceptionChain [0x771A9EF2+99] RtlInitializeExceptionChain [0x771A9EC5+54] Starting tests...
Attachments
Add attachment
proposed patch, testcase, etc.
Hajime Morrita
Comment 1
2012-06-18 03:26:32 PDT
Landed a bandaid fix:
http://trac.webkit.org/changeset/120582
A straightforward fix might be calling this function somehow from a WebKit initialization routine.
Hironori Bono
Comment 2
2012-06-18 03:30:27 PDT
Greetings, This is the actual stacktrace captured on my Win7 PC + VS2010 when running "browser_tests.exe --gtest_filter=BrowserActionApiTest.Basic". I wish it helps. Backtrace: webkit.dll!WebCore::ImageDecoder::qcmsOutputDeviceProfile() Line 307 C++ webkit.dll!WebCore::PNGImageReader::createColorTransform(const WTF::Vector<char,0> & colorProfile={...}, bool hasAlpha=true) Line 196 + 0x5 bytes C++ webkit.dll!WebCore::PNGImageDecoder::headerAvailable() Line 347 C++ webkit.dll!WebCore::headerAvailable(png_struct_def * png=0x1625bfa8, png_info_struct * __formal=0x1625fe38) Line 96 C++ libpng.dll!wk_png_push_have_info(png_struct_def * png_ptr=0x1625bfa8, png_info_struct * info_ptr=0x1625fe38) Line 1717 + 0x15 bytes C libpng.dll!wk_png_push_read_chunk(png_struct_def * png_ptr=0x1625bfa8, png_info_struct * info_ptr=0x1625fe38) Line 333 + 0xd bytes C libpng.dll!wk_png_process_some_data(png_struct_def * png_ptr=0x1625bfa8, png_info_struct * info_ptr=0x1625fe38) Line 64 + 0xd bytes C libpng.dll!wk_png_process_data(png_struct_def * png_ptr=0x1625bfa8, png_info_struct * info_ptr=0x1625fe38, unsigned char * buffer=0x1625b310, unsigned int buffer_size=2799) Line 41 + 0xd bytes C webkit.dll!WebCore::PNGImageReader::decode(const WebCore::SharedBuffer & data={...}, bool sizeOnly=true) Line 162 + 0x1d bytes C++ webkit.dll!WebCore::PNGImageDecoder::decode(bool onlySize=true) Line 544 + 0x23 bytes C++ webkit.dll!WebCore::PNGImageDecoder::isSizeAvailable() Line 241 C++ webkit.dll!WebCore::ImageSource::isSizeAvailable() Line 99 + 0x1b bytes C++ webkit.dll!WebKit::WebImage::fromData(const WebKit::WebData & data={...}, const WebKit::WebSize & desiredSize={...}) Line 54 + 0x8 bytes C++ glue.dll!webkit_glue::ImageDecoder::Decode(const unsigned char * data=0x1625a798, unsigned int size=2799) Line 29 + 0x40 bytes C++ browser_tests.exe!ImageLoadingTracker::ImageLoader::LoadOnFileThread(const ExtensionResource & resource={...}, const gfx::Size & max_size={...}, int id=0) Line 103 + 0x1f bytes C++ browser_tests.exe!base::internal::RunnableAdapter<void (__thiscall ImageLoadingTracker::ImageLoader::*)(ExtensionResource const &,gfx::Size const &,int)>::Run(ImageLoadingTracker::ImageLoader * object=0x16259b18, const ExtensionResource & a1={...}, const gfx::Size & a2={...}, const int & a3=0) Line 309 + 0x35 bytes C++ browser_tests.exe!base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__thiscall ImageLoadingTracker::ImageLoader::*)(ExtensionResource const &,gfx::Size const &,int)>,void __cdecl(ImageLoadingTracker::ImageLoader * const &,ExtensionResource const &,gfx::Size const &,int const &)>::MakeItSo(base::internal::RunnableAdapter<void (__thiscall ImageLoadingTracker::ImageLoader::*)(ExtensionResource const &,gfx::Size const &,int)> runnable={...}, ImageLoadingTracker::ImageLoader * const & a1=0x16259b18, const ExtensionResource & a2={...}, const gfx::Size & a3={...}, const int & a4=0) Line 958 C++ browser_tests.exe!base::internal::Invoker<4,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall ImageLoadingTracker::ImageLoader::*)(ExtensionResource const &,gfx::Size const &,int)>,void __cdecl(ImageLoadingTracker::ImageLoader *,ExtensionResource const &,gfx::Size const &,int),void __cdecl(ImageLoadingTracker::ImageLoader *,ExtensionResource,gfx::Size,int)>,void __cdecl(ImageLoadingTracker::ImageLoader *,ExtensionResource const &,gfx::Size const &,int)>::Run(base::internal::BindStateBase * base=0x1625a378) Line 1569 + 0x40 bytes C++ base.dll!base::Callback<void __cdecl(void)>::Run() Line 272 + 0xe bytes C++ base.dll!MessageLoop::RunTask(const base::PendingTask & pending_task={...}) Line 467 C++ base.dll!MessageLoop::DeferOrRunPendingTask(const base::PendingTask & pending_task={...}) Line 480 C++ base.dll!MessageLoop::DoWork() Line 654 + 0xc bytes C++ base.dll!base::MessagePumpForUI::DoRunLoop() Line 239 + 0x1d bytes C++ base.dll!base::MessagePumpWin::RunWithDispatcher(base::MessagePump::Delegate * delegate=0x13dafac8, base::MessagePumpDispatcher * dispatcher=0x00000000) Line 64 + 0xf bytes C++ base.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate=0x13dafac8) Line 48 + 0x1c bytes C++ base.dll!MessageLoop::RunInternal() Line 424 + 0x29 bytes C++ base.dll!MessageLoop::RunHandler() Line 398 C++ base.dll!MessageLoop::Run() Line 308 C++ base.dll!base::Thread::Run(MessageLoop * message_loop=0x13dafac8) Line 134 C++ base.dll!base::Thread::ThreadMain() Line 169 + 0x16 bytes C++ base.dll!base::`anonymous namespace'::ThreadFunc(void * params=0x125c3978) Line 59 + 0xf bytes C++ kernel32.dll!753d339a() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!77c29ef2() ntdll.dll!77c29ec5() Regards, Hironori Bono
Hironori Bono
Comment 3
2012-06-18 19:48:07 PDT
Greetings, To look at this stacktrace, it seems extension code decodes images on a FILE thread with WebKit: <
http://code.google.com/searchframe#OAMlx_jo-ck/src/chrome/browser/extensions/image_loading_tracker.cc&exact_package=chromium&l=103
>. Regards, Hironori Bono
Adam Barth
Comment 4
2012-06-18 22:14:56 PDT
> To look at this stacktrace, it seems extension code decodes images on a FILE thread with WebKit: <
http://code.google.com/searchframe#OAMlx_jo-ck/src/chrome/browser/extensions/image_loading_tracker.cc&exact_package=chromium&l=103
>.
The browser process is not allowed to decode images. That code will likely need to be changed. Would you be willing to file a crbug.com about it and CC me?
Hironori Bono
Comment 5
2012-06-19 00:55:39 PDT
Greetings, Sure. I have filed <
http://crbug.com/133471
>. Regards, Hironori Bono (In reply to
comment #4
)
> The browser process is not allowed to decode images. That code will likely need to be changed. Would you be willing to file a crbug.com about it and CC me?
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug