Skip to content

IndexError in active report #186

@nblock

Description

@nblock

Vit crashes with "IndexError: list index out of range" in the active report:

Traceback (most recent call last):
  File "/home/user/.pyenv/versions/vit/bin/vit", line 11, in <module>
    load_entry_point('vit==2.0.0a1', 'console_scripts', 'vit')()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/command_line.py", line 5, in main
    Application(options, filters)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 74, in __init__
    self.loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/wimp.py", line 648, in keypress
    return self._current_widget.keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 64, in keypress
    return super().keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/container.py", line 1131, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/base_list_box.py", line 116, in keypress
    self.list_action_executed(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 544, in list_action_executed
    self.event.emit('task-list:keypress', data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/event.py", line 16, in emit
    listener(data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 46, in task_list_keypress
    self.update_header(data['size'])
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 103, in update_header
    self.update_project_column_header(size)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 117, in update_project_column_header
    self.set_project_column_header()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 123, in set_project_column_header
    (columns_widget, _) = self.header.original_widget.contents[column_index]
IndexError: list index out of range

Steps to reproduce:

  • Have at least one active task
  • Open vit's active report
  • Press either j, k, up, or down

Vit: 2.x (1d06fdb)

Some trivial shell script to quickly generate test data:

#!/bin/sh

set -e
set -u

TMP_DIR="$(mktemp --directory --suffix .vit)"
VIT_DIR="$TMP_DIR/vit"
TASK_DIR="$TMP_DIR/task"
TASKRC="$TMP_DIR/taskrc"

# task
mkdir "$TASK_DIR"
cat > "$TASKRC" <<EOT
data.location=$TASK_DIR
EOT
export TASKRC

# vit
mkdir "$VIT_DIR"
touch "$VIT_DIR/config.ini"

# create some tasks
task add a
task add b
task +LATEST start
task add c
task +LATEST start

echo "TASKRC: $TASKRC"
echo "VIT_DIR: $VIT_DIR"

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