aiida-core icon indicating copy to clipboard operation
aiida-core copied to clipboard

`build_call_graph` shows 'NoneType' object has no attribute 'value'

Open superstar54 opened this issue 4 months ago • 1 comments

Steps to reproduce

from aiida.cmdline.utils.ascii_vis import build_call_graph

I called build_call_graph every three seconds to get the status of a process. This is used to update the GUI in AiiDAlab.

At some point (in rare case, randomly), I got this error:

    process_status = build_call_graph(node)
                     ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 96, in build_call_graph
    return info_string, [
                        ^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 97, in <listcomp>
    build_call_graph(c, max_depth=max_depth, call_link_label=call_link_label, info_fn=info_fn) for c in called
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 96, in build_call_graph
    return info_string, [
                        ^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 97, in <listcomp>
    build_call_graph(c, max_depth=max_depth, call_link_label=call_link_label, info_fn=info_fn) for c in called
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 96, in build_call_graph
    return info_string, [
                        ^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 97, in <listcomp>
    build_call_graph(c, max_depth=max_depth, call_link_label=call_link_label, info_fn=info_fn) for c in called
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 96, in build_call_graph
    return info_string, [
                        ^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 97, in <listcomp>
    build_call_graph(c, max_depth=max_depth, call_link_label=call_link_label, info_fn=info_fn) for c in called
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 90, in build_call_graph
    info_string = info_fn(calc_node, call_link_label)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/xing/apps/miniforge3/envs/aiida/lib/python3.11/site-packages/aiida/cmdline/utils/ascii_vis.py", line 32, in calc_info
    process_state = node.process_state.value.capitalize()
                    ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'value'

superstar54 avatar Oct 21 '24 09:10 superstar54