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

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



Control: reassign -1 libmimalloc3
Control: merge -1 1106879

Next try.

22.08.2025 09:50:16 Hilmar Preuße <hille42@web.de>:

> 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: