unikraft / catalog

Unikraft Applications & Examples Catalog
23 stars 29 forks source link

mariadb:10.11: The program is stuck when started #108

Open xxczxp opened 3 months ago

xxczxp commented 3 months ago

when Introduce mariadb:10.11 as library, it stuck when started, Use the following commands to replicate:

wget https://raw.githubusercontent.com/unikraft/catalog-for-maintainers/main/utils/start-buildkit.sh
source start-buildkit.sh
git clone https://github.com/unikraft/catalog
cd catalog
git remote add unikraft-xxczxp https://github.com/xxczxp/catalog
git fetch unikraft-xxczxp
git checkout -b xxczxp/library/mariadb unikraft-xxczxp/xxczxp/library/mariadb
cd library/mariadb/10.11
sed -i "s/# CONFIG_LIBSYSCALL_SHIM_STRACE: 'y'/CONFIG_LIBSYSCALL_SHIM_STRACE: 'y'/" Kraftfile
kraft build --no-cache --no-update --plat qemu --arch x86_64
kraft rm --all ; kraft run --rm --log-type basic --log-level debug -M 1024M -p 3306:3306 .

the stuck output message is:

2024-03-25 20:24:02 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
write(fd:2, "2024-03-25 20:24:02 0 [N"..., 95) = 95
openat(AT_FDCWD, "/var/lib/mysql/ib_buffer_pool", O_RDONLY|O_CLOEXEC) = fd:18
newfstatat(0x12, 0x1000c3c44f, ...) = 0x0
read(fd:18, <out>"2,3\x0A1,3\x0A4,3\x0A0,300\x0A0,299\x0A"..., 512) = 512
read(fd:18, <out>"216\x0A0,215\x0A0,214\x0A0,213\x0A0,"..., 512) = 316
read(fd:18, <out>"", 512) = 0
lseek(0x12, 0x0, ...) = 0x0
read(fd:18, <out>"2,3\x0A1,3\x0A4,3\x0A0,300\x0A0,299\x0A"..., 512) = 512
read(fd:18, <out>"216\x0A0,215\x0A0,214\x0A0,213\x0A0,"..., 512) = 316
close(fd:18) = OK
openat(AT_FDCWD, "./mysql/gtid_slave_pos.isl", O_RDONLY|O_CLOEXEC|0x2) = No such file or directory (-2)
openat(AT_FDCWD, "./mysql/gtid_slave_pos.ibd", O_RDONLY|O_CLOEXEC) = fd:18
newfstatat(0x12, 0x1000c3c44f, ...) = 0x0
close(fd:18) = OK
openat(AT_FDCWD, "./mysql/innodb_index_stats.isl", O_RDONLY|O_CLOEXEC|0x2) = No such file or directory (-2)
openat(AT_FDCWD, "./mysql/innodb_index_stats.ibd", O_RDONLY|O_CLOEXEC) = fd:18
newfstatat(0x12, 0x1000c3c44f, ...) = 0x0
close(fd:18) = OK
openat(AT_FDCWD, "./mysql/innodb_table_stats.isl", O_RDONLY|O_CLOEXEC|0x2) = No such file or directory (-2)
openat(AT_FDCWD, "./mysql/innodb_table_stats.ibd", O_RDONLY|O_CLOEXEC) = fd:18
newfstatat(0x12, 0x1000c3c44f, ...) = 0x0
close(fd:18) = OK
pread64(fd:11, <out>"\x00\x00\x00\x00\x00\x00\x00\x01\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x001\xF7"..., 16384, 16384) = 16384
openat(AT_FDCWD, "./mysql/innodb_table_stats.ibd", O_RDONLY|O_CLOEXEC|0x2) = fd:18
fcntl(0x12, 0x4, ...) = 0x0
newfstatat(0x12, 0x1000c3c44f, ...) = 0x0
pread64(fd:18, <out>"\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x96N"..., 16384, 0) = 16384
clock_gettime(CLOCK_REALTIME, <out>timespec:{tv_sec=1711398242, tv_nsec=188796197}) = OK
mmap(NULL, 69632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, fd:-1, 0) = va:0x101e30d000
mprotect(va:0x101e30e000, 65536, PROT_READ|PROT_WRITE) = OK
rt_sigprocmask(0x0, 0x1000c369e0, ...) = 0x0
clone3(0x10019c4580, 0x58, ...) = Function not implemented (-38)
clone(CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, va:0x101e31cd70, <ref:0x101e31d910>pid:8, <ref:0x101e31d910>pid:8, va:0x101e31d640) = pid:8
rt_sigprocmask(0x2, 0x10019c46e0, ...) = 0x0
clock_gettime(CLOCK_REALTIME, <out>timespec:{tv_sec=1711398242, tv_nsec=215145763}) = OK
openat(AT_FDCWD, "./mysql/innodb_index_stats.ibd", O_RDONLY|O_CLOEXEC|0x2) = fd:19
fcntl(0x13, 0x4, ...) = 0x0
newfstatat(0x13, 0x1000c3c44f, ...) = 0x0
pread64(fd:19, <out>"\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x9D\xD5"..., 16384, 0) = 16384
openat(AT_FDCWD, "./mysql/gtid_slave_pos.ibd", O_RDONLY|O_CLOEXEC|0x2) = fd:20
fcntl(0x14, 0x4, ...) = 0x0
newfstatat(0x14, 0x1000c3c44f, ...) = 0x0
pread64(fd:20, <out>"\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\xAD\x95"..., 16384, 0) = 16384
set_robust_list(0x101e225920, 0x18, ...) = Function not implemented (-38)
rt_sigprocmask(0x2, 0x101e225f30, ...) = 0x0
mmap(va:0x1030000000, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000, fd:-1, 0) = va:0x1030000000
mprotect(va:0x1030000000, 135168, PROT_READ|PROT_WRITE) = OK
set_robust_list(0x101e30c920, 0x18, ...) = Function not implemented (-38)
rt_sigprocmask(0x2, 0x101e30cf30, ...) = 0x0
mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000, fd:-1, 0) = va:0x1034000000
munmap(va:0x1038000000) = OK
mprotect(va:0x1034000000, 135168, PROT_READ|PROT_WRITE) = OK
rt_sigaction(0xa, 0x101e30b880, ...) = 0x0
rt_sigprocmask(0x0, 0x101e30ba60, ...) = 0x0
openat(AT_FDCWD, "/var/lib/mysql/unikraft.pid", O_RDONLY|O_CLOEXEC|O_CREAT|O_TRUNC|0x1) = fd:21
getpid() = pid:1
write(fd:21, "1\x0A", 2) = 2
close(fd:21) = OK
futex(va:0x1003395048, FUTEX_WAKE|FUTEX_PRIVATE_FLAG, 0x7fffffff) = OK
rt_sigprocmask(0x0, 0x101e30bb50, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0
rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0

the it repeat the rt_sigtimedwait(0x101e30bb50, 0x101e30bbd0, ...) = 0x0 endless

The output message without logging is:

kraft rm --all ; kraft run --log-type basic --log-level debug -M 2048M -p 3306:3306
competent_bobo
 D  kraftkit 0.7.14
 D  using platform=qemu
 D  determining how to proceed given provided input and context
 D  using compatible context candidate=kraftfile-unikraft
 D  qemu-system-x86_64 -version
 D  qemu-system-x86_64 -accel help
 D  qemu-system-x86_64 -append /usr/sbin/mariadbd --user=root  -cpu host,+x2apic,-pmu -daemonize -device virtio-net-pci,mac=02:b0:b0:a8:4a:01,netdev=hostnet0 -device pvpanic -device sga -display none -enable-kvm -kernel /home/pneg/Document/catalog/library/mariadb/10.11/.unikraft/build/mongo_qemu-x86_64 -machine pc,accel=kvm -m size=1953M -monitor unix:/home/pneg/.local/share/kraftkit/runtime/6a96d95d-0e80-49b6-8dcb-6dec7aadc088/qemu_mon.sock,server,nowait -name 6a96d95d-0e80-49b6-8dcb-6dec7aadc088 -netdev user,id=hostnet0,hostfwd=tcp::3306-:3306 -nographic -no-reboot -S -parallel none -pidfile /home/pneg/.local/share/kraftkit/runtime/6a96d95d-0e80-49b6-8dcb-6dec7aadc088/machine.pid -qmp unix:/home/pneg/.local/share/kraftkit/runtime/6a96d95d-0e80-49b6-8dcb-6dec7aadc088/qemu_control.sock,server,nowait -qmp unix:/home/pneg/.local/share/kraftkit/runtime/6a96d95d-0e80-49b6-8dcb-6dec7aadc088/qemu_events.sock,server,nowait -rtc base=utc -serial file:/home/pneg/.local/share/kraftkit/runtime/6a96d95d-0e80-49b6-8dcb-6dec7aadc088/machine.log -smp cpus=1,threads=1,sockets=1 -vga none
en1: Interface is up
Powered by Unikraft Telesto (0.16.3~2fbc1f5)
[    0.452476] ERR:  [libposix_process] Ignore updating resource 7: cur = 32183, max = 32183
2024-03-25 20:51:03 0 [Warning] Could not increase number of max_open_files to more than 1024 (request: 32183)
2024-03-25 20:51:03 0 [Warning] Changed limits: max_open_files: 1024  max_connections: 151 (was 151)  table_cache: 421 (was 2000)
2024-03-25 20:51:03 0 [Note] Starting MariaDB 10.11.7-MariaDB-1:10.11.7+maria~ubu2204 source revision 87e13722a95af5d9378d990caf48cb6874439347 as process 1
2024-03-25 20:51:03 0 [Warning] WSREP: Failed to guess base node address. Set it explicitly via wsrep_node_address.
2024-03-25 20:51:03 0 [Warning] WSREP: Failed to guess base node address. Set it explicitly via wsrep_node_address.
2024-03-25 20:51:03 0 [Warning] WSREP: Guessing address for incoming client connections failed. Try setting wsrep_node_incoming_address explicitly.
2024-03-25 20:51:03 0 [Note] WSREP: Node addr: 
2024-03-25 20:51:03 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-03-25 20:51:03 0 [Note] InnoDB: Number of transaction pools: 1
2024-03-25 20:51:03 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2024-03-25 20:51:03 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
2024-03-25 20:51:03 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF
2024-03-25 20:51:03 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
2024-03-25 20:51:03 0 [Note] InnoDB: Completed initialization of buffer pool
2024-03-25 20:51:03 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
2024-03-25 20:51:03 0 [Note] InnoDB: End of log at LSN=46980
2024-03-25 20:51:03 0 [Note] InnoDB: 128 rollback segments are active.
2024-03-25 20:51:03 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
2024-03-25 20:51:03 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2024-03-25 20:51:03 0 [Note] InnoDB: log sequence number 46980; transaction id 14
2024-03-25 20:51:03 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-03-25 20:51:03 0 [Note] Server socket created on IP: '0.0.0.0'.
2024-03-25 20:51:03 0 [Warning] Failed to create a socket for IPv6 '::': errno: 97.
2024-03-25 20:51:03 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
amroKerkizz commented 2 months ago

Hi im a student at the University of Texas at Austin and would love to help work on this issue!

razvand commented 1 month ago

@amroKerkizz , sure, go ahead.