From: 黄建忠 <jianzhong.huang@i-soft.com.cn>
To: musl@lists.openwall.com
Subject: Re: Webkit/JavascriptCore did not work with musl libc
Date: Tue, 04 Nov 2014 10:29:32 +0800 [thread overview]
Message-ID: <54583A0C.6030700@i-soft.com.cn> (raw)
In-Reply-To: <20141015120211.42a4f0db@ncopa-desktop.alpinelinux.org>
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@i-soft.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
prev parent reply other threads:[~2014-11-04 2:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-15 5:58 黄建忠
2014-10-15 10:02 ` Natanael Copa
2014-10-16 1:53 ` 黄建忠
2014-10-16 2:08 ` Rich Felker
2014-10-16 6:28 ` 黄建忠
2014-10-16 11:34 ` Szabolcs Nagy
2014-10-16 1:56 ` 黄建忠
2014-11-04 2:29 ` 黄建忠 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54583A0C.6030700@i-soft.com.cn \
--to=jianzhong.huang@i-soft.com.cn \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).