Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Segfault in ghostdriver mode when doing element() via JSON Wire Protocol #11224

Open
mindphlux1 opened this Issue Apr 11, 2013 · 0 comments

Comments

Projects
None yet
1 participant

Hello,

I use selenium-standalone in hub mode, and let phantomjs/ghostdriver connect with this command line.

--webdriver 7002 --webdriver-selenium-grid-hub=http://127.0.0.1:6002

I use facebook's php-webdriver wrapper to connect to selenium. Phantomjs crashes when using this (php) line:

$this->session->element("class name", "key")->click();

I thought maybe that this "key" element was missing, but the element is there. The segfault happens in the latest binary as well the source. Current stable version (1.9)

I compiled from source to get this backtrace to track this segfault:

[INFO - 2013-04-11T06:51:12.244Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 328aa7f0-a274-11e2-beac-f372aa66bb07
[New Thread 0xaff07b70 (LWP 15746)]
[New Thread 0xaf6ffb70 (LWP 15747)]
[New Thread 0xae9c8b70 (LWP 15748)]

Program received signal SIGSEGV, Segmentation fault.
WebCore::KURL::protocol (this=0x8) at ../../WebCore/platform/KURL.cpp:590
590 return m_string.left(m_schemeEnd);
(gdb) bt
#0 WebCore::KURL::protocol (this=0x8) at ../../WebCore/platform/KURL.cpp:590
#1 0x087822ba in WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache(WebCore::ResourceRequest const&, WebCore::ApplicationCacheResource*&) ()
#2 0x0878248a in WebCore::ApplicationCacheHost::maybeLoadResource(WebCore::ResourceLoader*, WebCore::ResourceRequest&, WebCore::KURL const&) ()
#3 0x0845e838 in WebCore::ResourceLoader::start() ()
#4 0x0846301d in WebCore::ResourceLoadScheduler::servePendingRequests (this=0xb6602898, host=0xa6006a0, minimumPriority=WebCore::ResourceLoadPriorityMedium)

at ../../WebCore/loader/ResourceLoadScheduler.cpp:201

#5 0x084659c2 in WebCore::ResourceLoadScheduler::scheduleSubresourceLoad (this=0xb6602898, frame=0xb60f9600, client=0xae13dcc8, request=...,

priority=WebCore::ResourceLoadPriorityMedium, securityCheck=WebCore::DoSecurityCheck, sendResourceLoadCallbacks=<value optimised out>,
shouldContentSniff=<value optimised out>, optionalOutgoingReferrer=...) at ../../WebCore/loader/ResourceLoadScheduler.cpp:91

#6 0x09056f94 in WebCore::DocumentThreadableLoader::loadRequest(WebCore::ResourceRequest const&, WebCore::SecurityCheckPolicy) ()
#7 0x090589ef in WebCore::DocumentThreadableLoader::DocumentThreadableLoader(WebCore::Document_, WebCore::ThreadableLoaderClient_, WebCore::DocumentThreadableLoader::BlockingBehavior, WebCore::ResourceRequest const&, WebCore::ThreadableLoaderOptions const&, WTF::String const&) ()
#8 0x09058bbb in WebCore::DocumentThreadableLoader::create(WebCore::Document_, WebCore::ThreadableLoaderClient_, WebCore::ResourceRequest const&, WebCore::ThreadableLoaderOptions const&, WTF::String const&) ()
#9 0x08c60154 in WebCore::ThreadableLoader::create (context=0xb61c5288, client=0xaebd5408, request=..., options=...)

at ../../WebCore/loader/ThreadableLoader.cpp:54

#10 0x08676df2 in WebCore::XMLHttpRequest::createRequest(int&) ()
#11 0x086778af in WebCore::XMLHttpRequest::send(WTF::String const&, int&) ()
#12 0x08677dc2 in WebCore::XMLHttpRequest::send(int&) ()
#13 0x0903cdc2 in WebCore::JSXMLHttpRequest::send(JSC::ExecState*) ()
#14 0x08f6aa76 in WebCore::jsXMLHttpRequestPrototypeFunctionSend(JSC::ExecState*) ()
#15 0xb0048d49 in ?? ()
#16 0x08a79d71 in JSC::Interpreter::executeCall(JSC::ExecState_, JSC::JSObject_, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
#17 0x08abf056 in JSC::call (exec=0xb678479c, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...)

at ../../JavaScriptCore/runtime/CallData.cpp:38

#18 0x08b59934 in WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject_, JSC::JSValue, WebCore::ScriptExecutionContext_) ()
#19 0x08b59fb1 in WebCore::ScheduledAction::execute(WebCore::Document*) ()

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment