Skip to content

AttributeError: 'NoneType' object has no attribute 'char_pos' #1565

@fmigneault

Description

@fmigneault

Description

The following line seems to raise an error on None line:

lark/lark/lexer.py

Lines 615 to 616 in f79772c

line_ctr = lex_state.line_ctr
while line_ctr.char_pos < lex_state.text.end:

Running lark=1.3.1 produces the error, while it does not occur with lark==1.2.2.

Example

https://github.com/crim-ca/weaver/actions/runs/18957464025/job/54137521089

   File "/home/runner/work/weaver/weaver/tests/wps_restapi/test_swagger_definitions.py", line 425, in test_collection_input_filter_parsing_error
    sd.ExecuteCollectionInput().deserialize(input_data)
  File "/home/runner/work/weaver/weaver/weaver/wps_restapi/swagger_definitions.py", line 1761, in deserialize
    self.convert(filter_expr, filter_lang)
  File "/home/runner/work/weaver/weaver/weaver/wps_restapi/swagger_definitions.py", line 1724, in convert
    parsed_expr = self.validate(filter_expr, filter_lang)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/weaver/weaver/weaver/wps_restapi/swagger_definitions.py", line 1713, in validate
    return self.parse(filter_expr, filter_lang)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/weaver/weaver/weaver/utils.py", line 401, in wrapped
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/weaver/weaver/weaver/wps_restapi/swagger_definitions.py", line 1697, in parse
    parsed_expr = ecql.parse(filter_expr)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/pygeofilter/parsers/ecql/parser.py", line 211, in parse
    return parser.parse(cql_text)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/lark.py", line 677, in parse
    return self.parser.parse(text, start=start, on_error=on_error)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/parser_frontends.py", line 131, in parse
    return self.parser.parse(stream, chosen_start, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/parsers/lalr_parser.py", line 42, in parse
    return self.parser.parse(lexer, start)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/parsers/lalr_parser.py", line 88, in parse
    return self.parse_from_state(parser_state)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/parsers/lalr_parser.py", line 100, in parse_from_state
    for token in state.lexer.lex(state):
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/lexer.py", line 689, in lex
    yield lexer.next_token(lexer_state, parser_state)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/lark/lexer.py", line 616, in next_token
    while line_ctr.char_pos < lex_state.text.end:
          ^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'char_pos'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions