Hi It sounds like a bug. Please file one in bugs.webkit.org , preferable with test case and detailed steps to reproduce, specifying also which port and platform are you running.
2010/3/23 巴丁-Partin <[email protected]>: > Is that anyone working with WML in webkit? > I use webkit to open the wml page, meet a fata error. > In file:"WebCore\rendering\RenderTextControlSingleLine.cpp",the > "inputElement()" return NULL value,that cause > "inputElement()->isSearchField()" access memory error. > I trace into "InputElement.cpp", find that in > "toInputElement()":"element->hasTagName(WMLNames::inputTag)",the "hasTagName()" > return "false". > Related wml code is: > "<input type="text" name="search_phone" emptyok="true" value="" />" > And the current node("element") is "input". > Folloing is the call tack: > WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded() Line443 + > 0x14 Bytes C++ > WebCore::RenderTextControlSingleLine::updateFromElement() Line473 C++ > WebCore::WMLInputElement::attach() Line236 + 0x26 Bytes C++ > WebCore::XMLTokenizer::startElementNs(const unsigned char * > xmlLocalName=0x0be22a83, const unsigned char * xmlPrefix=0x00000000, const > unsigned char * xmlURI=0x00000000, int nb_namespaces=0, const unsigned char > * * libxmlNamespaces=0x00000000, int nb_attributes=4, int nb_defaulted=0, > const unsigned char * * libxmlAttributes=0x0be23ed0) Line766 + 0x26 Bytes > C++ > WebCore::startElementNsHandler(void * closure=0x0bdabc48, const unsigned > char * localname=0x0be22a83, const unsigned char * prefix=0x00000000, const > unsigned char * uri=0x00000000, int nb_namespaces=0, const unsigned char * * > namespaces=0x00000000, int nb_attributes=4, int nb_defaulted=0, const > unsigned char * * libxmlAttributes=0x0be23ed0) Line1001 C++ > xmlParseStartTag2(_xmlParserCtxt * ctxt=0x0bdabc48, const unsigned char * * > pref=0x0eb3d5d8, const unsigned char * * URI=0x0eb3d5cc, int * > tlen=0x0eb3d650) Line9002 + 0x37 Bytes C > xmlParseTryOrFinish(_xmlParserCtxt * ctxt=0x0bdabc48, int terminate=0) > Line10714 + 0x1b Bytes C > xmlParseChunk(_xmlParserCtxt * ctxt=0x0bdabc48, const char * > chunk=0x18a2b5ca, int size=2614, int terminate=0) Line11446 + 0xd Bytes C > WebCore::XMLTokenizer::doWrite(const WebCore::String & parseString={...}) > Line628 + 0x22 Bytes C++ > WebCore::XMLTokenizer::write(const WebCore::SegmentedString & s={...}, bool > __formal=true) Line107 + 0x18 Bytes C++ > WebCore::FrameLoader::write(const char * str=0x0be108db, int len=1419, bool > flush=false) Line1035 + 0x27 Bytes C++ > WebCore::FrameLoader::addData(const char * bytes=0x0be108db, int > length=1419) Line1824 C++ > WebKit::FrameLoaderClient::committedLoad(WebCore::DocumentLoader * > loader=0x187fab80, const char * data=0x0be108db, int length=1419) Line205 > C++ > WebCore::FrameLoader::committedLoad(WebCore::DocumentLoader * > loader=0x187fab80, const char * data=0x0be108db, int length=1419) Line3626 > + 0x26 Bytes C++ > WebCore::DocumentLoader::commitLoad(const char * data=0x0be108db, int > length=1419) Line363 C++ > WebCore::DocumentLoader::receivedData(const char * data=0x0be108db, int > length=1419) Line375 C++ > WebCore::FrameLoader::receivedData(const char * data=0x0be108db, int > length=1419) Line2429 C++ > WebCore::MainResourceLoader::addData(const char * data=0x0be108db, int > length=1419, bool allAtOnce=false) Line149 C++ > WebCore::ResourceLoader::didReceiveData(const char * data=0x0be108db, int > length=1419, __int64 lengthReceived=0, bool allAtOnce=false) Line257 + 0x1c > Bytes C++ > WebCore::MainResourceLoader::didReceiveData(const char * data=0x0be108db, > int length=1419, __int64 lengthReceived=0, bool allAtOnce=false) Line351 > C++ > WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle * > __formal=0x18850ff0, const char * data=0x0be108db, int length=1419, int > lengthReceived=0) Line411 + 0x1f Bytes C++ > WebCore::writeCallback(void * ptr=0x0be108db, unsigned int size=1, unsigned > int nmemb=1419, void * data=0x18850ff0) Line144 + 0x31 Bytes C++ > Curl_client_write(connectdata * conn=0x0bda7848, int type=1, char * > ptr=0x0be108db, unsigned int len=1419) Line418 + 0x21 Bytes C > readwrite_data(SessionHandle * data=0x0be10310, connectdata * > conn=0x0bda7848, SingleRequest * k=0x0be10324, int * didwhat=0x0eb3ea58, > char * done=0x0eb3ebc3) Line690 + 0x16 Bytes C > Curl_readwrite(connectdata * conn=0x0bda7848, char * done=0x0eb3ebc3) > Line1683 + 0x19 Bytes C > multi_runsingle(Curl_multi * multi=0x0bd89860, Curl_one_easy * > easy=0x0bda5230) Line1298 + 0x10 Bytes C > curl_multi_perform(void * multi_handle=0x0bd89860, int * > running_handles=0x0eb3ee98) Line1516 + 0xd Bytes C > WebCore::ResourceHandleManager::downloadTimerCallback(WebCore::Timer<WebCore::ResourceHandleManager> > * timer=0x16d2fec0) Line302 + 0x13 Bytes C++ > WebCore::Timer<WebCore::ResourceHandleManager>::fired() Line93 + 0x37 Bytes > C++ > WebCore::ThreadTimers::fireTimers(double fireTime=1269398709.1910868, const > WTF::Vector<WebCore::TimerBase *,0> & firingTimers={...}) Line113 + 0xf > Bytes C++ > WebCore::ThreadTimers::sharedTimerFiredInternal() Line145 C++ > WebCore::ThreadTimers::sharedTimerFired() Line125 C++ > WebCore::WebKitTimer::onnotify() Line65 + 0x8 Bytes C++ > _______________________________________________ > webkit-dev mailing list > [email protected] > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev > > -- --Antonio Gomes _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

