WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 49877
[GTK] DumpRenderTree has two copies of JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=49877
Summary
[GTK] DumpRenderTree has two copies of JavaScriptCore
Martin Robinson
Reported
2010-11-20 21:28:15 PST
One copy of JavaScriptCore is included in libwebkit.so. The other copy is compiled directly into DumpRenderTree. The original reason for this appears to be that when compiling libwebkit.so we hide JavaScriptCore symbols that DumpRenderTree needs.
Attachments
Make JSC symbols visible. Remove second JSC from DRT.
(4.96 KB, patch)
2010-11-20 21:39 PST
,
Martin Robinson
xan.lopez
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Martin Robinson
Comment 1
2010-11-20 21:39:27 PST
Created
attachment 74495
[details]
Make JSC symbols visible. Remove second JSC from DRT.
WebKit Review Bot
Comment 2
2010-11-20 21:44:15 PST
Attachment 74495
[details]
did not build on gtk: Build output:
http://queues.webkit.org/results/6236087
Xan Lopez
Comment 3
2010-11-20 21:50:51 PST
Comment on
attachment 74495
[details]
Make JSC symbols visible. Remove second JSC from DRT. Great catch. Don't commit it yet until we can make a clean build in gustavo's bot I guess...
Antonio Gomes
Comment 4
2010-11-20 22:25:34 PST
Oh ... I am wondering why I could just crash on release builds, while it works fine on debug.
Martin Robinson
Comment 5
2010-11-20 22:40:29 PST
(In reply to
comment #4
)
> Oh ... I am wondering why I could just crash on release builds, while it works fine on debug.
Debug builds use the system allocator, so CString was just using malloc/free instead of fastMalloc/fastFree. After some fiddling, I was able to get Debug building using TCMalloc, but I ran into a bunch of other crashes. I wouldn't be surprised if they were related to this as well.
Antonio Gomes
Comment 6
2010-11-21 09:12:02 PST
this is what I got when I built patch in
bug 48429
and the one here: WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o: In function `WTF::FastAllocBase::operator new(unsigned int)': LayoutTestController.cpp:(.text._ZN3WTF13FastAllocBasenwEj[WTF::FastAllocBase::operator new(unsigned int)]+0xd): undefined reference to `WTF::fastMalloc(unsigned int)' WebKitTools/DumpRenderTree/cairo/Programs_DumpRenderTree-PixelDumpSupportCairo.o: In function `computeMD5HashStringForBitmapContext(BitmapContext*, char*)': /home/agomes/Devel/webkit/webkit/WebKitBuild/Gtk/Debug/../../../WebKitTools/DumpRenderTree/cairo/PixelDumpSupportCairo.cpp:78: undefined reference to `WTF::MD5::addBytes(unsigned char const*, unsigned int)' /home/agomes/Devel/webkit/webkit/WebKitBuild/Gtk/Debug/../../../WebKitTools/DumpRenderTree/cairo/PixelDumpSupportCairo.cpp:82: undefined reference to `WTF::MD5::checksum(WTF::Vector<unsigned char, 16u>&)' WebKitTools/DumpRenderTree/cairo/Programs_DumpRenderTree-PixelDumpSupportCairo.o: In function `WTF::VectorBufferBase<unsigned char>::allocateBuffer(unsigned int)': /home/agomes/Devel/webkit/webkit/WebKitBuild/Gtk/Debug/../../../JavaScriptCore/wtf/Vector.h:287: undefined reference to `WTF::fastMalloc(unsigned int)' WebKitTools/DumpRenderTree/gtk/Programs_DumpRenderTree-AccessibilityUIElementGtk.o: In function `WTF::VectorBufferBase<AccessibilityUIElement>::allocateBuffer(unsigned int)': AccessibilityUIElementGtk.cpp:(.text._ZN3WTF16VectorBufferBaseI22AccessibilityUIElementE14allocateBufferEj[WTF::VectorBufferBase<AccessibilityUIElement>::allocateBuffer(unsigned int)]+0x3d): undefined reference to `WTF::fastMalloc(unsigned int)' collect2: ld returned 1 exit status make[1]: *** [Programs/DumpRenderTree] Error 1 make[1]: Leaving directory `/home/agomes/Devel/webkit/webkit/WebKitBuild/Gtk/Debug' make: *** [all] Error 2 rm DerivedSources/WebCore/JSSVGExternalResourcesRequired.cpp DerivedSources/WebCore/JSSVGFilterPrimitiveStandardAttributes.cpp DerivedSources/WebCore/JSSVGTests.cpp DerivedSources/WebCore/JSSVGViewSpec.cpp DerivedSources/WebCore/JSSVGTransformable.cpp DerivedSources/WebCore/JSSVGZoomAndPan.cpp DerivedSources/WebCore/JSSVGFitToViewBox.cpp DerivedSources/WebCore/JSSVGURIReference.cpp DerivedSources/WebCore/JSSVGLocatable.cpp DerivedSources/WebCore/JSSVGStylable.cpp DerivedSources/WebCore/JSElementTimeControl.cpp DerivedSources/WebCore/JSSVGLangSpace.cpp
Martin Robinson
Comment 7
2010-11-21 09:14:03 PST
(In reply to
comment #6
)
> this is what I got when I built patch in
bug 48429
and the one here: > > WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o: In function `WTF::FastAllocBase::operator new(unsigned int)': > LayoutTestController.cpp:
This patch will require a full rebuild: rm -rf WebKitBuild/Release build-webkit --gtk If you did a full rebuild and it still breaks, something is definitely wrong. :/
Antonio Gomes
Comment 8
2010-11-21 10:02:34 PST
(In reply to
comment #7
)
> (In reply to
comment #6
) > > this is what I got when I built patch in
bug 48429
and the one here: > > > > WebKitTools/DumpRenderTree/Programs_DumpRenderTree-LayoutTestController.o: In function `WTF::FastAllocBase::operator new(unsigned int)': > > LayoutTestController.cpp: > > This patch will require a full rebuild: > > rm -rf WebKitBuild/Release > build-webkit --gtk > > If you did a full rebuild and it still breaks, something is definitely wrong. :/
It was a full build, martin.
Martin Robinson
Comment 9
2010-11-21 11:54:16 PST
(In reply to
comment #8
)
> It was a full build, martin.
I just tried both full debug and release builds here and they seemed to work. :/ Do you mind pasting the output of this command on your system? $ nm -o WebKitBuild/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc
Antonio Gomes
Comment 10
2010-11-21 20:43:58 PST
<lisppaste> tonikitoo pasted "build error for mrobinson" at
http://paste.lisp.org/display/116904
<tonikitoo> after a clean release build with the patch <tonikitoo>
r72495
after pasting I realized you were not there :)
Antonio Gomes
Comment 11
2010-11-21 20:44:37 PST
:/ Do you mind pasting the output of this command on your system?
> > $ nm -o WebKitBuild/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc
$ nm -o WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c4636 t _ZN3WTF10fastMallocEj WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c4978 T _ZN3WTF14fastMallocSizeEPKv WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c445a t _ZN3WTF15fastMallocAllowEv WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c4443 t _ZN3WTF16fastMallocForbidEv WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c4957 T _ZN3WTF20fastMallocStatisticsEv WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:003447be t _ZN3WTF27fastMallocMatchValidateFreeEPvNS_8Internal9AllocTypeE WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:003447b9 t _ZN3WTF29fastMallocMatchValidateMallocEPvNS_8Internal9AllocTypeE WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:0216b4fd r _ZZN3WTF10fastMallocEjE19__PRETTY_FUNCTION__
Martin Robinson
Comment 12
2010-11-21 20:51:29 PST
(In reply to
comment #11
)
> :/ Do you mind pasting the output of this command on your system? > > > > $ nm -o WebKitBuild/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc > > $ nm -o WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc > WebKitBuild/Gtk/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:011c4636 t _ZN3WTF10fastMallocEj
I wonder if the issue is that the mangling is different for me: martin@chazmcpoodle:~/WebKit-old$ nm -o WebKitBuild/Debug/.libs/libwebkitgtk-1.0.so.0.3.1 | grep fastMalloc WebKitBuild/Debug/.libs/libwebkitgtk-1.0.so.0.3.1:00000000018fe90e T _ZN3WTF10fastMallocEm ... Might be worth a shot to try adding the mangled names for the missing symbols to webkit/symbols.filter on your side. Can't imagine what else is wrong.
Antonio Gomes
Comment 13
2010-11-22 14:29:00 PST
(In reply to
comment #10
)
> <lisppaste> tonikitoo pasted "build error for mrobinson" at
http://paste.lisp.org/display/116904
> <tonikitoo> after a clean release build with the patch > <tonikitoo>
r72495
> > after pasting I realized you were not there :)
Ignore this build error. I am getting them on trunk, clean build, with any patch on top... =/
Antonio Gomes
Comment 14
2010-11-26 13:33:02 PST
Guys, progresses here?
Martin Robinson
Comment 15
2010-11-27 11:16:01 PST
(In reply to
comment #14
)
> Guys, progresses here?
We're still waiting to hear from Gustavo about arranging a clean build on the release bots.
Martin Robinson
Comment 16
2010-12-02 10:14:56 PST
Committed
r73150
: <
http://trac.webkit.org/changeset/73150
>
Martin Robinson
Comment 17
2011-08-07 02:38:40 PDT
***
Bug 36088
has been marked as a duplicate of this bug. ***
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