Skip to content

1.10 release beta3 has an inference regression bug: infinite hang during inference #51603

@NHDaly

Description

@NHDaly

It looks like our new julia release testing automation at RAI is working and has caught a regression! 🎉 Thank you to @nickrobinson251, @quinnj and @Drvi for driving this. ❤️

Our build started failing in between Sept 25th and Sept 26th (but we are only just getting started with the automatic notifications so it took us a few days to get to this):
Screenshot 2023-10-05 at 12 28 07 PM

The failure mode is the job is hanging during PackageCompiler compiling incremental system image:

- PackageCompiler: compiling incremental system image

and then is eventually killed by our build system.

@nickrobinson251 and @kpamnany have also observed this locally on Julia master, where just using RAICode (our package) was spinning forever.
Kiran attached lldb and saw the following julia stack traces:

(lldb) bt                                                                                                                                                                                       
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP                                                                                                                      
  * frame #0: 0x000000011d42f494 sys.dylib`julia_already_inserted_31931 at essentials.jl:13                                                                                                     
    frame #1: 0x000000011d28a928 sys.dylib`julia_simple_walk_31884 at passes.jl:190                                                                                                             
    frame #2: 0x000000011d54da80 sys.dylib`julia_walk_to_defs_31913 at passes.jl:236                                                                                                            
    frame #3: 0x000000011d3117f0 sys.dylib`julia_sroa_passNOT._32108 at passes.jl:183                                                                                                           
    frame #4: 0x000000011d3e29ac sys.dylib`julia_run_passes_ipo_safe_32621 at optimize.jl:797                                                                                                   
    frame #5: 0x000000011d294f80 sys.dylib`julia_optimize_32604 at optimize.jl:812                                                                                                              
    frame #6: 0x000000011d294ffc sys.dylib`jfptr_optimize_32605 + 56                                                                                                                            
    frame #7: 0x000000010473da58 libjulia-internal.1.11.0.dylib`ijl_apply_generic at gf.c:2873:35 [opt]                                                                                         
    frame #8: 0x000000010473da10 libjulia-internal.1.11.0.dylib`ijl_apply_generic(F=0x000000011d908ed0, args=0x000000016bca3a38, nargs=<unavailable>) at gf.c:3074:12 [opt]                     
    frame #9: 0x000000011d549fa8 sys.dylib`julia__typeinf_30761 at typeinfer.jl:265                                                                                                             
    frame #10: 0x000000011d3178a8 sys.dylib`julia_typeinf_30732 at typeinfer.jl:216                                                                                                             
    frame #11: 0x000000011d1bcdb4 sys.dylib`julia_typeinf_edge_30856 at typeinfer.jl:863                                                                                                        
  <snip>

I haven't run a complete git bisect yet, but looking at the 1.10 release backports branch, it seems that one of these two commits are the likely culprits (CC: @aviatesk):

Screenshot 2023-10-05 at 12 31 13 PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIndicates an unexpected problem or unintended behaviorcompiler:inferenceType inferenceregressionRegression in behavior compared to a previous version

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions