Project

General

Profile

Bug #9894

nodejs - Segmentation fault

Added by Michal Mičko 3 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
-
Target version:
Start date:
01/23/2019
Due date:
% Done:

0%

Estimated time:
Affected versions:
Security IDs:

Description

I tried create virtual machine (KVM / VirtualBox) arch x86 (32bit)

After installation of package nodejs I cannot run command "node". Execution ends with error "Segmentation fault"

History

#1 Updated by Michal Mičko 3 months ago

environment clarification:
VM (KVM/VirtualBox) arch: x86
custom docker image based on: AlpineLinux 3.8

st 23. 1. 2019 v 16:52 odesílatel <> napsal:

Issue #9894 <https://bugs.alpinelinux.org/issues/9894> has been reported
by Michal Mičko.
------------------------------
Bug #9894: nodejs - Segmentation fault
<https://bugs.alpinelinux.org/issues/9894>

- *Author: *Michal Mičko
- *Status: *New
- *Priority: *Urgent
- *Assignee: *Jakub Jirutka
- *Category: *
- *Target version: *3.8.2
- *Affected versions: *3.8.2
- *Security IDs: *

I tried create virtual machine (KVM / VirtualBox) arch x86 (32bit)

After installation of package nodejs I cannot run command "node".
Execution ends with error "Segmentation fault"
------------------------------

You have received this notification because you have either subscribed to
it, or are involved in it.
To change your notification preferences, please click here:
https://bugs.alpinelinux.org/my/account

#2 Updated by Michal Mičko 3 months ago

root@wss:/# uname -a
Linux wss 4.9.32-0-virthardened #1-Alpine SMP Fri Jun 16 12:36:48 GMT 2017
i686 Linux

root@wss:/# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.8.2
PRETTY_NAME="Alpine Linux v3.8"
HOME_URL="http://alpinelinux.org"
BUG_REPORT_URL="http://bugs.alpinelinux.org"

