lutaml / expressir

Ruby parser for the ISO EXPRESS language
3 stars 3 forks source link

Still crashing #139

Open opoudjis opened 11 months ago

opoudjis commented 11 months ago

It's less frequent than before, and still inconsistent, but expressir on Ruby 3.2 is still crashing.

Latest instance:

compile sections/schemadocs/language_schema.adoc
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:600: [BUG] Segmentation fault at 0x046df1c6ec7170ec
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

-- Control frame information -----------------------------------------------
c:0097 p:---- s:0639 e:000638 CFUNC  :selector
c:0096 p:0004 s:0635 e:000634 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:600 [FINISH]
c:0095 p:---- s:0623 e:000622 CFUNC  :visit
c:0094 p:0006 s:0618 e:000617 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0093 p:0012 s:0612 e:000611 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0092 p:0131 s:0606 e:000605 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:2146 [FINISH]
c:0091 p:---- s:0590 e:000589 CFUNC  :visit
c:0090 p:0006 s:0585 e:000584 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0089 p:0005 s:0579 e:000578 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0088 p:---- s:0575 e:000574 CFUNC  :map
c:0087 p:0009 s:0571 e:000570 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0086 p:0158 s:0566 e:000565 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:985 [FINISH]
c:0085 p:---- s:0540 e:000539 CFUNC  :visit
c:0084 p:0006 s:0535 e:000534 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0083 p:0012 s:0529 e:000528 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0082 p:0059 s:0523 e:000522 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:683 [FINISH]
c:0081 p:---- s:0513 e:000512 CFUNC  :visit
c:0080 p:0006 s:0508 e:000507 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0079 p:0012 s:0502 e:000501 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0078 p:0023 s:0496 e:000495 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:1934 [FINISH]
c:0077 p:---- s:0489 e:000488 CFUNC  :visit
c:0076 p:0006 s:0484 e:000483 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0075 p:0005 s:0478 e:000477 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0074 p:---- s:0474 e:000473 CFUNC  :map
c:0073 p:0009 s:0470 e:000469 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0072 p:0080 s:0465 e:000464 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:1949 [FINISH]
c:0071 p:---- s:0443 e:000442 CFUNC  :visit
c:0070 p:0006 s:0438 e:000437 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0069 p:0005 s:0432 e:000431 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0068 p:---- s:0428 e:000427 CFUNC  :map
c:0067 p:0009 s:0424 e:000423 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0066 p:0011 s:0419 e:000418 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:2295 [FINISH]
c:0065 p:---- s:0412 e:000411 CFUNC  :visit
c:0064 p:0006 s:0407 e:000406 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0063 p:0065 s:0401 e:000400 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:44
c:0062 p:0007 s:0393 e:000392 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:66 [FINISH]
c:0061 p:---- s:0387 e:000386 IFUNC 
c:0060 p:---- s:0384 e:000383 IFUNC 
c:0059 p:---- s:0381 e:000380 CFUNC  :each
c:0058 p:---- s:0378 e:000377 CFUNC  :each_with_index
c:0057 p:---- s:0375 e:000374 CFUNC  :each
c:0056 p:---- s:0372 e:000371 CFUNC  :map
c:0055 p:0007 s:0368 e:000367 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64
c:0054 p:0065 s:0359 e:000358 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:41
c:0053 p:0003 s:0355 e:000354 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:32
c:0052 p:0033 s:0350 e:000349 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:17
c:0051 p:0043 s:0344 e:000343 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb
c:0050 p:0021 s:0334 e:000333 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb
c:0049 p:0059 s:0328 e:000327 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb
c:0048 p:0066 s:0316 e:000315 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb [FINISH]
c:0047 p:---- s:0307 e:000306 CFUNC  :loop
c:0046 p:0008 s:0303 e:000302 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb
c:0045 p:0027 s:0296 e:000295 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/lutaml_p [FINISH]
c:0044 p:---- s:0286 e:000285 CFUNC  :[]
c:0043 p:0011 s:0280 e:000279 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533 [FINISH]
c:0042 p:---- s:0276 e:000275 CFUNC  :each
c:0041 p:0086 s:0272 e:000271 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532
c:0040 p:0471 s:0265 e:000264 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/load.rb:84
c:0039 p:0021 s:0250 e:000249 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:25
c:0038 p:0071 s:0241 e:000240 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:13
c:0037 p:0019 s:0232 e:000231 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/processor.rb:21
c:0036 p:0099 s:0225 e:000223 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:59
c:0035 p:0059 s:0216 e:000215 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:41
c:0034 p:0060 s:0209 e:000208 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:33
c:0033 p:0016 s:0200 e:000199 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:45
c:0032 p:0003 s:0195 e:000194 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:30
c:0031 p:0009 s:0191 e:000190 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:35
c:0030 p:0013 s:0185 e:000184 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:244
c:0029 p:0010 s:0178 e:000177 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:48 [FINISH]
c:0028 p:---- s:0174 e:000173 CFUNC  :each
c:0027 p:0038 s:0170 e:000169 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:48
c:0026 p:0054 s:0164 e:000163 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27
c:0025 p:0034 s:0156 e:000155 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-hollaback-0.2.1/lib/thor/hollaback.rb:68
c:0024 p:0040 s:0149 e:000148 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127
c:0023 p:0213 s:0142 e:000141 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor.rb:392
c:0022 p:0044 s:0129 e:000128 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485
c:0021 p:0022 s:0122 e:000121 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli.rb:34
c:0020 p:0006 s:0115 e:000114 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/exe/metanorma:25
c:0019 p:0155 s:0112 E:001778 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/exe/metanorma:43 [FINISH]
c:0018 p:---- s:0104 e:000103 CFUNC  :load
c:0017 p:0078 s:0099 e:000098 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25 [FINISH]
c:0016 p:---- s:0094 e:000093 CFUNC  :load
c:0015 p:0064 s:0089 e:000088 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58
c:0014 p:0050 s:0083 e:000082 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:23
c:0013 p:0034 s:0078 e:000077 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:492
c:0012 p:0054 s:0073 e:000072 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/command.rb:28
c:0011 p:0040 s:0065 e:000064 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/invocation.rb:127
c:0010 p:0213 s:0058 e:000057 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor.rb:527
c:0009 p:0008 s:0045 e:000044 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:34
c:0008 p:0044 s:0040 e:000039 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/base.rb:584
c:0007 p:0022 s:0033 e:000032 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:28
c:0006 p:0042 s:0028 e:000027 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:37
c:0005 p:0007 s:0022 e:000021 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/friendly_errors.rb:117
c:0004 p:0108 s:0017 E:001048 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:29 [FINISH]
c:0003 p:---- s:0013 e:000012 CFUNC  :load
c:0002 p:0081 s:0008 E:002540 EVAL   /Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25 [FINISH]
c:0001 p:0000 s:0003 E:0001c0 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
/Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25:in `<main>'
/Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:29:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:37:in `block in <top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:28:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:34:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:492:in `exec'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:23:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/exe/metanorma:43:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/exe/metanorma:25:in `block in <top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli.rb:34:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-hollaback-0.2.1/lib/thor/hollaback.rb:68:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:48:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:48:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:48:in `block in compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/command.rb:244:in `compile_document'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:35:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:30:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.9/lib/metanorma/cli/compiler.rb:45:in `compile_file'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:33:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:41:in `process_input'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:59:in `process_input_adoc'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/processor.rb:21:in `input_to_isodoc'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:13:in `process'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:25:in `asciidoctor_validate'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/load.rb:84:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533:in `block in parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533:in `[]'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb:20:in `process'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:122:in `parse_document_express_indexes'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:122:in `loop'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:131:in `block in parse_document_express_indexes'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:55:in `process_express_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:86:in `express_from_path'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.19/lib/metanorma/plugin/lutaml/utils.rb:117:in `express_from_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:17:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:32:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:41:in `parse_into_document'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64:in `from_files'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64:in `each_with_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:64:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:66:in `block in from_files'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/parser.rb:44:in `from_file'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:2295:in `visit_syntax'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:1949:in `visit_schema_decl'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:1934:in `visit_schema_body_declaration'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:683:in `visit_declaration'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:985:in `visit_function_decl'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:2146:in `visit_stmt'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:600:in `visit_case_stmt'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.10-arm64-darwin/lib/expressir/express/visitor.rb:600:in `selector'

