Project

General

Profile

Actions

Bug #9087

closed

IndexError: pop from empty list

Added by Evgeny Novikov almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Urgent
Category:
Bridge
Target version:
Start date:
07/11/2018
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

It seems that we need a bit more robust error traces comparison:

[11.Jul.2018 07:44:44] Error traces comparison failed: pop from empty list
Traceback (most recent call last):
  File "/var/www/bridge/marks/ConvertTrace.py", line 104, in __convert
    return ErrorTraceConvertionCache.objects.get(unsafe=self.unsafe, function=self.function).converted
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/query.py", line 403, in get
    self.model._meta.object_name
marks.models.DoesNotExist: ErrorTraceConvertionCache matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/www/bridge/marks/UnsafeUtils.py", line 366, in __connect
    compare_result = CompareTrace(self._functions[mark_id], self._patterns[mark_id], unsafe).result
  File "/var/www/bridge/marks/CompareTrace.py", line 68, in __init__
    self.result = func()
  File "/var/www/bridge/marks/CompareTrace.py", line 90, in thread_call_forests
    converted_et = self.__get_converted_trace('thread_call_forests')
  File "/var/www/bridge/marks/CompareTrace.py", line 109, in __get_converted_trace
    ).parsed_trace()
  File "/var/www/bridge/marks/ConvertTrace.py", line 93, in __init__
    self.converted = self.__convert()
  File "/var/www/bridge/marks/ConvertTrace.py", line 106, in __convert
    self._parsed_trace = ConvertTrace(self.function.name, self.error_trace).pattern_error_trace
  File "/var/www/bridge/marks/ConvertTrace.py", line 61, in __init__
    self.pattern_error_trace = func()
  File "/var/www/bridge/marks/ConvertTrace.py", line 84, in thread_call_forests
    return ErrorTraceForests(self.error_trace, all_threads=True).trace
  File "/var/www/bridge/reports/etv.py", line 759, in __init__
    self.trace = self.__get_forests(get_error_trace_nodes(self.data))
  File "/var/www/bridge/reports/etv.py", line 774, in __get_forests
    forests.extend(self.__collect_forests(threads[t]))
  File "/var/www/bridge/reports/etv.py", line 851, in __collect_forests
    forest[fname].return_from_func()
  File "/var/www/bridge/reports/etv.py", line 697, in return_from_func
    self.call_stack.pop()
IndexError: pop from empty list

Unfortunately, I can't provide you concrete examples of error traces and unsafe marks to catch the issue, since there are hundreds of them while the exception doesn't point out any.

Actions

Also available in: Atom PDF