Skip to content

[BUG] Debugger stops at nested but unreachable IF #523

@Noordsestern

Description

@Noordsestern

Describe the bug
Rather a minor but confusing behaviour. Not sure if it is a Robot Framework parsing issue.

Steps To Reproduce
Execute the following test case. It passes.

Then set a breakpoint at the first IF, start debug session. When debugger stops at IF step-over it. The debugger stops at the inner nested IF, but does not execute anyhting.

*** Test Cases ***
Weird
    weird debugger behavior


*** Keywords ***
weird debugger behavior
    VAR    ${has_token}=    False
    VAR    ${has_time}=    False

    IF    ${has_token} and ${has_time}    # put breakpoint here, IF statement never evaluates to True
        Log To Console    Unreachable, debugger does not stop. All correct.
        IF    True    # somehow debugger stops here
            Log To Console    Unreachable, but debugger stops at this "IF True" statement anyway
        END
    END

Sometimes after the execution, this error stacke trace is printed at command line. Not sure if this is related:

Exception in callback _ProactorBaseWritePipeTransport._loop_writing()
handle: <Handle _ProactorBaseWritePipeTransport._loop_writing()>
Traceback (most recent call last):
  File "C:\Users\markuss\AppData\Roaming\uv\python\cpython-3.13.0-windows-x86_64-none\Lib\asyncio\events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\markuss\AppData\Roaming\uv\python\cpython-3.13.0-windows-x86_64-none\Lib\asyncio\proactor_events.py", line 382, in _loop_writing
    assert f is self._write_fut
           ^^^^^^^^^^^^^^^^^^^^
AssertionError

Expected behavior
Debugger should not stop at inner IF, when the IF body is not executed.

Desktop (please complete the following information):

  • VS Code Version: 1.105.1
  • RobotCode Version: 2.0.1
  • OS: Windows 11
  • Python Version: 3.13
  • RobotFramework Version: 7.3.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions