You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just noticed something very strange on all my Intel based machines when installing aiken through aikup (this a new problem that didn't happen a few weeks ago):
aiken new 2072/test
cdtest
aiken buid
yields: Illegal instruction (core dumped)
a gdb trace of the issue gives the following
Reading symbols from /root/.aiken/bin/aiken...
(No debugging symbols found in /root/.aiken/bin/aiken)
[New LWP 56999]
[New LWP 56998]
[New LWP 57002]
[New LWP 56996]
[New LWP 57000]
[New LWP 57003]
[New LWP 56995]
[New LWP 56997]
[New LWP 57001]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `aiken build'.Program terminated with signal SIGILL, Illegal instruction.#0 0x0000561e4ea4d06e in __mulx_mont_384 ()[Current thread is 1 (Thread 0x7f21364b06c0 (LWP 56999))](gdb) bt#0 0x0000561e4ea4d06e in __mulx_mont_384 ()#1 0x0000561e4ea4cfeb in mulx_mont_384 ()#2 0x0000561e4ea3e5e0 in POINTonE1_Uncompress_Z ()#3 0x0000561e4deb5305 in aiken_lang::parser::literal::bytearray::parser::{{closure}} ()#4 0x0000561e4ddf761e in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#5 0x0000561e4e0111ff in <chumsky::primitive::Choice<(H_,I_,J_,K_,L_,M_,N_,O_,P_,Q_,S_,T_,U_,V_,W_,X_,Y_,Z_),E> as chumsky::Parser<I,O>>::parse_inner_silent ()#6 0x0000561e4e09e4da in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#7 0x0000561e4dda0ab1 in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#8 0x0000561e4e08e299 in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#9 0x0000561e4e0da3de in <chumsky::combinator::Foldr<A,F,O,U> as chumsky::Parser<I,U>>::parse_inner_silent ()#10 0x0000561e4e099baa in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#11 0x0000561e4e0d8a53 in <chumsky::combinator::Foldl<A,F,O,U> as chumsky::Parser<I,O>>::parse_inner_silent ()#12 0x0000561e4e09c847 in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#13 0x0000561e4e0d7d93 in <chumsky::combinator::Foldl<A,F,O,U> as chumsky::Parser<I,O>>::parse_inner_silent ()#14 0x0000561e4e09c15a in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#15 0x0000561e4e0d83f3 in <chumsky::combinator::Foldl<A,F,O,U> as chumsky::Parser<I,O>>::parse_inner_silent ()#16 0x0000561e4dd72fbf in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#17 0x0000561e4e08f02e in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#18 0x0000561e4ddde453 in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#19 0x0000561e4e0d7073 in <chumsky::combinator::Map<A,F,O> as chumsky::Parser<I,U>>::parse_inner_silent ()#20 0x0000561e4dd72fbf in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#21 0x0000561e4e09dd7e in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#22 0x0000561e4dd8bc63 in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#23 0x0000561e4e0d6d63 in <chumsky::combinator::Map<A,F,O> as chumsky::Parser<I,U>>::parse_inner_silent ()#24 0x0000561e4e097874 in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#25 0x0000561e4e0b51d0 in <chumsky::combinator::Foldl<A,F,O,U> as chumsky::Parser<I,O>>::parse_inner_silent ()#26 0x0000561e4e0b317e in <chumsky::recursive::Recursive<I,O,E> as chumsky::Parser<I,O>>::parse_inner_silent ()#27 0x0000561e4e095efa in <&T as chumsky::Parser<I,O>>::parse_inner_silent ()#28 0x0000561e4e0b4073 in <chumsky::combinator::Foldl<A,F,O,U> as chumsky::Parser<I,O>>::parse_inner_silent ()#29 0x0000561e4e0b317e in <chumsky::recursive::Recursive<I,O,E> as chumsky::Parser<I,O>>::parse_inner_silent ()#30 0x0000561e4dd874fe in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#31 0x0000561e4e004dad in <chumsky::primitive::Choice<(U_,V_,W_,X_,Y_,Z_),E> as chumsky::Parser<I,O>>::parse_inner_silent ()#32 0x0000561e4dd9924e in <chumsky::debug::Silent as chumsky::debug::Debugger>::invoke ()#33 0x0000561e4e01dda8 in chumsky::parse_recovery_inner ()#34 0x0000561e4e0b0e2b in chumsky::Parser::parse ()#35 0x0000561e4e02c000 in aiken_lang::parser::module ()#36 0x0000561e4dbb2b12 in core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut ()#37 0x0000561e4dbda8a4 in <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter ()#38 0x0000561e4dbe7021 in rayon::iter::plumbing::bridge_producer_consumer::helper ()#39 0x0000561e4dba5cc8 in rayon_core::join::join_context::{{closure}} ()(gdb) disassemble __mulx_mont_384Dump of assembler code for function __mulx_mont_384: 0x000055ba6780b020 <+0>: endbr64 0x000055ba6780b024 <+4>: mulx %r15,%r14,%r10 0x000055ba6780b029 <+9>: mulx %rax,%r15,%r11 0x000055ba6780b02e <+14>: add %r14,%r9 0x000055ba6780b031 <+17>: mulx %r12,%rax,%r12 0x000055ba6780b036 <+22>: adc %r15,%r10 0x000055ba6780b039 <+25>: mulx %rdi,%rdi,%r13 0x000055ba6780b03e <+30>: adc %rax,%r11 0x000055ba6780b041 <+33>: mulx %rbp,%rbp,%r14 0x000055ba6780b046 <+38>: mov 0x8(%rbx),%rdx 0x000055ba6780b04a <+42>: adc %rdi,%r12 0x000055ba6780b04d <+45>: adc %rbp,%r13 0x000055ba6780b050 <+48>: adc $0x0,%r14 0x000055ba6780b054 <+52>: xor %r15,%r15 0x000055ba6780b057 <+55>: mov %r8,0x10(%rsp) 0x000055ba6780b05c <+60>: imul 0x8(%rsp),%r8 0x000055ba6780b062 <+66>: xor %rax,%rax 0x000055ba6780b065 <+69>: mulx 0x80(%rsi),%rdi,%rbp=> 0x000055ba6780b06e <+78>: adox %rdi,%r9 0x000055ba6780b074 <+84>: adcx %rbp,%r10
one of the Intel CPU I tested on is an old intel CPUs (i7-4770). All my linux systems are Debian Bookworm.
Installing Aiken using cargo instead works.
edit: added disassembly of __mulx_mont_384, CPU model and Linux distribution.
The text was updated successfully, but these errors were encountered:
Just noticed something very strange on all my Intel based machines when installing aiken through aikup (this a new problem that didn't happen a few weeks ago):
yields:
Illegal instruction (core dumped)
a gdb trace of the issue gives the following
one of the Intel CPU I tested on is an old intel CPUs (i7-4770). All my linux systems are Debian Bookworm.
Installing Aiken using cargo instead works.
edit: added disassembly of __mulx_mont_384, CPU model and Linux distribution.
The text was updated successfully, but these errors were encountered: