Open opoudjis opened 11 months ago
@opoudjis Could you make me a favor and try 1.2.11 ? Thank you
Just upgraded. Will let you know, though it is unpredictable; I compiled all of ISO-10303 yesterday, and got no crashes...
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
What's concerning about this bug is that it keeps being random, it cannot be replicated...
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
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... :(
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)
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.
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
It looks like some of the crashes are caused by https://bugs.ruby-lang.org/issues/19319
This is a different crash. Occurs only on Ubuntu, Ruby 3.0 Ubuntu-Ruby-3.0-crash.txt
It's less frequent than before, and still inconsistent, but expressir on Ruby 3.2 is still crashing.
Latest instance: