[Webkit-unassigned] [Bug 97528] New: [EFL][WK2] clear provider on destructor of Vibration, Battery, NetworkInfo Provider

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 24 23:19:44 PDT 2012


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

           Summary: [EFL][WK2] clear provider on destructor of
                    Vibration,Battery,NetworkInfo Provider
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit EFL
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: bw80.lee at samsung.com
                CC: demarchi at webkit.org


Sometimes there is a crash on ewk_context_new and the callstack is as below.

#0  0xb7146fb8 in VibrationProvider::cancelVibration (this=0xadb058b0) at Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp:99
#1  0xb7146d14 in cancelVibrationCallback (clientInfo=0xadb058b0) at Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp:65
#2  0xb70784e8 in WebKit::WebVibrationProvider::cancelVibration (this=0xadb128f4, vibration=0xadb128e8) at Source/WebKit2/UIProcess/WebVibrationProvider.cpp:49
#3  0xb707873f in WebKit::WebVibrationProxy::cancelVibration (this=0xadb128e8) at Source/WebKit2/UIProcess/WebVibrationProxy.cpp:71
#4  0xb7078663 in WebKit::WebVibrationProxy::invalidate (this=0xadb128e8) at Source/WebKit2/UIProcess/WebVibrationProxy.cpp:51
#5  0xb6ff550c in WebKit::WebContext::~WebContext (this=0xadb122b0, __in_chrg=<optimized out>) at Source/WebKit2/UIProcess/WebContext.cpp:226
#6  0xb6ff5799 in WebKit::WebContext::~WebContext (this=0xadb122b0, __in_chrg=<optimized out>) at Source/WebKit2/UIProcess/WebContext.cpp:237
#7  0xb6f994eb in WTF::ThreadSafeRefCounted<WebKit::APIObject>::deref (this=0xadb122b4) at Source/WTF/wtf/ThreadSafeRefCounted.h:137
#8  0xb6fdac48 in WKRelease (typeRef=0xadb122b0) at Source/WebKit2/Shared/API/c/WKType.cpp:47
#9  0xb714bc81 in WebKit::WKRetainPtr<OpaqueWKContext const*>::~WKRetainPtr (this=0xadb1292c, __in_chrg=<optimized out>)
    at Source/WebKit2/UIProcess/API/cpp/WKRetainPtr.h:86
#10 0xb714bb9f in _Ewk_Context::~_Ewk_Context (this=0xadb12928, __in_chrg=<optimized out>) at Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:109
#11 0xb714ac66 in ewk_context_unref (ewkContext=0xadb12928) at Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:136
#12 0x08054627 in EWK2UnitTestBase_ewk_context_new_Test::TestBody (this=0xadb00860) at Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:159
#13 0xb69dc828 in testing::Test::Run (this=0xadb00860) at Source/ThirdParty/gtest/src/gtest.cc:2095
#14 0xb69dce83 in testing::internal::TestInfoImpl::Run (this=0x8063010) at Source/ThirdParty/gtest/src/gtest.cc:2314
#15 0xb69dd3e5 in testing::TestCase::Run (this=0x8062c80) at Source/ThirdParty/gtest/src/gtest.cc:2420
#16 0xb69e1b38 in testing::internal::UnitTestImpl::RunAllTests (this=0x8062a48) at Source/ThirdParty/gtest/src/gtest.cc:4024
#17 0xb69e0a34 in testing::UnitTest::Run (this=0xb6a19b20) at Source/ThirdParty/gtest/src/gtest.cc:3687
#18 0x08059582 in main (argc=1, argv=0xbffff1b4) at Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:52

Before this callstack ~VibrationProvider() is called but provider for vibration is not cleared in the function.
So the dangling pointer for the VibrationProvider is accessed at the #2 frame.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list