Bug 81838

Summary: WTF::MetaAllocator has a weak vtable (discovered when building wtf as a static library)
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: New BugsAssignee: Eric Seidel (no email) <eric>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, barraclough, fpizlo, ggaren, mitz, mrowe, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 75673    
Attachments:
Description Flags
Patch
none
Patch for landing webkit.review.bot: commit-queue-

Description Eric Seidel (no email) 2012-03-21 15:26:54 PDT
WTF::MetaAllocator has a weak vtable (discovered when building wtf as a static library)
Comment 1 Eric Seidel (no email) 2012-03-21 15:30:43 PDT
Created attachment 133127 [details]
Patch
Comment 2 Geoffrey Garen 2012-03-21 15:32:22 PDT
Comment on attachment 133127 [details]
Patch

r=me
Comment 3 Eric Seidel (no email) 2012-03-21 15:32:56 PDT
(This patch won't actually apply to trunk, since it is on top of a local commit with the WTF files already moved to their new location.)
Comment 4 WebKit Review Bot 2012-03-21 15:36:01 PDT
Comment on attachment 133127 [details]
Patch

Rejecting attachment 133127 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:
 file Source/WTF/ChangeLog
patching file Source/WTF/wtf/MetaAllocator.cpp
Hunk #1 FAILED at 33.
1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/MetaAllocator.cpp.rej
patching file Source/WTF/wtf/MetaAllocator.h
Hunk #1 FAILED at 196.
1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/MetaAllocator.h.rej

Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force', u'--reviewer', u'Geoffrey G..." exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12072618
Comment 5 Eric Seidel (no email) 2012-03-21 16:04:49 PDT
Created attachment 133134 [details]
Patch for landing
Comment 6 WebKit Review Bot 2012-03-21 17:22:21 PDT
Comment on attachment 133134 [details]
Patch for landing

Rejecting attachment 133134 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:
hing file Source/JavaScriptCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/JavaScriptCore/wtf/MetaAllocator.cpp
Hunk #1 succeeded at 47 with fuzz 2 (offset 14 lines).
patching file Source/JavaScriptCore/wtf/MetaAllocator.h
Hunk #1 FAILED at 196.
1 out of 1 hunk FAILED -- saving rejects to file Source/JavaScriptCore/wtf/MetaAllocator.h.rej

Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12066681
Comment 7 Eric Seidel (no email) 2012-03-21 17:31:24 PDT
Landed in http://trac.webkit.org/changeset/111617.
Comment 8 mitz 2012-03-21 17:42:46 PDT
(In reply to comment #7)
> Landed in http://trac.webkit.org/changeset/111617.

This change broke the TestWebKitAPI build. Two symbols are no longer exported:

WTF::MetaAllocator::~MetaAllocator()

    and

typeinfo for WTF::MetaAllocator

I can export the former by adding WTF_EXPORT_PRIVATE before its declaration in the header, but I don’t know how to export the latter.
Comment 9 Eric Seidel (no email) 2012-03-21 17:43:51 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > Landed in http://trac.webkit.org/changeset/111617.
> 
> This change broke the TestWebKitAPI build. Two symbols are no longer exported:
> 
> WTF::MetaAllocator::~MetaAllocator()
> 
>     and
> 
> typeinfo for WTF::MetaAllocator
> 
> I can export the former by adding WTF_EXPORT_PRIVATE before its declaration in the header, but I don’t know how to export the latter.

Probably WTF_EXPORTCLASS?  I dont' actually know.
Comment 10 Eric Seidel (no email) 2012-03-21 17:44:45 PDT
The WTF/JSC exports are really a mistery to me, I'm currently runnig into issues tryign to bring up the JSC build after moving WTF locally due to our current export config.
Comment 11 Eric Seidel (no email) 2012-03-21 17:45:10 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > Landed in http://trac.webkit.org/changeset/111617.
> 
> This change broke the TestWebKitAPI build. Two symbols are no longer exported:

I assume I can test this locally on mac using "make"?
Comment 12 mitz 2012-03-21 17:49:43 PDT
(In reply to comment #11)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > Landed in http://trac.webkit.org/changeset/111617.
> > 
> > This change broke the TestWebKitAPI build. Two symbols are no longer exported:
> 
> I assume I can test this locally on mac using "make"?

Yes. If you can’t find out how to fix this soon, please revert r111617, so that tests can run again.
Comment 13 Eric Seidel (no email) 2012-03-21 17:52:55 PDT
(In reply to comment #12)
> (In reply to comment #11)
> > (In reply to comment #8)
> > > (In reply to comment #7)
> > > > Landed in http://trac.webkit.org/changeset/111617.
> > > 
> > > This change broke the TestWebKitAPI build. Two symbols are no longer exported:
> > 
> > I assume I can test this locally on mac using "make"?
> 
> Yes. If you can’t find out how to fix this soon, please revert r111617, so that tests can run again.

Certainly.  I'm running "make" now.
Comment 14 Eric Seidel (no email) 2012-03-21 18:00:17 PDT
(In reply to comment #11)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > Landed in http://trac.webkit.org/changeset/111617.
> > 
> > This change broke the TestWebKitAPI build. Two symbols are no longer exported:
> 
> I assume I can test this locally on mac using "make"?

Hmm.  "make" resulted in:

** BUILD SUCCEEDED **

for me.  I guess I"ll try again with a clean build?
Comment 15 Mark Rowe (bdash) 2012-03-21 18:14:12 PDT
I fixed the problems in r111634.
Comment 16 Eric Seidel (no email) 2012-03-21 18:14:56 PDT
Thank you.  I just got a reproduction. :)