-- Machine register context ------------------------------------------------
  x0: 0x000000016cf22878  x1: 0x0000000000000001  x2: 0x0000000000000000
  x3: 0x0000000000000000  x4: 0x0000000000000007  x5: 0x0000000040a00000
  x6: 0x0000600003c4f7c0  x7: 0x0000000000000950 x18: 0x0000000000000000
 x19: 0x0000000000000000 x20: 0x0000000000000000 x21: 0x0000000000000000
 x22: 0x0000000000000001 x23: 0x0000000000000002 x24: 0x000000016cf22900
 x25: 0xed4c8001855c7d80 x26: 0xed581e696f6d474d x27: 0x1de76de4abe8e8aa
 x28: 0x8758394c73ba828c  lr: 0x046df1c6ec7170ea  fp: 0x000000016cf22c70
  sp: 0x000000016cf22c70

-- C level backtrace information -------------------------------------------
maxirmx commented 11 months ago

@opoudjis Could you make me a favor and try 1.2.11 ? Thank you

opoudjis commented 11 months ago

Just upgraded. Will let you know, though it is unpredictable; I compiled all of ISO-10303 yesterday, and got no crashes...

opoudjis commented 11 months ago
compile sections/schemadocs/date_time_schema.adoc
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:600: [BUG] Segmentation fault at 0xfefbb0db32816551
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

