kometchtech / docker-build

personal docker build for armhf and aarch64
15 stars 5 forks source link

luajit problem with Arm64 #2

Open kometchtech opened 5 years ago

kometchtech commented 5 years ago

luajitをArm64環境で使用すると、以下のようなエラーが発生することがある。

PANIC: unprotected error in call to Lua API (bad light userdata pointer)

https://github.com/LuaJIT/LuaJIT/pull/230

Knot resolver公式でも認識しているが、結局のところ、luajit公式が対応しないと根本的にダメそう。 https://gitlab.labs.nic.cz/knot/knot-resolver/issues/216

debianはArm64のパッケージは削除された? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907729

kometchtech commented 5 years ago

kernel 4.4までなら大丈夫そう? 少なくともRockPro64のkernel 4.4イメージでは問題は発生しない。 kernel 4.14や4.20などで試すと、この問題は手元の環境では確実に発生する。

luajit本家の対応待ち?

kometchtech commented 4 years ago

knot resolverのgitlabで対応進行中。

https://gitlab.labs.nic.cz/knot/knot-resolver/issues/216

@kometchtech: nothing at built time, lua stuff is fully dynamic here. There's the problem that kresd likes to load cqueues if present, but on your machine the package can't even load, i.e. uninstalling it should work for you (unless you also use/need some specific kresd module).

kometchtech commented 4 years ago

Resolved in cqueues master. For kresd http module there probably remains just the luaossl problem, which should soon be worked around in a similar fashion. I've only tested this briefly, so I'd still consider non-default lua modules as "beta" in kresd, so please report any problems.

cqueuesとluaosslへのこの問題が対策されたcommitがされた模様。 このcommitがパッケージに下りてくるまで待機。

kometchtech commented 4 years ago

luarocksから最新版をインストールするようにしてみたが、現時点では改善されず。

kometchtech commented 4 years ago

moonjitに置き換えることはできるか? https://github.com/moonjit/moonjit

kometchtech commented 4 years ago

うまいこと moonjit -> luajit を見つけることができない?

#28 8.514 Found CMake: /usr/bin/cmake (3.15.5)
#28 8.514 Run-time dependency luajit found: NO (tried pkgconfig and cmake)                                                          
#28 8.514
#28 8.514 meson.build:29:0: ERROR: Dependency "luajit" not found, tried pkgconfig and cmake                                         
#28 8.514
#28 8.514 A full log can be found at /tmp/knot-resolver/build_docker/meson-logs/meson-log.txt                                       
------
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to solve with frontend gateway.
v0: rpc error: code = Unknown desc = failed to build LLB: executor failed running [/bin/sh -c cd /tmp/knot-resolver     && meson buil
d_docker --buildtype=plain --prefix=/usr --libdir=lib -Dc_args="${CFLAGS}"     && DESTDIR=/tmp/root ninja -C build_docker install   
 && cp /tmp/root/usr/share/doc/knot-resolver/examples/config.docker /tmp/root/etc/knot-resolver/kresd.conf]: runc did not terminate s
ucessfully
kometchtech commented 4 years ago
 => ERROR [build 5/6] RUN cd /tmp/knot-resolver     && DESTDIR=/tmp/root ninja -C build_docker install                     [216/4959]
------                                                     
 > [build 5/6] RUN cd /tmp/knot-resolver     && DESTDIR=/tmp/root ninja -C build_docker install:
