[Webkit-unassigned] [Bug 201303] [GTK] IconDatabase::writeToDatabase tries to use RefPtrs across threads

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 11 04:00:49 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=201303

--- Comment #1 from Charlie Turner <cturner at igalia.com> ---
Another issue I am hitting, triggered by new assertions in https://bugs.webkit.org/show_bug.cgi?id=200734

IconDatabase::IconRecord::setImageData is creating a BitmapImage from its sync-thread. This class now has to be created / destroyed on the main thread since internall it uses an ImageSource which has this constraint.

#0  0x00007f568af0b7db in WTFCrash () at /home/cturner/webkit/webkit-git/Source/WTF/wtf/Assertions.cpp:305
#1  0x00007f5698740e6f in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:658
#2  0x00007f569b926479 in WebCore::ImageSource::ImageSource (this=0x7f561c0204e0, image=0x7f561c01e960, alphaOption=WebCore::AlphaOption::Premultiplied, 
    gammaAndColorProfileOption=WebCore::GammaAndColorProfileOption::Applied) at /home/cturner/webkit/webkit-git/Source/WebCore/platform/graphics/ImageSource.cpp:51
#3  0x00007f569b893936 in WebCore::ImageSource::create (image=0x7f561c01e960, alphaOption=WebCore::AlphaOption::Premultiplied, 
    gammaAndColorProfileOption=WebCore::GammaAndColorProfileOption::Applied) at /home/cturner/webkit/webkit-git/Source/WebCore/platform/graphics/ImageSource.h:50
#4  0x00007f569b885d3e in WebCore::BitmapImage::BitmapImage (this=0x7f561c01e960, observer=0x0) at /home/cturner/webkit/webkit-git/Source/WebCore/platform/graphics/BitmapImage.cpp:46
#5  0x00007f56991cd830 in WebCore::BitmapImage::create (observer=0x0) at DerivedSources/ForwardingHeaders/WebCore/BitmapImage.h:62
#6  0x00007f56991c0b3f in WebKit::IconDatabase::IconRecord::setImageData (this=0x7f561c01d7c0, data=...)
    at /home/cturner/webkit/webkit-git/Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:127
#7  0x00007f56991c720c in WebKit::IconDatabase::readFromDatabase (this=0x55e88bc03940) at /home/cturner/webkit/webkit-git/Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:1385
#8  0x00007f56991c6965 in WebKit::IconDatabase::syncThreadMainLoop (this=0x55e88bc03940) at /home/cturner/webkit/webkit-git/Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:1260
#9  0x00007f56991c4fa6 in WebKit::IconDatabase::iconDatabaseSyncThread (this=0x55e88bc03940) at /home/cturner/webkit/webkit-git/Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:931
#10 0x00007f56991c10c7 in WebKit::IconDatabase::<lambda()>::operator()(void) const (__closure=0x55e88bc5ee78)
    at /home/cturner/webkit/webkit-git/Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:223
#11 0x00007f56991cd0ba in WTF::Detail::CallableWrapper<WebKit::IconDatabase::open(const WTF::String&, const WTF::String&)::<lambda()>, void>::call(void) (this=0x55e88bc5ee70)
    at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#12 0x00007f5698828399 in WTF::Function<void ()>::operator()() const (this=0x7f56318e3c30) at DerivedSources/ForwardingHeaders/wtf/Function.h:79
#13 0x00007f568af42a7d in WTF::Thread::entryPoint (newThreadContext=0x55e88bc5f120) at /home/cturner/webkit/webkit-git/Source/WTF/wtf/Threading.cpp:148
#14 0x00007f568afc1963 in WTF::wtfThreadEntryPoint (context=0x55e88bc5f120) at /home/cturner/webkit/webkit-git/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:200
#15 0x00007f568789a6db in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#16 0x00007f56875c388f in clone () from /lib/x86_64-linux-gnu/libc.so.6

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190911/81d50744/attachment-0001.html>


More information about the webkit-unassigned mailing list