root@wss:/# strace node
execve("/usr/bin/node", ["node"], 0x5d4759a0 /* 11 vars */) = 0
set_thread_area({entry_number=-1, base_addr=0x4bf74de4, limit=0x0fffff,
seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=1,
seg_not_present=0, useable=1}) = 0 (entry_number=6)
set_tid_address(0x4bf74e00) = 21
open("/etc/ld-musl-i386.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT
(No such file or directory)
open("/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=95440, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\30\0\0004\0\0\0"...,
936) = 936
mmap2(NULL, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4becc000
mmap2(0x4bee3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x16000) = 0x4bee3000
close(3) = 0
open("/lib/libhttp_parser.so.2.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/local/lib/libhttp_parser.so.2.8",
O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libhttp_parser.so.2.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=29840, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\t\0\0004\0\0\0"..., 936) = 936
mmap2(NULL, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4bec3000
mmap2(0x4beca000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x6000) = 0x4beca000
close(3) = 0
open("/lib/libuv.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
open("/usr/local/lib/libuv.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/libuv.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=156928, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270l\0\0004\0\0\0"...,
936) = 936
mmap2(NULL, 163840, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4be9b000
mmap2(0x4bec1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x25000) = 0x4bec1000
close(3) = 0
open("/lib/libcares.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
open("/usr/local/lib/libcares.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/libcares.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=70828, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\26\0\0004\0\0\0"...,
936) = 936
mmap2(NULL, 77824, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4be88000
mmap2(0x4be99000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x10000) = 0x4be99000
close(3) = 0
open("/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=1874044, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\344\3\0004\0\0\0"...,
936) = 936
mmap2(NULL, 1892352, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4bcba000
mmap2(0x4be6e000, 106496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1b3000) = 0x4be6e000
mmap2(0x4be85000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4be85000
close(3) = 0
open("/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=434848, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\372\0\0004\0\0\0"...,
936) = 936
mmap2(NULL, 438272, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4bc4f000
mmap2(0x4bcb4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x64000) = 0x4bcb4000
close(3) = 0
open("/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
open("/usr/local/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=1332832, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\356\7\0004\0\0\0"...,
936) = 936
mmap2(NULL, 1347584, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4bb06000
mmap2(0x4bc45000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x13e000) = 0x4bc45000
mmap2(0x4bc4d000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4bc4d000
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
open("/usr/local/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=95440, ...}) = 0
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\350\36\0\0004\0\0\0"...,
936) = 936
mmap2(NULL, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4baed000
mmap2(0x4bb04000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x16000) = 0x4bb04000
close(3) = 0
mprotect(0x4bee3000, 4096, PROT_READ) = 0
mprotect(0x4beca000, 4096, PROT_READ) = 0
mprotect(0x4bec1000, 4096, PROT_READ) = 0
mprotect(0x4be99000, 4096, PROT_READ) = 0
mprotect(0x4be6e000, 65536, PROT_READ) = 0
mprotect(0x4bcb4000, 12288, PROT_READ) = 0
mprotect(0x4bc45000, 28672, PROT_READ) = 0
mprotect(0x4bb04000, 4096, PROT_READ) = 0
mprotect(0x4bf72000, 4096, PROT_READ) = 0
mprotect(0x17676000, 212992, PROT_READ) = 0
brk(NULL) = 0x18bf80b0
brk(0x18bfe000) = 0x18bfe000
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=210503948}) = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1548404249, tv_nsec=927286335}) = 0
rt_sigprocmask(SIG_SETMASK, [USR1], NULL, 8) = 0
fstat64(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGILL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGBUS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGFPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGSTKFLT, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGCONT, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGURG, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGPROF, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGWINCH, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGIO, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGPWR, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGSYS, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x164beb56, sa_mask=~[RTMIN RT_1 RT_2],
sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x164beb56, sa_mask=~[RTMIN RT_1 RT_2],
sa_flags=SA_RESTORER|SA_RESETHAND, sa_restorer=0x4bf2a6e5}, NULL, 8) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024*1024, rlim_max=1024*1024}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=217777400}) = 0
clock_getres(CLOCK_MONOTONIC_COARSE, {tv_sec=0, tv_nsec=10000000}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=217948806}) = 0
epoll_create1(EPOLL_CLOEXEC) = 3
pipe2([4, 5], O_CLOEXEC) = 0
write(5, "*", 1) = 1
pipe2([6, 7], O_NONBLOCK|O_CLOEXEC) = 0
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 8
ioctl(0, FIOCLEX) = 0
ioctl(1, FIOCLEX) = 0
ioctl(2, FIOCLEX) = 0
ioctl(3, FIOCLEX) = 0
ioctl(4, FIOCLEX) = 0
ioctl(5, FIOCLEX) = 0
ioctl(6, FIOCLEX) = 0
ioctl(7, FIOCLEX) = 0
ioctl(8, FIOCLEX) = 0
ioctl(9, FIOCLEX) = 1 EBADF (Bad file descriptor)
ioctl(10, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(11, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(12, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(13, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(14, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(15, FIOCLEX) = -1 EBADF (Bad file descriptor)
ioctl(16, FIOCLEX) = -1 EBADF (Bad file descriptor)
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
getuid32() = 0
geteuid32() = 0
getgid32() = 0
getegid32() = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024,
rlim_max=RLIM64_INFINITY}) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
mmap2(NULL, 8400896, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4b2ea000
mprotect(0x4b2ec000, 8392704, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x4baecd10,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000,
parent_tidptr=0x4baecd70, tls={entry_number=6, base_addr=0x4baecd54,
limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0,
limit_in_pages=1, seg_not_present=0, useable=1}0x5a4d2aac,
child_tidptr=0x4baecd70) = 22
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024,
rlim_max=RLIM64_INFINITY}) = 0
mmap2(NULL, 8400896, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4aae7000
mprotect(0x4aae9000, 8392704, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x4b2e9d10,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000,
parent_tidptr=0x4b2e9d70, tls={entry_number=6, base_addr=0x4b2e9d54,
limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0,
limit_in_pages=1, seg_not_present=0, useable=1}0x5a4d2aac,
child_tidptr=0x4b2e9d70) = 23
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024,
rlim_max=RLIM64_INFINITY}) = 0
mmap2(NULL, 8400896, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4a2e4000
mprotect(0x4a2e6000, 8392704, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x4aae6d10,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000,
parent_tidptr=0x4aae6d70, tls={entry_number=6, base_addr=0x4aae6d54,
limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0,
limit_in_pages=1, seg_not_present=0, useable=1}0x5a4d2aac,
child_tidptr=0x4aae6d70) = 24
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024,
rlim_max=RLIM64_INFINITY}) = 0
mmap2(NULL, 8400896, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x49ae1000
mprotect(0x49ae3000, 8392704, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x4a2e3d10,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000,
parent_tidptr=0x4a2e3d70, tls={entry_number=6, base_addr=0x4a2e3d54,
limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0,
limit_in_pages=1, seg_not_present=0, useable=1}0x5a4d2aac,
child_tidptr=0x4a2e3d70) = 25
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=225539652}) = 0
brk(0x18c03000) = 0x18c03000
brk(0x18c0c000) = 0x18c0c000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)
brk(0x18c12000) = 0x18c12000
brk(0x18c1a000) = 0x18c1a000
brk(0x18c22000) = 0x18c22000
getpid() = 21
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 9
fstat64(9, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
poll([{fd=9, events=POLLIN}], 1, 10) = 1 ([{fd=9, revents=POLLIN}])
read(9,
"\221\323U\342\307\342iV0\251\324\31550\7\207>\253_B\17s;\274\25>\262\23[\302.{",
32) = 32
close(9) = 0
getuid32() = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1548404249, tv_nsec=943792318}) = 0
getpid() = 21
brk(0x18c23000) = 0x18c23000
brk(0x18c24000) = 0x18c24000
mmap2(0x4ca00000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x499e1000
munmap(0x499e1000, 126976) = 0
munmap(0x49a80000, 397312) = 0
mmap2(0x49a00000, 524288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49a00000
mmap2(0x49500000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49900000
munmap(0x49980000, 524288) = 0
mmap2(0x49900000, 524288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49900000
brk(0x18c25000) = 0x18c25000
brk(0x18c27000) = 0x18c27000
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=228616548}) = 0
brk(0x18c28000) = 0x18c28000
mmap2(0x3379f000, 24576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49adb000
mmap2(0x49adc000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49adc000
brk(0x18c29000) = 0x18c29000
brk(0x18c2a000) = 0x18c2a000
mmap2(0x4b700000, 720896, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49850000
munmap(0x49850000, 196608) = 0
munmap(0x498b0000, 327680) = 0
mmap2(0x49880000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49880000
mprotect(0x49885000, 4096, PROT_NONE) = 0
mmap2(0x49886000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not
permitted)
mmap2(0x49880000, 20480, PROT_NONE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49880000
munmap(0x49880000, 196608) = 0
mmap2(0x4d880000, 720896, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49850000
munmap(0x49850000, 196608) = 0
munmap(0x498b0000, 327680) = 0
mmap2(0x49880000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49880000
mprotect(0x49885000, 4096, PROT_NONE) = 0
mmap2(0x49886000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not
permitted)
mmap2(0x49880000, 20480, PROT_NONE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49880000
munmap(0x49880000, 196608) = 0
mmap2(0x34280000, 720896, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49850000
munmap(0x49850000, 196608) = 0
munmap(0x498b0000, 327680) = 0
mmap2(0x49880000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49880000
mprotect(0x49885000, 4096, PROT_NONE) = 0
mmap2(0x49886000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not
permitted)
mmap2(0x49880000, 20480, PROT_NONE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49880000
munmap(0x49880000, 196608) = 0
brk(0x18c2b000) = 0x18c2b000
brk(0x18c2d000) = 0x18c2d000
brk(0x18c30000) = 0x18c30000
mmap2(0x49b80000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49800000
munmap(0x49880000, 524288) = 0
mmap2(0x49800000, 524288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49800000
mmap2(0x43b00000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49700000
munmap(0x49780000, 524288) = 0
mmap2(0x49700000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49700000
mprotect(0x49705000, 4096, PROT_NONE) = 0
mmap2(0x49706000, 495616, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not
permitted)
mmap2(0x49700000, 20480, PROT_NONE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49700000
munmap(0x49700000, 524288) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=234349703}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=234440498}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=234532105}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=234615645}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=234702314}) = 0
mmap2(0x53780000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49700000
munmap(0x49780000, 524288) = 0
mmap2(0x49700000, 524288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49700000
mmap2(0x4fa00000, 1048576, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x49600000
munmap(0x49680000, 524288) = 0
mmap2(0x49600000, 524288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x49600000
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=235656547}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=235740097}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=151112, tv_nsec=235856283}) = 0
--
SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7} ---
++ killed by SIGSEGV ++
Segmentation fault

#3 Updated by Michal Mičko 3 months ago

It works with:

paxctl -c /usr/bin/node
paxctl -m /usr/bin/node

#4 Updated by Jakub Jirutka 3 months ago

paxctl sets flags for PaX (part of Grsecurity) which is not included in Alpine Linux since 3.8… It has no effect on non-Grsecurity (hardened) kernel. So what system do you actually run?

#5 Updated by Michal Mičko 3 months ago

test machine
NUC: Debian 9 (x86-64)
VirtualBox: AlpineLinux 3.6.2 (x86)
Docker container: AlpineLinux 3.8.2 (x86)

(Production machine is arch x86, but with same layers.)

#6 Updated by Natanael Copa about 1 month ago

  • Status changed from New to Closed

Michal Mičko wrote:

root@wss:/# uname -a
Linux wss 4.9.32-0-virthardened #1-Alpine SMP Fri Jun 16 12:36:48 GMT 2017
i686 Linux

This kernel is no longer supported. You should replace it with linux-virt. Something like:

apk add linux-virt
apk del linux-virthardened

Also available in: Atom PDF