[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1111726: context: "mtxrun --generate" fails with "Illegal instruction"



Control: severity -1 important
Control: reassign -1 *libmimalloc3*
Control: merge -1 1106879

This looks like a known issue for *libmimalloc3*. Reassigning, merging

Hilmar

21.08.2025 15:51:23 Sanjoy Mahajan <sanjoy@mit.edu>:

> Package: context
> Version: 2025.03.05.20250324+dfsg-2
> Severity: normal
> File: /usr/bin/mtxrun
> 
> When run as root, "mtxrun --generate" fails with "Illegal instruction".
> Here is an strace.  I tried changing vm.overcommit_memory (trying 1 and
> 2 in addition to the default of 0) but no luck.  Maybe this problem is
> really in libmimalloc (libmimalloc3:amd64 3.0.3+ds-1.1)?
> 
> execve("/usr/bin/mtxrun", ["mtxrun", "--generate"], 0x7ffdabc0a808 /* 20 vars */) = 0
> brk(NULL)                               = 0x5621792bf000
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c4350e000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=145047, ...}) = 0
> mmap(NULL, 145047, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0c434ea000
> close(3)                                = 0
> openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmimalloc.so.3", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=167920, ...}) = 0
> mmap(NULL, 193296, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0c434ba000
> mmap(0x7f0c434c0000, 86016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f0c434c0000
> mmap(0x7f0c434d5000, 32768, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f0c434d5000
> mmap(0x7f0c434dd000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f0c434dd000
> mmap(0x7f0c434e4000, 21264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0c434e4000
> close(3)                                = 0
> openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=977112, ...}) = 0
> mmap(NULL, 978968, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0c433ca000
> mmap(0x7f0c433db000, 512000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f0c433db000
> mmap(0x7f0c43458000, 393216, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8e000) = 0x7f0c43458000
> mmap(0x7f0c434b8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xed000) = 0x7f0c434b8000
> close(3)                                = 0
> openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\236\2\0\0\0\0\0"..., 832) = 832
> pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
> fstat(3, {st_mode=S_IFREG|0755, st_size=2003408, ...}) = 0
> pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
> mmap(NULL, 2055800, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0c431d4000
> mmap(0x7f0c431fc000, 1462272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f0c431fc000
> mmap(0x7f0c43361000, 352256, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0x7f0c43361000
> mmap(0x7f0c433b7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e2000) = 0x7f0c433b7000
> mmap(0x7f0c433bd000, 52856, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0c433bd000
> close(3)                                = 0
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c431d2000
> arch_prctl(ARCH_SET_FS, 0x7f0c431d2b80) = 0
> set_tid_address(0x7f0c431d2e50)         = 402759
> set_robust_list(0x7f0c431d2e60, 24)     = 0
> rseq(0x7f0c431d2ac0, 0x20, 0, 0x53053053) = 0
> mprotect(0x7f0c433b7000, 16384, PROT_READ) = 0
> mprotect(0x7f0c434b8000, 4096, PROT_READ) = 0
> mprotect(0x7f0c434dd000, 8192, PROT_READ) = 0
> mprotect(0x5621558bb000, 45056, PROT_READ) = 0
> mprotect(0x7f0c4354a000, 8192, PROT_READ) = 0
> prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
> munmap(0x7f0c434ea000, 145047)          = 0
> getrandom("\xdc\xc9\x39\xdd\x6e\x6d\x65\xf8\xdf\x46\xef\xef\x13\xf5\x8f\x21\x08\x4c\x1b\x57\x7e\x5a\x0f\xed\x3f\x35\x39\x74\x34\x04\xf6\x31", 32, GRND_NONBLOCK) = 32
> sysinfo({uptime=13489650, loads=[1984, 3616, 8128], totalram=8257196032, freeram=700715008, sharedram=66269184, bufferram=90144768, totalswap=0, freeswap=0, procs=277, totalhigh=0, freehigh=0, mem_unit=1}) = 0
> open("/proc/sys/vm/overcommit_memory", O_RDONLY) = 3
> read(3, "0\n", 32)                      = 2
> close(3)                                = 0
> mmap(NULL, 2359296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f0c42f92000
> prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7f0c42f92000, 2359296, "mimalloc") = -1 EINVAL (Invalid argument)
> clock_gettime(CLOCK_MONOTONIC, {tv_sec=305472, tv_nsec=21684732}) = 0
> clock_gettime(CLOCK_MONOTONIC, {tv_sec=305472, tv_nsec=21765120}) = 0
> clock_gettime(CLOCK_MONOTONIC, {tv_sec=305472, tv_nsec=21844810}) = 0
> mmap(NULL, 1073807360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f0c02f82000
> prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7f0c02f82000, 1073807360, "mimalloc") = -1 EINVAL (Invalid argument)
> munmap(0x7f0c02f82000, 57344)           = 0
> munmap(0x7f0c42f90000, 8192)            = 0
> --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x7f0c434c6988} ---
> +++ killed by SIGILL +++
> 
> 
> -- System Information:
> Debian Release: forky/sid
>   APT prefers testing
>   APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 6.12.17-amd64 (SMP w/2 CPU threads; PREEMPT)
> Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
> 
> Versions of packages context depends on:
> ii  lmodern           2.005-1
> ii  luametatex        2.11.07+ds-2
> ii  ruby              1:3.3+b1
> ih  tex-common        6.19
> ii  tex-gyre          20180621-6
> ii  texlive-base      2025.20250727-2
> ii  texlive-binaries  2025.20250727.75242+ds-4
> ii  texlive-metapost  2025.20250727-2
> 
> Versions of packages context recommends:
> ii  context-modules           20250324-2
> ii  fonts-freefont-otf        20211204+svn4273-2
> ii  fonts-gfs-artemisia       1.1-6
> ii  fonts-gfs-baskerville     1.1-6
> ii  fonts-gfs-bodoni-classic  1.1-6
> ii  fonts-gfs-didot           1.1-7
> ii  fonts-gfs-didot-classic   1.1-6
> ii  fonts-gfs-gazis           1.1-6
> ii  fonts-gfs-neohellenic     1.1-7
> ii  fonts-gfs-olga            1.1-6
> ii  fonts-gfs-porson          1.1-7
> ii  fonts-gfs-solomos         1.1-6
> ii  fonts-gfs-theokritos      1.1-6
> ii  fonts-sil-gentium         20081126:1.03-4
> 
> Versions of packages context suggests:
> pn  context-nonfree     <none>
> pn  fontforge           <none>
> ii  libxml-parser-perl  2.47-1+b3
> ii  perl-tk             1:804.036+dfsg1-5
> 
> -- no debconf information


Reply to: