JuliaLabs / MLIR.jl

MIT License
55 stars 8 forks source link

CI failure on nightly due to `no method matching unsafe_convert(::Type{Ptr{Nothing}}, ::IOBuffer)` #41

Closed vchuravy closed 8 months ago

vchuravy commented 8 months ago
      Testing Running tests...
loc("range.jl":415:0): error: 'cf.cond_br' op requires dense i32 array attribute 'operand_segment_sizes'
loc("range.jl":898:0): error: 'cf.cond_br' op requires dense i32 array attribute 'operand_segment_sizes'
loc("/home/runner/work/MLIR.jl/MLIR.jl/examples/brutus.jl":257:0): error: 'cf.cond_br' op requires dense i32 array attribute 'operand_segment_sizes'
loc("range.jl":902:0): error: 'cf.cond_br' op requires dense i32 array attribute 'operand_segment_sizes'
loc("/home/runner/work/MLIR.jl/MLIR.jl/examples/brutus.jl":259:0): error: 'cf.cond_br' op requires dense i32 array attribute 'operand_segment_sizes'
ERROR: LoadError: MethodError: no method matching unsafe_convert(::Type{Ptr{Nothing}}, ::IOBuffer)

Closest candidates are:
  unsafe_convert(::Type{Ptr{Nothing}}, ::GenericMemoryRef{<:Any, T, Core.AddrSpace{Core}(0x00)}) where T
   @ Base pointer.jl:76
  unsafe_convert(::Type{Ptr{T}}, ::GenericMemoryRef) where T
   @ Base pointer.jl:89
  unsafe_convert(::Type{Ptr{T}}, ::Ptr{NTuple{N, T}}) where {N, T}
   @ Base refpointer.jl:186
  ...

Stacktrace:
 [1] mlirOpPassManagerAddPipeline(passManager::MLIR.IR.OpPassManager, pipelineElements::String, callback::Ptr{Nothing}, userData::IOBuffer)
   @ MLIR.API ~/work/MLIR.jl/MLIR.jl/src/API/16/libMLIR_h.jl:4143
 [2] add_pipeline!(op_pass::MLIR.IR.OpPassManager, pipeline::String)
   @ MLIR.IR ~/work/MLIR.jl/MLIR.jl/src/IR/Pass.jl:85
 [3] (::var"#1#2")()
   @ Main ~/work/MLIR.jl/MLIR.jl/examples/brutus.jl:291
 [4] context!(f::var"#1#2", ctx::Context)
   @ MLIR.IR ~/work/MLIR.jl/MLIR.jl/src/IR/state.jl:37
 [5] top-level scope
   @ ~/work/MLIR.jl/MLIR.jl/examples/brutus.jl:276
in expression starting at /home/runner/work/MLIR.jl/MLIR.jl/examples/brutus.jl:276
example = brutus.jl: Test Failed at /home/runner/work/MLIR.jl/MLIR.jl/test/examples.jl:29
  Expression: success(pipeline(`$cmd $example`, stderr = stderr))

Stacktrace:
jumerckx commented 8 months ago

This is a fix I have for nightly, don't know how it behaves for older Julia versions though. https://github.com/JuliaLabs/MLIR.jl/tree/jm/add_pipeline_fix