-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Description
Android 15 / Termux latest-stable / Ubuntu LTS xor Arch, both have this problem..
Both Julia 1.10 LTS and Julia 1.11
I think it is a change in either Android or in Termux, but if it affects only some packages, with the issued illegal-instruction, then .. maybe there's some way to cause that illegal-instruction to NOT be issued, so people's learning-environment can work again?
This all began happening about 3 days ago.
1st it was Pluto, so I reported it there, then it was happening in more & more packages, through the hours..
These ( & many others ) are broken, in this environment, in both distros, Ubuntu & Arch, within Termux:
- Pluto.jl
- Revise.jl
- DataFrames.jl
- About.jl
- OhMyREPL.jl
after trying to add DataFrames, this is the error-listing:
Invalid instruction at 0x781050e074: 0x04a0e3ea
[25370] signal (4.1): Illegal instruction
in expression starting at /home/me/.julia/packages/DataFrames/kcA9R/src/other/precompile.jl:3
Array at ./range.jl:1390 [inlined]
Array at ./boot.jl:500 [inlined]
collect at ./range.jl:1393 [inlined]
|> at ./operators.jl:917
jfptr_OR.GT._20614 at /home/me/.julia/compiled/v1.10/PrettyTables/kRdcL_TzLVi.so (unknown line)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
#_print_info#63 at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:889
_print_info at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:833 [inlined]
#_print_table#64 at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:1030 [inlined]
_print_table at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:934 [inlined]
#pretty_table#62 at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:825 [inlined]
pretty_table at /home/me/.julia/packages/PrettyTables/oVZqx/src/print.jl:794 [inlined]
#_show#870 at /home/me/.julia/packages/DataFrames/kcA9R/src/abstractdataframe/show.jl:253
_show at /home/me/.julia/packages/DataFrames/kcA9R/src/abstractdataframe/show.jl:147 [inlined]
#show#871 at /home/me/.julia/packages/DataFrames/kcA9R/src/abstractdataframe/show.jl:352 [inlined]
show at /home/me/.julia/packages/DataFrames/kcA9R/src/abstractdataframe/show.jl:339
unknown function (ip: 0x7806c530cf)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
macro expansion at /home/me/.julia/packages/DataFrames/kcA9R/src/other/precompile.jl:29 [inlined]
macro expansion at /home/me/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:78 [inlined]
top-level scope at /home/me/.julia/packages/DataFrames/kcA9R/src/other/precompile.jl:102
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:925
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:877
ijl_toplevel_eval_in at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:985
eval at ./boot.jl:385 [inlined]
include_string at ./loading.jl:2146
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
_include at ./loading.jl:2206
include at ./Base.jl:495
jfptr_include_46628.3 at /usr/local/stow/julia-1.10.10/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
jl_f__call_latest at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/builtins.c:812
include at /home/me/.julia/packages/DataFrames/kcA9R/src/DataFrames.jl:1
unknown function (ip: 0x782bee90bb)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077 jl_apply at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
do_call at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:126
eval_value at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:223
eval_stmt_value at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:174 [inlined]
eval_body at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:635
jl_interpret_toplevel_thunk at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:775
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:934
jl_eval_module_expr at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:215 [inlined]
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:736
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:877
ijl_toplevel_eval_in at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:985
eval at ./boot.jl:385 [inlined]
include_string at ./loading.jl:2146
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
_include at ./loading.jl:2206
include at ./Base.jl:495 [inlined]
include_package_for_output at ./loading.jl:2292
jfptr_include_package_for_output_81281.3 at /usr/local/stow/julia-1.10.10/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
do_call at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:126
eval_value at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:223
eval_stmt_value at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:174 [inlined]
eval_body at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:635
jl_interpret_toplevel_thunk at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/interpreter.c:775
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:934
jl_toplevel_eval_flex at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:877
ijl_toplevel_eval_in at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/toplevel.c:985
eval at ./boot.jl:385 [inlined]
include_string at ./loading.jl:2146
include_string at ./loading.jl:2156 [inlined]
exec_options at ./client.jl:321
_start at ./client.jl:557
jfptr__start_83033.3 at /usr/local/stow/julia-1.10.10/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:2895 [inlined]
ijl_apply_generic at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/gf.c:3077
jl_apply at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/julia.h:1982 [inlined]
true_main at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/jlapi.c:582
jl_repl_entrypoint at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/src/jlapi.c:731
main at /cache/build/default-aws-aarch64-ci-0-4/julialang/julia-release-1-dot-10/cli/loader_exe.c:58
unknown function (ip: 0x782bfe20d3)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
_start at /usr/local/stow/julia-1.10.10/bin/julia (unknown line)
_start at /usr/local/stow/julia-1.10.10/bin/julia (unknown line)
Allocations: 33942996 (Pool: 33911250; Big: 31746); GC: 4
( this version was from my last test, in Arch )
Julia's apparently unable to know what CPU this tablet ( my main computer ) is using, please get Julia to use lscpu to discover the cpu it's on, in aarch64
The cores are all ARMv9a.
I've tried setting
export JULIA_CPU_TARGET="cortex-a-510"
to control its emitted-code, but that apparently had no effect on this.
Anyways, something is broken deep, as it doesn't matter which bin-dist of Julia I'm using, xor which Termux proot-distro I'm using, either, it's broken right through.
This means that all other people also using this as a learning-means is borked, too ( I'm working on finally earning high-school math, after decades of fighting-off brain-injury: I want to earn math before I die, dang it! It's been over 4-decades of trying, now, & Julia+Pluto.jl make learning math EASY! : )
Oh, in Ubuntu this happens with gcc-14 & gcc-13,
& with clang-19 & clang-18 in Ubuntu, & clang-20 in Arch, so it isn't that, either.
& yes the sha256sums for both Julia bin-dists check out, so it isn't them that's corrupt.
To reproduce the problem:
in Android, install F-Droid
in F-Droid, install Termux ( I've also got Termux Styles & Termux API installed, if that matters )
in Termux, install Ubuntu ( quicker to get up-to a working distro, than with Arch )
proot-distro install ubuntu
once it's done, then
proot-distro login ubuntu
then you're in, as root.
Download Julia 1.10 LTS or the current one,
mkdir /usr/local/stow
untar the archive in there
apt install xstow
then in /usr/local/stow, execute
xstow julia-10*
or, for plain old stow,
stow -S julia-10*
now Julia's installed..
in a regular user ( adduser to create one
), fire-up Julia
go into package-management mode
add Pluto
add DataFrames
add About
add Revise
add OhMyREPL
ANY of those fails with "illegal instruction"!!
AND IT DIDN'T DO-SO 4 DAYS AGO.
I hope that needed-infrastructure that our world needs becomes functioning again..
it is idiocy for anybody to be learning math without both Julia & Pluto.jl
Sorry to bother you about all this, for sake of a subset of Julia's users, learners,
Salut, Namaste, & Kaizen.
_ /\ _