Summary: | static destructors calling Timer.stop in wrong thread | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Olaf Flebbe <o.flebbe> | ||||||||||
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||||||||
Status: | NEW --- | ||||||||||||
Severity: | Normal | CC: | bugs-noreply, eric, mrobinson, webkit.review.bot, xan.lopez | ||||||||||
Priority: | P2 | ||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Linux | ||||||||||||
Attachments: |
|
Description
Olaf Flebbe
2011-07-05 03:09:08 PDT
Created attachment 99689 [details]
Patch to GtkLauncher, just to demonstrate the Problem compile with --enable-debug !
Sorry Cut'n'paste happend here. Since bugzilla tickets can't be editet: Please omit text between the second "I have filed a problem" until "to be used later on". Nice catch! We normally use a different idiom for these: static PurgeScratchBufferTimer& purgeScratchBufferTimer() { DEFINE_STATIC_LOCAL(PurgeScratchBufferTimer, staticTimer, ()); return staticTimer; } To get the fix reviewed and accepted, you'll need to add a ChangeLog, and to mark the patch for review: <http://www.webkit.org/coding/contributing.html>. Hi, I reformatted the Patch as suggested and added a testcase, but did not add it to the Makefile because it is not a unittest. Its Outcome is crash/no crash, rather OK/NOT OK. Created attachment 99801 [details]
Allocate Timers non-statically
It adds an testcase, but does not build and run it. I can remove testcase if not useful that way.
Attachment 99801 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
WARNING: File exempt from style guide. Skipping: "Source/WebKit/gtk/tests/testexitotherthread.c"
Source/WebCore/platform/graphics/cairo/ContextShadowCairo.cpp:67: Tab found; better to use spaces [whitespace/tab] [1]
Source/WebCore/platform/graphics/cairo/ContextShadowCairo.cpp:68: Tab found; better to use spaces [whitespace/tab] [1]
Source/WebCore/platform/graphics/cairo/ContextShadowCairo.cpp:69: Tab found; better to use spaces [whitespace/tab] [1]
Source/WebCore/platform/gtk/WidgetRenderingContext.cpp:70: Tab found; better to use spaces [whitespace/tab] [1]
Source/WebCore/platform/gtk/WidgetRenderingContext.cpp:71: Tab found; better to use spaces [whitespace/tab] [1]
Source/WebCore/platform/gtk/WidgetRenderingContext.cpp:72: Tab found; better to use spaces [whitespace/tab] [1]
Total errors found: 6 in 5 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 99802 [details]
Allocate Timers non-statically (next try)
Comment on attachment 99802 [details] Allocate Timers non-statically (next try) View in context: https://bugs.webkit.org/attachment.cgi?id=99802&action=review This looks reasonable. > Source/WebCore/ChangeLog:8 > + No new tests. (OOPS!) This will block the commit-queue. Should be replaced with a description of/path-to your test. |