-- Control frame information -----------------------------------------------
c:0097 p:---- s:0639 e:000638 CFUNC  :selector
c:0096 p:0004 s:0635 e:000634 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:600 [FINISH]
c:0095 p:---- s:0623 e:000622 CFUNC  :visit
c:0094 p:0006 s:0618 e:000617 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0093 p:0012 s:0612 e:000611 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0092 p:0131 s:0606 e:000605 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:2146 [FINISH]
c:0091 p:---- s:0590 e:000589 CFUNC  :visit
c:0090 p:0006 s:0585 e:000584 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0089 p:0005 s:0579 e:000578 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0088 p:---- s:0575 e:000574 CFUNC  :map
c:0087 p:0009 s:0571 e:000570 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0086 p:0158 s:0566 e:000565 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:985 [FINISH]
c:0085 p:---- s:0540 e:000539 CFUNC  :visit
c:0084 p:0006 s:0535 e:000534 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0083 p:0012 s:0529 e:000528 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0082 p:0059 s:0523 e:000522 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:683 [FINISH]
c:0081 p:---- s:0513 e:000512 CFUNC  :visit
c:0080 p:0006 s:0508 e:000507 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0079 p:0012 s:0502 e:000501 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67
c:0078 p:0023 s:0496 e:000495 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:1934 [FINISH]
c:0077 p:---- s:0489 e:000488 CFUNC  :visit
c:0076 p:0006 s:0484 e:000483 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0075 p:0005 s:0478 e:000477 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0074 p:---- s:0474 e:000473 CFUNC  :map
c:0073 p:0009 s:0470 e:000469 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0072 p:0080 s:0465 e:000464 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:1949 [FINISH]
c:0071 p:---- s:0443 e:000442 CFUNC  :visit
c:0070 p:0006 s:0438 e:000437 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0069 p:0005 s:0432 e:000431 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75 [FINISH]
c:0068 p:---- s:0428 e:000427 CFUNC  :map
c:0067 p:0009 s:0424 e:000423 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75
c:0066 p:0011 s:0419 e:000418 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:2295 [FINISH]
c:0065 p:---- s:0412 e:000411 CFUNC  :visit
c:0064 p:0006 s:0407 e:000406 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55
c:0063 p:0065 s:0401 e:000400 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:44
c:0062 p:0007 s:0393 e:000392 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:66 [FINISH]
c:0061 p:---- s:0387 e:000386 IFUNC 
c:0060 p:---- s:0384 e:000383 IFUNC 
c:0059 p:---- s:0381 e:000380 CFUNC  :each
c:0058 p:---- s:0378 e:000377 CFUNC  :each_with_index
c:0057 p:---- s:0375 e:000374 CFUNC  :each
c:0056 p:---- s:0372 e:000371 CFUNC  :map
c:0055 p:0007 s:0368 e:000367 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64
c:0054 p:0065 s:0359 e:000358 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:41
c:0053 p:0003 s:0355 e:000354 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:32
c:0052 p:0033 s:0350 e:000349 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:17
c:0051 p:0043 s:0344 e:000343 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb
c:0050 p:0021 s:0334 e:000333 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb
c:0049 p:0059 s:0328 e:000327 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb
c:0048 p:0066 s:0316 e:000315 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb [FINISH]
c:0047 p:---- s:0307 e:000306 CFUNC  :loop
c:0046 p:0008 s:0303 e:000302 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb
c:0045 p:0027 s:0296 e:000295 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/lutaml_p [FINISH]
c:0044 p:---- s:0286 e:000285 CFUNC  :[]
c:0043 p:0011 s:0280 e:000279 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533 [FINISH]
c:0042 p:---- s:0276 e:000275 CFUNC  :each
c:0041 p:0086 s:0272 e:000271 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532
c:0040 p:0471 s:0265 e:000264 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/load.rb:84
c:0039 p:0021 s:0250 e:000249 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:25
c:0038 p:0071 s:0241 e:000240 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:13
c:0037 p:0019 s:0232 e:000231 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/processor.rb:21
c:0036 p:0099 s:0225 e:000223 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:59
c:0035 p:0059 s:0216 e:000215 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:41
c:0034 p:0060 s:0209 e:000208 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:33
c:0033 p:0016 s:0200 e:000199 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:45
c:0032 p:0003 s:0195 e:000194 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:30
c:0031 p:0009 s:0191 e:000190 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:35
c:0030 p:0013 s:0185 e:000184 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:244
c:0029 p:0010 s:0178 e:000177 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:48 [FINISH]
c:0028 p:---- s:0174 e:000173 CFUNC  :each
c:0027 p:0038 s:0170 e:000169 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:48
c:0026 p:0054 s:0164 e:000163 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27
c:0025 p:0034 s:0156 e:000155 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-hollaback-0.2.1/lib/thor/hollaback.rb:68
c:0024 p:0040 s:0149 e:000148 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127
c:0023 p:0213 s:0142 e:000141 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor.rb:392
c:0022 p:0044 s:0129 e:000128 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485
c:0021 p:0022 s:0122 e:000121 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli.rb:34
c:0020 p:0006 s:0115 e:000114 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/exe/metanorma:25
c:0019 p:0155 s:0112 E:000558 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/exe/metanorma:43 [FINISH]
c:0018 p:---- s:0104 e:000103 CFUNC  :load
c:0017 p:0078 s:0099 e:000098 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25 [FINISH]
c:0016 p:---- s:0094 e:000093 CFUNC  :load
c:0015 p:0064 s:0089 e:000088 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58
c:0014 p:0050 s:0083 e:000082 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:23
c:0013 p:0034 s:0078 e:000077 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:492
c:0012 p:0054 s:0073 e:000072 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/command.rb:28
c:0011 p:0040 s:0065 e:000064 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/invocation.rb:127
c:0010 p:0213 s:0058 e:000057 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor.rb:527
c:0009 p:0008 s:0045 e:000044 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:34
c:0008 p:0044 s:0040 e:000039 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/base.rb:584
c:0007 p:0022 s:0033 e:000032 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:28
c:0006 p:0042 s:0028 e:000027 BLOCK  /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:37
c:0005 p:0007 s:0022 e:000021 METHOD /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/friendly_errors.rb:117
c:0004 p:0108 s:0017 E:002548 TOP    /Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:29 [FINISH]
c:0003 p:---- s:0013 e:000012 CFUNC  :load
c:0002 p:0081 s:0008 E:001fd0 EVAL   /Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25 [FINISH]
c:0001 p:0000 s:0003 E:0025a0 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
/Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25:in `<main>'
/Users/nickn/.rbenv/versions/3.2.2/bin/bundle:25:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:29:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.22/exe/bundle:37:in `block in <top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:28:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:34:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli.rb:492:in `exec'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:23:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58:in `kernel_load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/cli/exec.rb:58:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bin/metanorma:25:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/exe/metanorma:43:in `<top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/exe/metanorma:25:in `block in <top (required)>'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli.rb:34:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-hollaback-0.2.1/lib/thor/hollaback.rb:68:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:48:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:48:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:48:in `block in compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/command.rb:244:in `compile_document'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:35:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:30:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.8.10/lib/metanorma/cli/compiler.rb:45:in `compile_file'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:33:in `compile'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:41:in `process_input'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/compile.rb:59:in `process_input_adoc'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/processor.rb:21:in `input_to_isodoc'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:13:in `process'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-1.6.9/lib/metanorma/input/asciidoc.rb:25:in `asciidoctor_validate'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/load.rb:84:in `load'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:532:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533:in `block in parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20/lib/asciidoctor/document.rb:533:in `[]'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb:20:in `process'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:122:in `parse_document_express_indexes'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:122:in `loop'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:131:in `block in parse_document_express_indexes'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:55:in `process_express_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:86:in `express_from_path'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/metanorma-plugin-lutaml-0.4.20/lib/metanorma/plugin/lutaml/utils.rb:117:in `express_from_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:17:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:32:in `parse'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/lutaml-0.7.5/lib/lutaml/parser.rb:41:in `parse_into_document'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64:in `from_files'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64:in `each_with_index'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:64:in `each'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:66:in `block in from_files'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/parser.rb:44:in `from_file'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:2295:in `visit_syntax'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:1949:in `visit_schema_decl'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:1934:in `visit_schema_body_declaration'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:683:in `visit_declaration'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:985:in `visit_function_decl'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:75:in `block in visit_if_map'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:2146:in `visit_stmt'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:67:in `visit_if'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:55:in `visit'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:600:in `visit_case_stmt'
/Users/nickn/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/expressir-1.2.11-arm64-darwin/lib/expressir/express/visitor.rb:600:in `selector'

-- Machine register context ------------------------------------------------
  x0: 0x000000016d972098  x1: 0x0000000000000001  x2: 0x000000016d9723a4
  x3: 0x0000000000000000  x4: 0x0000000000000003  x5: 0x000000002f600000
  x6: 0x0000600003bed800  x7: 0x0000000000000930 x18: 0x0000000000000000
 x19: 0x0000600000cd2c40 x20: 0x000000016d972000 x21: 0x434c4e47432b2b00
 x22: 0x0000000000000001 x23: 0x00000000ffffffff x24: 0x000000010aff1b20
 x25: 0x0002411102140003 x26: 0x0000600003309260 x27: 0x0000000000000000
 x28: 0x0000000055550083  lr: 0xacddb0dbc906a359  fp: 0x000000016d972580
  sp: 0x000000016d972580

-- C level backtrace information -------------------------------------------
./html_attachments.sh: line 31: 23113 Trace/BPT trap: 5       bundle exec metanorma $local
opoudjis commented 11 months ago

What's concerning about this bug is that it keeps being random, it cannot be replicated...

maxirmx commented 11 months ago

It is related to Ruby garbage collector. We thought the problem was that the C++ code was accessing Ruby objects that had already been deleted. Eliminating such possibilities helped to fix crashes with Ruby 3.0.

With Ruby 3.2 segfault looks differently as if C++ code gets incorrect type information.

This gem's native extension is C++ code generated by antlr4-native gem that uses template metaprogramming provided by Rice gem to wrap code generated by antlr generator.

I will create several tests for Rice that cover our case. Anyway it will be painful

opoudjis commented 11 months ago

I'm sorry. If you regenerate the collection often enough, you do eventually get it; the problem is that we expect external clients to use this... :(

ronaldtse commented 11 months ago

The key is to load the EXPRESS schemas enough (not about compiling the Metanorma collection).

Wouldn't it be easy to trigger by loading all the schemas?

e.g.

exp_files = Pathname.new("iso-10303-srl/schemas/resources").glob('*.exp')
Expressir::Parser::Express.from_files(exp_files)
maxirmx commented 10 months ago

UPD It looks like if Ruby Array object is created in C++ code using Rice::Array this object is only partially usable in Ruby code. There is something wrong with object registration and segfault occurs in a call to RTYPEDDATA_DATA. The fault is reproducable if GC.stress is set to true, but the fault location varies in different environments.

The issue is that antlr4-native gem generates a lot of code based on Rice::Array but there is no clear API documentation, tests or samples that explain how to use it.

The plan is to develop a minmal sample and ask Rice maintainers for comments.

maxirmx commented 10 months ago

This is a kind of minimal example: https://github.com/jasonroelofs/rice/issues/193

The issue is that we have to apply keepAlive as explained here: https://github.com/camertron/antlr4-native-rb/issues/10 but if keepAlive is applied it causes another crash

maxirmx commented 9 months ago

It looks like some of the crashes are caused by https://bugs.ruby-lang.org/issues/19319

maxirmx commented 9 months ago

This is a different crash. Occurs only on Ubuntu, Ruby 3.0 Ubuntu-Ruby-3.0-crash.txt