#31 0.654 ninja: Entering directory `build_docker'
#31 1.354 [1/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/murmurhash3_murmurhash3.c.o'.
#31 1.628 [2/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/ucw_mempool-fmt.c.o'.
#31 2.075 [3/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/base64.c.o'.
#31 2.142 [4/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/base32hex.c.o'.
#31 3.071 [5/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/ucw_mempool.c.o'.
#31 4.293 [6/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_knot_pkt.c.o'.
#31 4.296 In file included from ../lib/cache/knot_pkt.c:22:
#31 4.296 In file included from ../lib/../lib/cache/impl.h:35:
#31 4.296 In file included from ../lib/../lib/resolve.h:25:
#31 4.296 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 4.296         return s >= 0 && s < (1 << 5);
#31 4.296                ~ ^  ~
#31 4.296 1 warning generated.
#31 4.457 [7/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_cdb_lmdb.c.o'.
#31 4.459 In file included from ../lib/cache/cdb_lmdb.c:31:
#31 4.459 In file included from ../lib/../lib/cache/api.h:30:
#31 4.459 In file included from ../lib/../lib/module.h:25:
#31 4.459 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 4.459         return s >= 0 && s < (1 << 5);
#31 4.459                ~ ^  ~
#31 4.459 1 warning generated.
#31 4.469 [8/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_entry_list.c.o'.
#31 4.469 In file included from ../lib/cache/entry_list.c:21:
#31 4.469 In file included from ../lib/../lib/cache/impl.h:35:
#31 4.469 In file included from ../lib/../lib/resolve.h:25:
#31 4.469 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 4.469         return s >= 0 && s < (1 << 5);
#31 4.469                ~ ^  ~
#31 4.469 1 warning generated.
#31 4.751 [9/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_entry_pkt.c.o'.
#31 4.753 In file included from ../lib/cache/entry_pkt.c:24:
#31 4.753 In file included from ../lib/../lib/layer/iterate.h:19:
#31 4.753 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 4.753         return s >= 0 && s < (1 << 5);
#31 4.753                ~ ^  ~
#31 4.753 1 warning generated.
#31 4.788 [10/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_entry_rr.c.o'.
#31 4.788 In file included from ../lib/cache/entry_rr.c:22:
#31 4.788 In file included from ../lib/../lib/cache/impl.h:35:
#31 4.788 In file included from ../lib/../lib/resolve.h:25:
#31 4.788 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 4.788         return s >= 0 && s < (1 << 5);
#31 4.788                ~ ^  ~
#31 4.788 1 warning generated.
#31 5.726 [11/109] Compiling C object 'contrib/fc1e87a@@contrib@sta/ccan_json_json.c.o'.
#31 6.256 [12/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_nsec1.c.o'.
#31 6.257 In file included from ../lib/cache/nsec1.c:21:
#31 6.257 In file included from ../lib/../lib/cache/impl.h:35:
#31 6.257 In file included from ../lib/../lib/resolve.h:25:
#31 6.257 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 6.257         return s >= 0 && s < (1 << 5);
#31 6.257 1 warning generated.
#31 6.688 [13/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_api.c.o'.
#31 6.688 In file included from ../lib/cache/api.c:33:
#31 6.688 In file included from ../lib/../lib/cache/api.h:30:
#31 6.688 In file included from ../lib/../lib/module.h:25:
#31 6.688 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 6.688         return s >= 0 && s < (1 << 5);
#31 6.688                ~ ^  ~
#31 6.688 1 warning generated.
#31 7.053 [14/109] Compiling C object 'lib/76b5a35@@kres@sha/dnssec_nsec.c.o'.
#31 7.331 [15/109] Compiling C object 'lib/76b5a35@@kres@sha/dnssec_nsec3.c.o'.
#31 7.503 [16/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_nsec3.c.o'.
#31 7.506 In file included from ../lib/cache/nsec3.c:21:
#31 7.506 In file included from ../lib/../lib/cache/impl.h:35:
#31 7.506 In file included from ../lib/../lib/resolve.h:25:
#31 7.506 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 7.506         return s >= 0 && s < (1 << 5);
#31 7.506                ~ ^  ~
#31 7.506 1 warning generated.
#31 8.118 [17/109] Compiling C object 'lib/76b5a35@@kres@sha/dnssec_signature.c.o'.
#31 8.328 [18/109] Compiling C object 'lib/76b5a35@@kres@sha/dnssec.c.o'.
#31 8.328 In file included from ../lib/dnssec.c:38:
#31 8.328 In file included from ../lib/../lib/resolve.h:25:
#31 8.328 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 8.328         return s >= 0 && s < (1 << 5);
#31 8.328                ~ ^  ~
#31 8.328 1 warning generated.
#31 8.519 [19/109] Compiling C object 'lib/76b5a35@@kres@sha/generic_queue.c.o'.
#31 8.849 [20/109] Compiling C object 'lib/76b5a35@@kres@sha/dnssec_ta.c.o'.
#31 8.851 In file included from ../lib/dnssec/ta.c:28:
#31 8.851 In file included from ../lib/../lib/resolve.h:25:
#31 8.851 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 8.851         return s >= 0 && s < (1 << 5);
#31 8.851                ~ ^  ~
#31 8.851 1 warning generated.
#31 9.113 [21/109] Compiling C object 'lib/76b5a35@@kres@sha/generic_lru.c.o'.
#31 9.380 [22/109] Compiling C object 'lib/76b5a35@@kres@sha/cache_peek.c.o'.
#31 9.381 In file included from ../lib/cache/peek.c:17:
#31 9.381 In file included from ../lib/../lib/cache/impl.h:35:
#31 9.381 In file included from ../lib/../lib/resolve.h:25:
#31 9.381 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 9.381         return s >= 0 && s < (1 << 5);
#31 9.381                ~ ^  ~
#31 9.381 1 warning generated.
#31 9.767 [23/109] Compiling C object 'lib/76b5a35@@kres@sha/layer_cache.c.o'.
#31 9.770 In file included from ../lib/layer/cache.c:17:
#31 9.770 In file included from ../lib/../lib/module.h:25:
#31 9.770 ../lib/../lib/layer.h:65:11: warning: result of comparison of unsigned enum expression >= 0 is always true [-Wtautological-
unsigned-enum-zero-compare]
#31 9.770         return s >= 0 && s < (1 << 5);
#31 9.770                ~ ^  ~
#31 9.770 1 warning generated.
#31 10.03 [24/109] Compiling C object 'lib/76b5a35@@kres@sha/generic_map.c.o'.
#31 11.38 [25/109] Compiling C object 'lib/76b5a35@@kres@sha/module.c.o'.
#31 11.38 In file included from ../lib/module.c:24:
kometchtech commented 4 years ago
uname -a
Linux dns02 5.4.32-rockchip64 #20.02.11 SMP PREEMPT Tue Apr 14 17:30:19 CEST 2020 aarch64 aarch64 aarch64 GNU/Linux
Attaching to nfs_docker_kresd_1
kresd_1  | Knot Resolver Cache Garbage Collector v. 0.2
kresd_1  | PANIC: unprotected error in call to Lua API (bad light userdata pointer)                                                 
kresd_1  | Knot Resolver Cache Garbage Collector v. 0.2
kresd_1  | PANIC: unprotected error in call to Lua API (bad light userdata pointer)                                                 
kresd_1  | Knot Resolver Cache Garbage Collector v. 0.2
kresd_1  | PANIC: unprotected error in call to Lua API (bad light userdata pointer)                                                 
kresd_1  | Knot Resolver Cache Garbage Collector v. 0.2
kresd_1  | PANIC: unprotected error in call to Lua API (bad light userdata pointer)