mailing list of musl libc
 help / color / mirror / code / Atom feed
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





      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).