[webkit-gtk] [Patch/Workaround] for gtk webkit as used by SWT

Olaf Flebbe o.flebbe at science-computing.de
Wed Jun 29 00:38:08 PDT 2011


Am 28.06.2011 17:42, schrieb Martin Robinson:
> On Tue, Jun 28, 2011 at 4:20 AM, Olaf Flebbe
> <o.flebbe at science-computing.de> wrote:
>> The proposed patch is to short-circuit Timer destruction for the case
>> currentThread() != construction time thread. Unfortunately some of the
>> elegance of the Timer Class in Webkit breaks down (the need of the
>> m_thread member).
> 
> Interesting problem. What happens if you just move the declaration of
> static purgeScratchBufferTimer out of the global scope and down two
> lines into the body of scheduleScratchBufferPurge itself?
> 
> --Martin

Unfortunately this does not help, as the destructor is called either
way. We need either a way to stop() all timers prior destruction.

Even with

static void scheduleScratchBufferPurge()
{
  static PurgeScratchBufferTimer purgeScratchBufferTimer;
  ...
}

I get:


#5  0x00007f5459f61ab5 in raise () from /lib64/libc.so.6
#6  0x00007f5459f62fb6 in abort () from /lib64/libc.so.6
#7  0x00007f5459a2f637 in os::abort(bool) () from
/usr/lib64/jvm/java-1.6.0-sun-
1.6.0/jre/lib/amd64/server/libjvm.so
#8  0x00007f5459b82cf8 in VMError::report_and_die() () from
/usr/lib64/jvm/java-1.6.0-sun-1.6.0/jre/lib/amd64/server/libjvm.so
#9  0x00007f5459a35fe5 in JVM_handle_linux_signal () from
/usr/lib64/jvm/java-1.6.0-sun-1.6.0/jre/lib/amd64/server/libjvm.so
#10 0x00007f5459a3230e in signalHandler(int, siginfo*, void*) () from
/usr/lib64/jvm/java-1.6.0-sun-1.6.0/jre/lib/amd64/server/libjvm.so
#11 <signal handler called>
#12 0x00007f5446b748a0 in WebCore::TimerBase::stop (this=0x7f5448dac8e0)
at Source/WebCore/platform/Timer.cpp:196
#13 0x00007f5446b74746 in WebCore::TimerBase::~TimerBase
(this=0x7f5448dac8e0, __in_chrg=<value optimized out>) at
Source/WebCore/platform/Timer.cpp:180
#14 0x00007f5446399bc0 in
WebCore::PurgeScratchBufferTimer::~PurgeScratchBufferTimer
(this=0x7f5448dac8e0, __in_chrg=<value optimized out>) at
Source/WebCore/platform/graphics/cairo/ContextShadowCairo.cpp:54
#15 0x00007f5459f645a1 in __run_exit_handlers () from /lib64/libc.so.6
#16 0x00007f5459f645f5 in exit () from /lib64/libc.so.6
#17 0x00007f5459f4dc04 in __libc_start_main () from /lib64/libc.so.6
#18 0x0000000040001bfa in _start ()

Cheers
  Olaf
-- 
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Roland Niemeier, 
Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Philippe Miltin
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: o_flebbe.vcf
Type: text/x-vcard
Size: 347 bytes
Desc: not available
URL: <http://lists.webkit.org/pipermail/webkit-gtk/attachments/20110629/ae443a97/attachment.vcf>


More information about the webkit-gtk mailing list