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 #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 #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 #10599 (New): Forbid modifications of present entities and simplify their synchr...https://forge.ispras.ru/issues/105992020-11-26T09:22:52ZEvgeny Novikovnovikov@ispras.ru
<p>In ideal preset entities should exactly correspond to the ones that are in the latest version of the repository. But this can not be easily achieved, in particular this can not be solved automatically. For instance, there may be children verification jobs and tags of the preset ones. So, even when they are removed from the repository, they can not be removed from a database (I suggest to mark them so that managers will easily see these entities and will be able to remove them).</p> Klever - Feature #10598 (New): Do not allow to compare solving verification jobshttps://forge.ispras.ru/issues/105982020-11-26T09:16:23ZEvgeny Novikovnovikov@ispras.ru
<p>At the moment this is possible, but it has a bad side effect. After first comparison Bridge fills a cache for a given pair of jobs and then it uses data from the cache rather than recalculate it.</p>
<p>Another possible solution is to mark the cache entry as "dirty" that will cause its recalculation if somebody will request for comparison for the next time.</p> Klever - Feature #8562 (New): Add search for markshttps://forge.ispras.ru/issues/85622017-11-10T14:31:04ZAnton Vasilyevvasilyev@ispras.ru
<p>It will be useful for user to have ability to manual quick search through all marks.</p>
Possible search criteria for marks:
<ol>
<li>by some phrase at Description</li>
<li>function at error trace</li>
<li>tags, status</li>
</ol>
<p>It seems that functionality could extend View screen.</p> Klever - Bug #8172 (New): Unsafe verdicts of multimodule verification aren't associated with mark...https://forge.ispras.ru/issues/81722017-04-26T09:17:45ZAlexey Polushkinpolushkin@ispras.ru
<p>After multimodule verification, existed marks don't apply to unsafe results. The reason for this is other names of verification object (say, <em>net/unix/unix.ko713c5ebc642b</em> instead of <em>net/unix/unix.ko</em>).</p> Linux Kernel Safety RuleDB - Feature #2606 (Open): 119: probe functions should not return -EINTRhttps://forge.ispras.ru/issues/26062012-03-16T21:45:04ZAlexey Khoroshilovkhoroshilov@ispras.ru
<blockquote>
<p>On Fri, Mar 16, 2012 at 10:02 PM, Oliver Neukum wrote:</p>
<blockquote><blockquote><blockquote>
<p>Indeed there's a lot wrong here. The idea of having an interruptible<br />sleep in probe() is arcane. You need a very, very, very good reason for that.</p>
</blockquote></blockquote>
<p>Can you please explain why interruptible sleep should not be in probe() ?<br />I am curious to know.</p>
</blockquote></blockquote>
<p>-EINTR is supposed to be returned to user space, so that it can repeat<br />an interrupted syscall.</p>
<p>- There is no user space for probe()<br />- probe() cannot be easily repeated from user space<br />- there is no syscall for probe</p>