Skip to content

[parser bug] NPE on a long case statement #6441

@ahorek

Description

@ahorek

Environment Information
jruby 9.3.0.0-SNAPSHOT (2.6.5) 2020-10-21 6798b88 Java HotSpot(TM) 64-Bit Server VM 11.0.1+13-LTS on 11.0.1+13-LTS +jit [mswin32-x86_64]

master only, most probably related to no_sourceposition refactor cc @enebo

example

def test(num)
  case num
  when 55
  when 64
  when 65
  when 66
  when 67
  when 68
  when 69
  when 80
  when 81
  when 82
  when 83
  when 84
  when 85
  when 86
  when 87
  when 88
  when 96
  when 97
  when 98
  when 99
  when 100
  when 101
  when 112
  when 120
  when 121
  when 128
  when 130
  when 144
  when 145
  when 146
  when 147
  when 148
  when 149
  when 150
  when 160
  when 176
  when 177
  when 178
  when 179
  when 180
  when 181
  when 182
  when 183
  when 184
  when 185
  when 190
  when 200
  when 201
  when 202
  when 250
  when 251
  when 260
  when 261
  when 280
  when 281
  when 300
  when 301
  when 302
  when 320
  when 350
  when 500
    return "Video"
  end
end

puts test(500)

Expected Behavior
=> Video

Actual Behavior

Unhandled Java exception: java.lang.NullPointerException
java.lang.NullPointerException: null
                     yyparse at org/jruby/parser/RubyParser.java:1642
                     yyparse at org/jruby/parser/RubyParser.java:1597
                       parse at org/jruby/parser/RubyParser.java:5764
                       parse at org/jruby/parser/Parser.java:133
                       parse at org/jruby/parser/Parser.java:109
          parseFileAndGetAST at org/jruby/Ruby.java:2573
  parseFileFromMainAndGetAST at org/jruby/Ruby.java:2566
           parseFileFromMain at org/jruby/Ruby.java:2550
               parseFromMain at org/jruby/Ruby.java:1031
                 runFromMain at org/jruby/Ruby.java:952
               doRunFromMain at org/jruby/Main.java:393
                 internalRun at org/jruby/Main.java:287
                         run at org/jruby/Main.java:234
                        main at org/jruby/Main.java:206

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions