JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.45k stars 5.46k forks source link

Crash: protect_page: Permission denied #53709

Open Octogonapus opened 6 months ago

Octogonapus commented 6 months ago

There is an rr trace for this crash here: https://julialang-dumps.s3.amazonaws.com/reports/2024-03-12T14-44-30-Octogonapus.tar.zst

I have a debug build of 1.10.2 that crashed with this exception during startup:

> taskset -c 0-15 rr record --chaos ~/Documents/code/julia/usr/bin/julia-debug -t1 -g2 --startup-file=no --project=.. debug.jl
rr: Saving execution to trace directory `/home/salmon/.local/share/rr/julia-debug-32'.
protect_page: Permission denied

[267018] signal (6.-6): Aborted
in expression starting at none:0
__pthread_kill_implementation at /lib64/libc.so.6 (unknown line)
raise at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
protect_page at /home/salmon/Documents/code/julia/src/cgmemmgr.cpp:94
finalize_block at /home/salmon/Documents/code/julia/src/cgmemmgr.cpp:713
finalize at /home/salmon/Documents/code/julia/src/cgmemmgr.cpp:727
finalizeMemory at /home/salmon/Documents/code/julia/src/cgmemmgr.cpp:912
finalizeMemory at /home/salmon/Documents/code/julia/src/jitlayers.cpp:987
_ZZN4llvm15RuntimeDyldImpl13finalizeAsyncESt10unique_ptrIS0_St14default_deleteIS0_EENS_15unique_functionIFvNS_6object12OwningBinaryINS6_10ObjectFileEEES1_INS_11RuntimeDyld16LoadedObjectInfoES2_ISB_EENS_5ErrorEEEES9_SD_ENUlNS_8ExpectedISt3mapINS_9StringRefENS_18JITEvaluatedSymbolESt4lessISJ_ESaISt4pairIKSJ_SK_EEEEEE_clESS_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm6detail18UniqueFunctionBaseIvJNS_8ExpectedISt3mapINS_9StringRefENS_18JITEvaluatedSymbolESt4lessIS4_ESaISt4pairIKS4_S5_EEEEEEE8CallImplIZNS_15RuntimeDyldImpl13finalizeAsyncESt10unique_ptrISG_St14default_deleteISG_EENS_15unique_functionIFvNS_6object12OwningBinaryINSM_10ObjectFileEEESH_INS_11RuntimeDyld16LoadedObjectInfoESI_ISR_EENS_5ErrorEEEESP_ST_EUlSD_E_EEvPvRSD_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm6detail18UniqueFunctionBaseIvJNS_8ExpectedINS_8DenseMapINS_3orc15SymbolStringPtrENS_18JITEvaluatedSymbolENS_12DenseMapInfoIS5_vEENS0_12DenseMapPairIS5_S6_EEEEEEEE8CallImplIZN12_GLOBAL__N_127JITDylibSearchOrderResolver6lookupERKSt3setINS_9StringRefESt4lessISI_ESaISI_EENS_15unique_functionIFvNS2_ISt3mapISI_S6_SK_SaISt4pairIKSI_S6_EEEEEEEEEUlSC_E_EEvPvRSC_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZZN4llvm3orc23AsynchronousSymbolQuery14handleCompleteERNS0_16ExecutionSessionEEN20RunQueryCompleteTask3runEv at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm6detail18UniqueFunctionBaseIvJSt10unique_ptrINS_3orc4TaskESt14default_deleteIS4_EEEE8CallImplIPFvS7_EEEvPvRS7_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc23AsynchronousSymbolQuery14handleCompleteERNS0_16ExecutionSessionE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession17OL_completeLookupESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EESt10shared_ptrINS0_23AsynchronousSymbolQueryEESt8functionIFvRKNS_8DenseMapIPNS0_8JITDylibENS_8DenseSetINS0_15SymbolStringPtrENS_12DenseMapInfoISF_vEEEENSG_ISD_vEENS_6detail12DenseMapPairISD_SI_EEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc25InProgressFullLookupState8completeESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession19OL_applyQueryPhase1ESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EENS_5ErrorE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupENS0_10LookupKindERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS8_EENS0_15SymbolLookupSetENS0_11SymbolStateENS_15unique_functionIFvNS_8ExpectedINS_8DenseMapINS0_15SymbolStringPtrENS_18JITEvaluatedSymbolENS_12DenseMapInfoISI_vEENS_6detail12DenseMapPairISI_SJ_EEEEEEEEESt8functionIFvRKNSH_IS6_NS_8DenseSetISI_SL_EENSK_IS6_vEENSN_IS6_SV_EEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN12_GLOBAL__N_127JITDylibSearchOrderResolver6lookupERKSt3setIN4llvm9StringRefESt4lessIS3_ESaIS3_EENS2_15unique_functionIFvNS2_8ExpectedISt3mapIS3_NS2_18JITEvaluatedSymbolES5_SaISt4pairIKS3_SD_EEEEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm15RuntimeDyldImpl13finalizeAsyncESt10unique_ptrIS0_St14default_deleteIS0_EENS_15unique_functionIFvNS_6object12OwningBinaryINS6_10ObjectFileEEES1_INS_11RuntimeDyld16LoadedObjectInfoES2_ISB_EENS_5ErrorEEEES9_SD_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm13jitLinkForORCENS_6object12OwningBinaryINS0_10ObjectFileEEERNS_11RuntimeDyld13MemoryManagerERNS_17JITSymbolResolverEbNS_15unique_functionIFNS_5ErrorERKS2_RNS4_16LoadedObjectInfoESt3mapINS_9StringRefENS_18JITEvaluatedSymbolESt4lessISG_ESaISt4pairIKSG_SH_EEEEEENS9_IFvS3_St10unique_ptrISD_St14default_deleteISD_EESA_EEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc24RTDyldObjectLinkingLayer4emitESt10unique_ptrINS0_29MaterializationResponsibilityESt14default_deleteIS3_EES2_INS_12MemoryBufferES4_IS7_EE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
emit at /home/salmon/Documents/code/julia/src/jitlayers.h:370
_ZN4llvm3orc14IRCompileLayer4emitESt10unique_ptrINS0_29MaterializationResponsibilityESt14default_deleteIS3_EENS0_16ThreadSafeModuleE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16IRTransformLayer4emitESt10unique_ptrINS0_29MaterializationResponsibilityESt14default_deleteIS3_EENS0_16ThreadSafeModuleE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
emit at /home/salmon/Documents/code/julia/src/jitlayers.cpp:712
_ZN4llvm3orc31BasicIRLayerMaterializationUnit11materializeESt10unique_ptrINS0_29MaterializationResponsibilityESt14default_deleteIS3_EE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc19MaterializationTask3runEv at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm6detail18UniqueFunctionBaseIvJSt10unique_ptrINS_3orc4TaskESt14default_deleteIS4_EEEE8CallImplIPFvS7_EEEvPvRS7_ at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession22dispatchOutstandingMUsEv at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession17OL_completeLookupESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EESt10shared_ptrINS0_23AsynchronousSymbolQueryEESt8functionIFvRKNS_8DenseMapIPNS0_8JITDylibENS_8DenseSetINS0_15SymbolStringPtrENS_12DenseMapInfoISF_vEEEENSG_ISD_vEENS_6detail12DenseMapPairISD_SI_EEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc25InProgressFullLookupState8completeESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession19OL_applyQueryPhase1ESt10unique_ptrINS0_21InProgressLookupStateESt14default_deleteIS3_EENS_5ErrorE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupENS0_10LookupKindERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS8_EENS0_15SymbolLookupSetENS0_11SymbolStateENS_15unique_functionIFvNS_8ExpectedINS_8DenseMapINS0_15SymbolStringPtrENS_18JITEvaluatedSymbolENS_12DenseMapInfoISI_vEENS_6detail12DenseMapPairISI_SJ_EEEEEEEEESt8functionIFvRKNSH_IS6_NS_8DenseSetISI_SL_EENSK_IS6_vEENSN_IS6_SV_EEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS7_EENS0_15SymbolLookupSetENS0_10LookupKindENS0_11SymbolStateESt8functionIFvRKNS_8DenseMapIS5_NS_8DenseSetINS0_15SymbolStringPtrENS_12DenseMapInfoISI_vEEEENSJ_IS5_vEENS_6detail12DenseMapPairIS5_SL_EEEEEE at /home/salmon/Documents/code/julia/usr/bin/../lib/libLLVM-15jl.so (unknown line)
addModule at /home/salmon/Documents/code/julia/src/jitlayers.cpp:1592
init_f16_funcs at /home/salmon/Documents/code/julia/src/codegen.cpp:9034
jl_init_codegen_impl at /home/salmon/Documents/code/julia/src/codegen.cpp:9279
_finish_julia_init at /home/salmon/Documents/code/julia/src/init.c:856
julia_init at /home/salmon/Documents/code/julia/src/init.c:844
jl_repl_entrypoint at /home/salmon/Documents/code/julia/src/jlapi.c:725
jl_load_repl at /home/salmon/Documents/code/julia/cli/loader_lib.c:568
main at /home/salmon/Documents/code/julia/cli/loader_exe.c:58
__libc_start_call_main at /lib64/libc.so.6 (unknown line)

versioninfo:

julia> versioninfo()
Julia Version 1.10.2
Commit bd47eca2c8* (2024-03-01 10:14 UTC)
Build Info:
  DEBUG build

    Note: This is an unofficial build, please report bugs to the project
    responsible for this build and not to the Julia project unless you can
    reproduce the issue using official builds available at https://julialang.org/downloads

Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: 32 × 13th Gen Intel(R) Core(TM) i9-13900K
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, goldmont)
Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)
Environment:
  LD_LIBRARY_PATH = /home/salmon/.gvm/pkgsets/go1.22/global/overlay/lib:/home/salmon/.gvm/pkgsets/go1.22/global/overlay/lib::/usr/local/cuda-12.1/lib64/:/usr/local/cuda-12.1/lib64/
  DYLD_LIBRARY_PATH = /home/salmon/.gvm/pkgsets/go1.22/global/overlay/lib:/home/salmon/.gvm/pkgsets/go1.22/global/overlay/lib:
Octogonapus commented 6 months ago

I've been debugging this further and it looks like this crash only happens when using a debug build of Julia inside rr. I can't reproduce it outside of rr nor when using a release build.