Bug 22674

Summary: Webkit r39005 does not start, an entry point not found
Product: WebKit Reporter: Jyrki Wahlstedt <jyrki.wahlstedt>
Component: WebCore Misc.Assignee: Darin Adler <darin>
Status: RESOLVED FIXED    
Severity: Critical CC: ap, darin, mrowe
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
Attachments:
Description Flags
The error message box
none
patch ap: review+

Description Jyrki Wahlstedt 2008-12-04 23:14:57 PST
Trying to launch Webkit r39005, an error message is shown telling that 'The procedure entry point CFURLCacheCopySharedURLCache could not be located in the dynamic link library CFNetwork.dll'
Comment 1 Jyrki Wahlstedt 2008-12-04 23:25:37 PST
Created attachment 25764 [details]
The error message box
Comment 2 Alexey Proskuryakov 2008-12-05 02:28:29 PST
Do you have Safari 3.2.1 installed, or some earlier version?
Comment 3 Franck 2008-12-05 03:07:27 PST
I have the same problem on Vista, with Safari 3.2.1 installed
Comment 4 Alexey Proskuryakov 2008-12-05 03:57:40 PST
A call to CFURLCopySharedURLCache was added in <http://trac.webkit.org/changeset/38010>.
Comment 5 Jyrki Wahlstedt 2008-12-05 05:44:56 PST
I checked, seems to be 3.2.1
Comment 6 Darin Adler 2008-12-05 06:10:33 PST
The problem here is that the nightly build was done on a machine with the new CFNetwork headers. If you did your own build on a machine that had the old CFNetwork headers it would work fine. To make this work on either version I can change this into a runtime check instead of a compile-time check. Or we can build nightly builds on a machine with the old public CFNetwork headers.
Comment 7 Darin Adler 2008-12-05 06:37:33 PST
Created attachment 25775 [details]
patch
Comment 8 Alexey Proskuryakov 2008-12-05 07:26:07 PST
Comment on attachment 25775 [details]
patch

r=me

> GetModuleHandleA("CFNetwork")

Is there any reasonable way for us to make this work with Debug_Internal configuration?
Comment 9 Darin Adler 2008-12-05 07:31:09 PST
(In reply to comment #8)
> > GetModuleHandleA("CFNetwork")
> 
> Is there any reasonable way for us to make this work with Debug_Internal
> configuration?

I only recently became aware of this issue.

Since GetModuleHandle only will return modules that are already loaded, we can unconditionally look for both CFNetwork_Debug and CFNetwork and use the first one we find. I think we should change all call sites that are using GetModuleHandle to find CFNetwork to do this.
Comment 10 Darin Adler 2008-12-05 07:47:41 PST
http://trac.webkit.org/changeset/39027