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+
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
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
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.