Open-Source Projects: Issueshttps://forge.ispras.ru/https://forge.ispras.ru/favicon.ico?16490126692022-07-27T14:54:27ZOpen-Source Projects
Redmine Klever - Bug #11785 (New): Filter by identifier is broken for a table of markshttps://forge.ispras.ru/issues/117852022-07-27T14:54:27ZEvgeny Novikovnovikov@ispras.ru
<p>When I tried to filter out marks to get a particular one with a given identifier, I got the following error:<br /><pre>
[27.Jul.2022 13:30:13] ["Значение “['149749de-f466-45a9-83a1-706a645d28f7']” не является верным UUID-ом."]
Traceback (most recent call last):
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2614, in to_python
return uuid.UUID(**{input_form: value})
File "/usr/local/python3.10-klever/lib/python3.10/uuid.py", line 174, in __init__
hex = hex.replace('urn:', '').replace('uuid:', '')
AttributeError: 'list' object has no attribute 'replace'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 84, in view
return self.dispatch(request, *args, **kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/contrib/auth/mixins.py", line 73, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/home/novikov/work/klever/bridge/tools/profiling.py", line 168, in dispatch
return getattr(super(), 'dispatch')(request, *args, **kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 119, in dispatch
return handler(request, *args, **kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 185, in get
context = self.get_context_data(**kwargs)
File "/home/novikov/work/klever/bridge/marks/views.py", line 64, in get_context_data
context['tabledata'] = SafeMarksTable(self.request.user, self.get_view(VIEW_TYPES[8]), self.request.GET)
File "/home/novikov/work/klever/bridge/marks/tables.py", line 626, in __init__
super(SafeMarksTable, self).__init__(user, view, query_params)
File "/home/novikov/work/klever/bridge/marks/tables.py", line 417, in __init__
self.paginator, self.page = self.get_queryset()
File "/home/novikov/work/klever/bridge/marks/tables.py", line 532, in get_queryset
queryset = queryset.filter(**qs_filters).order_by(ordering).select_related(*select_related).only(*select_only)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1071, in filter
return self._filter_or_exclude(False, args, kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1089, in _filter_or_exclude
clone._filter_or_exclude_inplace(negate, args, kwargs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1096, in _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1466, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1496, in _add_q
child_clause, needed_inner = self.build_filter(
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1412, in build_filter
condition = self.build_lookup(lookups, col, value)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1242, in build_lookup
lookup = lookup_class(lhs, rhs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/lookups.py", line 27, in __init__
self.rhs = self.get_prep_lookup()
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/lookups.py", line 85, in get_prep_lookup
return self.lhs.output_field.get_prep_value(self.rhs)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2598, in get_prep_value
return self.to_python(value)
File "/home/novikov/work/klever/venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2616, in to_python
raise exceptions.ValidationError(
django.core.exceptions.ValidationError: ["Значение “['149749de-f466-45a9-83a1-706a645d28f7']” не является верным UUID-ом."]
</pre></p> Klever - Bug #11505 (New): Prompt does not fade away when selecting "Create the version anyway"https://forge.ispras.ru/issues/115052022-03-24T11:53:41ZEvgeny Novikovnovikov@ispras.ru
<p>It has sense to fix this to avoid any inconveniences even though users very unlikely choose this way to proceed, since file changes will be discarded.</p> Klever - Feature #10864 (New): Allow to make other users experts to job expertshttps://forge.ispras.ru/issues/108642021-06-24T11:57:43ZEvgeny Novikovnovikov@ispras.ru
<p>At the moment just job authors and managers can make other users experts. Users that are experts of a given job cannot do that while often this is quite naturally.</p> Klever - Feature #10829 (New): Implement new access schemehttps://forge.ispras.ru/issues/108292021-04-29T14:07:36ZEvgeny Novikovnovikov@ispras.ru
<p>When the new access scheme will be developed, it will be necessary to implement it in Bridge.</p> Klever - Feature #10827 (New): Describe entities and actions on themhttps://forge.ispras.ru/issues/108272021-04-29T14:04:53ZEvgeny Novikovnovikov@ispras.ru
<p>It seems that our current access scheme is not great since different issues arise from time to time (<a class="issue tracker-1 status-1 priority-5 priority-high3" title="Bug: For experts incorrect accesses are shown at the jobs tree page (New)" href="https://forge.ispras.ru/issues/7975">#7975</a>, <a class="issue tracker-1 status-5 priority-6 priority-high2 closed behind-schedule" title="Bug: Producer can not get the status of solving job (Closed)" href="https://forge.ispras.ru/issues/10824">#10824</a>). So, it is time to revise it.</p> Klever - Feature #10820 (New): Show code coverage status for locations where a given entity is re...https://forge.ispras.ru/issues/108202021-04-23T08:41:57ZEvgeny Novikovnovikov@ispras.ru
<p>Kirill Shilimanov suggested a good improvement that will help to investigate code coverage for safes and unknowns, namely to show whether locations where a given entity is referenced are covered themselves. Perhaps, this will require an additional input from Core so that Bridge will not require to calculate this information.</p> Klever - Feature #10801 (New): Support incomplete tuples of attributes for comparing verification...https://forge.ispras.ru/issues/108012021-04-11T09:09:21ZEvgeny Novikovnovikov@ispras.ru
<p>After optimization of EMG it became the only VTG component that may miss attribute "Requirements specification" for its Unknown reports. Indeed, you can imagine that there is the such number of Unknown reports that differ just by a value of the missed attribute as the number of all possible values of this attribute within a given job. It is not great to produce all these Unknown reports in the implementation, so, it would be better to extend the comparison algorithm in Bridge so that it will support incomplete tuples of attributes for comparing verification reports. This is a more generic approach that can help to deal with other cases as well.</p>
<p>Shortly speaking, the new algorithm should match tuples of attributes like (<strong>ATTR1_VAL1</strong>, <strong>ATTR3_VAL1</strong>) with (<strong>ATTR1_VAL1</strong>, ATTR2_VAL1, <strong>ATTR3_VAL1</strong>, ATTR4_VAL1), (<strong>ATTR1_VAL1</strong>, ATTR2_VAL2, <strong>ATTR3_VAL1</strong>, ATTR4_VAL2), (<strong>ATTR1_VAL1</strong>, ATTR2_VAL3, <strong>ATTR3_VAL1</strong>, ATTR4_VAL3) and so on. In other words, you can treat all tuples as (ATTR1_VAL, ATTR2_VAL, ..., ATTRN_VAL, <strong>) where "</strong>" matches all attributes non-specified explicitly within a given tuple.</p> Klever - Feature #10707 (New): Forbid incompatible request to Bridge through CLIhttps://forge.ispras.ru/issues/107072021-02-09T12:18:41ZEvgeny Novikovnovikov@ispras.ru
<p>Users can use CLI that is not compatible with target version of Bridge that can cause strange issues. It would be better if Bridge will support something like an API version while scripts will not work in case when they do not support it. I don't expect backward/forward compatibility here - just strict correspondence that will be pretty enough since the API version will change very seldom (I hope so).</p> Klever - Feature #10684 (New): References to sources sometimes are shown under the border of sour...https://forge.ispras.ru/issues/106842021-01-26T12:51:25ZPavel Andrianovandrianov@ispras.ru
<p>If a target function is below then half of the sources area (right one) on the error trace page, the popup menu with references is appeared under the border (see the attachment). Its not convenient.</p> Klever - Feature #10663 (New): Fix Bridge testshttps://forge.ispras.ru/issues/106632021-01-14T17:24:07ZEvgeny Novikovnovikov@ispras.ru
<p>A long ago Bridge tests were broken. We do need to recover them since they allow to automatically detect different issues.</p> Klever - Feature #10640 (New): Add an ability to show difference of coverage reportshttps://forge.ispras.ru/issues/106402020-12-23T12:21:53ZPavel Andrianovandrianov@ispras.ru
<p>If you have two similar launches, for example, for two kernel configurations, you may need to look at difference, particularly in coverage data.</p>
<p>I know that it may be implemented as subtraction, as in Kedr by Andrey Tsivarev. However, it is possible to create something different, as the Klever has more powerful visualization than Lcov.</p> Klever - Feature #10636 (New): Fail job referencing non-existing original sourceshttps://forge.ispras.ru/issues/106362020-12-22T10:20:04ZEvgeny Novikovnovikov@ispras.ru
<p>Recently we met the case when there were no original sources for error traces. The suggested way (to use more code coverage details) could not help since the issue was due to an invalid build base. <a class="issue tracker-4 status-5 priority-5 priority-high3 closed" title="Feature: Use more robust identifier for Clade build bases (Closed)" href="https://forge.ispras.ru/issues/10633">#10633</a> will help to avoid this particular issue, but it will not help to avoid all such issues that Core can easily provide.</p>
<p>I suggest to check all references from entities (error traces, code coverage, maybe something else) and fail jobs referencing non-existing original sources, i.e. source files starting with "source files/". We expect a nice error message in Bridge, e.g.:<br /><pre>
Error trace/code coverage references non-existing original source file "path/to/file"
</pre></p> Klever - Feature #10631 (New): Compress the space for lightweight mark on the Unsafe pagehttps://forge.ispras.ru/issues/106312020-12-21T09:58:23ZPavel Andrianovandrianov@ispras.ru
When a user wants to create a lightweight mark, he needs to scroll the page, as the lightweight mark information takes a lot of space. For example, the first line contains a lot of free space but only two check columns: verdict and status (only for bugs), comment line is likely unused. The idea is to compress the information, for example:
<ul>
<li>move tags to the first line</li>
<li>remove the comment</li>
<li>decrease "description" area, as mostly only one sentence is put there</li>
<li>caption "tags" is not necessary, as the description is placed inside the list</li>
<li>caption "description" also may be placed inside the text box as for comment. </li>
<li>move the buttons to the "description" line</li>
<li>maybe, remove "Cancel" at all. Does somebody use it?</li>
</ul>
<p>Maybe, not all changes suit for other users and we need to discuss the view separately.</p> Klever - Feature #10629 (New): Move "attributes" and "code coverage data" from the center of unsa...https://forge.ispras.ru/issues/106292020-12-21T05:19:08ZPavel Andrianovandrianov@ispras.ru
<p>Consider unsafe page. Attributes and code coverage data are used less then operations with error trace and marks, but the buttons are located in the center. The suggestion is to move them (together with resources - monitor image) either after marks table or to the top of the page. Then marks will be closer to unsafe, and it is more convenient.</p> Klever - Bug #10612 (Open): View names are not shown for a userhttps://forge.ispras.ru/issues/106122020-12-08T06:51:42ZPavel Andrianovandrianov@ispras.ru
<p>I wanted to hide all marks with similarity zero on unsafe page. I created a view with the corresponding filter, enter a name, successfully save it (the name appeared in the list) and click "Show". The view was definitely applied, as the marks were hidden, but the button view suprisingly changes its name to "View(unsaved)". I opened the view menu again and found that the view is resetted to "Default". Then I found my view in the list (the second option), change it as "preferable", click "show" and nothing changes. So, the marks are still hidden, but the view is "unsaved" and "default" one is chosen in menu instead of my view. It's confusing. Better, to change the name to "View(name)" and show its name in the list.</p>