|
Message-ID: <54583A0C.6030700@i-soft.com.cn> Date: Tue, 04 Nov 2014 10:29:32 +0800 From: 黄建忠 <jianzhong.huang@...oft.com.cn> To: musl@...ts.openwall.com Subject: Re: Webkit/JavascriptCore did not work with musl libc Since it's a open issue in this maillist, I think it's better to have a feed back. JsCore range error problem fixed for webkitgtk-2.4.x and webkit bundled in Qt(Qt 5.3.x, Qt4 should works but not tested now.). - const size_t requiredStack = 128 * KB; - const size_t errorModeRequiredStack = 64 * KB; + const size_t requiredStack = 32 * KB; + const size_t errorModeRequiredStack = 16 * KB; For ewebkit/webkitgtk-2.6(AKA, webkitgtk4), they all use the latest codebase of webkit, and had the same issue but different from webkitgtk-2.4.x. I will try to fix it later since webkitgtk-2.4 is enough from my system. Alpine guys can check this patch and have a try. By the way, QSslSocket in alpine linux still had a problem about loading libssl. In qsslsocket_openssl_symbols.cpp: #ifdef Q_OS_OPENBSD libcrypto->setLoadHints(QLibrary::ExportExternalSymbolsHint); #endif + libcrypto->setLoadHints(QLibrary::ExportExternalSymbolsHint); + libssl->setLoadHints(QLibrary::ExportExternalSymbolsHint); Otherwise, the symbol resolving of libssl will fail, at least with libressl, I think it's same for openssl. 在 10/15/14 18:02, Natanael Copa 写道: > On Wed, 15 Oct 2014 13:58:42 +0800 > *** <jianzhong.huang@...oft.com.cn> wrote: > >> Hi, all, >> I build webkitgtk-2.4.4 and ewebkit2 under musl libc with >> gcc-4.9.1(patched) and clang-3.5, the javascriptCore js engine did not >> work as expected(with JIT enable or disable.) >> >> for webkitgtk, jsc just output "Exception:" when run any js codes. >> for ewebkit2, jsc just segfault with below backtrace: >> >> #0 0x00000000008cf0c4 in WTFCrash () >> #1 0x000000000065bb72 in WTF::PassRefPtr<JSC::ProgramNode> >> JSC::parse<JSC::ProgramNode>(JSC::VM*, JSC::SourceCode const&, >> JSC::FunctionParameters*, JSC::Identifier const&, >> JSC::JSParserStrictness, JSC::JSParserMode, JSC::ParserError&, >> JSC::JSTextPosition*, bool) () >> #2 0x000000000077c6f0 in >> JSC::BuiltinExecutables::createBuiltinExecutable(JSC::SourceCode const&, >> JSC::Identifier const&) () >> #3 0x000000000077cc73 in >> JSC::BuiltinExecutables::functionPrototypeApplyCodeExecutable() () >> #4 0x000000000076ee90 in >> JSC::functionPrototypeApplyCodeGenerator(JSC::VM&) () >> #5 0x00000000007c1a78 in >> JSC::FunctionPrototype::addFunctionProperties(JSC::ExecState*, >> JSC::JSGlobalObject*, JSC::JSFunction**, JSC::JSFunction**) () >> #6 0x0000000000682f89 in JSC::JSGlobalObject::reset(JSC::JSValue) () >> #7 0x00000000004f68c1 in JSC::JSGlobalObject::finishCreation(JSC::VM&) () >> #8 0x00000000004f600c in GlobalObject::finishCreation(JSC::VM&, >> WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow> const&) () >> #9 0x00000000004f01b8 in jscmain(int, char**) () >> #10 0x00000000004eff5d in main () >> >> The JSCore codes is too complex and I even can not figure out the buggy >> codes quickly. >> >> My environment is a customized linux with musl libc/wayland >> only/gcc/clang/systemd and so on. >> >> can Anybody who use a musl libc based distribution try and check it? for >> webkitgtk2, there is no need to build it completely, just: >> configure and "make jsc" then try it. > Alpine Linux, x86_64, musl-1.1.5, gcc (Alpine 4.8.3) 4.8.3 > > > ncopa-desktop:~$ apk version webkitgtk > Installed: Available: > webkitgtk-2.4.5-r1 = 2.4.5-r1 > > ncopa-desktop:~$ jsc-3 > "hello" >>>> Exception: RangeError: Maximum call stack size exceeded. > > Maybe the thread stack needs to be increased? > >> I am also working on it. >> > -nc > -- Huang JianZhong
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.