Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segfault while calling ThreadsX.collect? #175

Open
kalmarek opened this issue May 7, 2021 · 0 comments
Open

segfault while calling ThreadsX.collect? #175

kalmarek opened this issue May 7, 2021 · 0 comments

Comments

@kalmarek
Copy link

kalmarek commented May 7, 2021

this is using v0.5.2 (current master) of Groups.jl

julia> using Groups
[...]

julia> let R = 9, F2 = Groups.FreeGroup([:a, :b, :c])
        S2 = [gens(F2); inv.(gens(F2))]
        @time l3 = last(last(Groups.wlmetric_ball(S2, radius=R)))
        @info l3
    end
  9.769087 seconds (96.83 M allocations: 8.530 GiB, 44.63% gc time)
[ Info: 2929687

this works fine for R in 1:9, but segfaults for R=10 (the resulting array is of length 14648437), confirmed using serial code/different method.

This is the stack trace:

signal (15): Terminated
in expression starting at REPL[12]:1
gc_mark_stack_push at /buildworker/worker/package_linux64/build/src/gc.c:1687 [inlined]
gc_mark_loop at /buildworker/worker/package_linux64/build/src/gc.c:2588
_jl_gc_collect at /buildworker/worker/package_linux64/build/src/gc.c:3034
jl_gc_collect at /buildworker/worker/package_linux64/build/src/gc.c:3241
maybe_collect at /buildworker/worker/package_linux64/build/src/gc.c:880 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
jl_gc_alloc_ at /buildworker/worker/package_linux64/build/src/julia_internal.h:285 [inlined]
jl_gc_alloc at /buildworker/worker/package_linux64/build/src/gc.c:3283
_new_array_ at /buildworker/worker/package_linux64/build/src/array.c:122 [inlined]
_new_array at /buildworker/worker/package_linux64/build/src/array.c:188 [inlined]
jl_alloc_array_1d at /buildworker/worker/package_linux64/build/src/array.c:459
Array at ./boot.jl:448 [inlined]
IdDict at ./iddict.jl:15 [inlined]
IdDict at ./iddict.jl:33 [inlined]
deepcopy at ./deepcopy.jl:26 [inlined]
* at /home/kalmar/.julia/dev/Groups/src/arithmetic.jl:60 [inlined]
#65 at ./none:0 [inlined]
next at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/library.jl:54 [inlined]
next at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/core.jl:757
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/core.jl:181 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:199 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/simd.jl:41 [inlined]
_foldl_linear_bulk at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:198 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:192 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/basics.jl:111 [inlined]
_foldl_array at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:188 [inlined]
__foldl__ at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:182 [inlined]
foldl_nocomplete at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:356 [inlined]
next at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/library.jl:153 [inlined]
next at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/library.jl:54 [inlined]
next at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/core.jl:757
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/core.jl:181 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:199 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/simd.jl:41 [inlined]
_foldl_linear_bulk at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:198 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:192 [inlined]
macro expansion at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/basics.jl:113 [inlined]
_foldl_array at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:188 [inlined]
__foldl__ at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:182
unknown function (ip: 0x7f3854031e1c)
foldl_nocomplete at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/processes.jl:356 [inlined]
_reduce_basecase at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/threading_utils.jl:56
_reduce at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/reduce.jl:170
_reduce at /home/kalmar/.julia/packages/Transducers/5ZDG2/src/reduce.jl:179
#162 at ./threadingconstructs.jl:169
unknown function (ip: 0x7f3854031e5c)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:839
unknown function (ip: (nil))
unknown function (ip: (nil))
_mm_pause at /usr/local/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h:1267 [inlined]
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:163
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:162
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:162
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
_mm_pause at /usr/local/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h:1267 [inlined]
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:163
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:162
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
_mm_pause at /usr/local/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h:1267 [inlined]
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:163
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
_mm_pause at /usr/local/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/xmmintrin.h:1267 [inlined]
jl_safepoint_wait_gc at /buildworker/worker/package_linux64/build/src/safepoint.c:163
jl_set_gc_and_wait at /buildworker/worker/package_linux64/build/src/julia_internal.h:704 [inlined]
segv_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:250
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1204
unknown function (ip: (nil))
Allocations: 351478388 (Pool: 351456243; Big: 22145); GC: 41
[1]    2418694 segmentation fault (core dumped)  julia --project

EDIT:

julia> versioninfo(verbose=true)
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      "Arch Linux"
  uname: Linux 5.11.16-arch1-1 #1 SMP PREEMPT Wed, 21 Apr 2021 17:22:13 +0000 x86_64 unknown
  CPU: AMD Ryzen 7 PRO 4750U with Radeon Graphics: 
                 speed         user         nice          sys         idle          irq
       #1-16  1400 MHz    2521339 s       7251 s    1185541 s    6893503 s          0 s
       
  Memory: 29.177936553955078 GB (13763.7734375 MB free)
  Uptime: 495430.0 sec
  Load Avg:  1.78  1.84  1.96
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, znver2)
Environment:
  JULIA_NUM_THREADS = 8
@kalmarek kalmarek changed the title segfault while doing segfault while calling ThreadsX.collect? May 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant