Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RequestParameterInvalid should be raised if wrong encoded primary key is sent #18485

Closed
galaxyproject-sentryintegration bot opened this issue Jul 2, 2024 · 0 comments

Comments

@galaxyproject-sentryintegration

Given that the browser environment is firefox there might also be something wrong with src being ldda in this case.

Sentry Issue: GALAXY-MAIN-Z7V

AssertionError: 
(5 additional frame(s) were not displayed)
...
  File "galaxy/tools/parameters/__init__.py", line 246, in check_param
    value = param.from_json(value, trans, param_values)
  File "galaxy/tools/parameters/basic.py", line 2132, in from_json
    value = self.to_python(value, trans.app)
  File "galaxy/tools/parameters/basic.py", line 1963, in to_python
    return history_item_dict_to_python(value["values"][0], app, self.name)
  File "galaxy/tools/parameters/basic.py", line 2799, in history_item_dict_to_python
    return src_id_to_item(sa_session=app.model.context, security=app.security, value=value)
  File "galaxy/tools/parameters/basic.py", line 2056, in src_id_to_item
    assert item

Uncaught exception in exposed API method:
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Jul 4, 2024
I suspect a state bug in the tool form code is the issue here and the id
refers to a HDA id, but this is a solid fix anyway if someone submits
wrong values via the API.
Fixes galaxyproject#18485:
```
Stack Trace

Newest

AssertionError: null
  File "galaxy/web/framework/decorators.py", line 346, in decorator
    rval = func(self, trans, *args, **kwargs)
  File "galaxy/webapps/galaxy/api/tools.py", line 247, in build
    return tool.to_json(trans, kwd.get("inputs", kwd), history=history)
  File "galaxy/tools/__init__.py", line 2510, in to_json
    populate_state(request_context, self.inputs, params.__dict__, state_inputs, state_errors)
  File "galaxy/tools/parameters/__init__.py", line 412, in populate_state
    _populate_state_legacy(
  File "galaxy/tools/parameters/__init__.py", line 625, in _populate_state_legacy
    check_param(request_context, input, param_value, context, simple_errors=simple_errors)
  File "galaxy/tools/parameters/__init__.py", line 246, in check_param
    value = param.from_json(value, trans, param_values)
  File "galaxy/tools/parameters/basic.py", line 2132, in from_json
    value = self.to_python(value, trans.app)
  File "galaxy/tools/parameters/basic.py", line 1963, in to_python
    return history_item_dict_to_python(value["values"][0], app, self.name)
  File "galaxy/tools/parameters/basic.py", line 2799, in history_item_dict_to_python
    return src_id_to_item(sa_session=app.model.context, security=app.security, value=value)
  File "galaxy/tools/parameters/basic.py", line 2056, in src_id_to_item
    assert item
```
mvdbeek added a commit that referenced this issue Jul 4, 2024
I suspect a state bug in the tool form code is the issue here and the id
refers to a HDA id, but this is a solid fix anyway if someone submits
wrong values via the API.
Fixes #18485:
```
Stack Trace

Newest

AssertionError: null
  File "galaxy/web/framework/decorators.py", line 346, in decorator
    rval = func(self, trans, *args, **kwargs)
  File "galaxy/webapps/galaxy/api/tools.py", line 247, in build
    return tool.to_json(trans, kwd.get("inputs", kwd), history=history)
  File "galaxy/tools/__init__.py", line 2510, in to_json
    populate_state(request_context, self.inputs, params.__dict__, state_inputs, state_errors)
  File "galaxy/tools/parameters/__init__.py", line 412, in populate_state
    _populate_state_legacy(
  File "galaxy/tools/parameters/__init__.py", line 625, in _populate_state_legacy
    check_param(request_context, input, param_value, context, simple_errors=simple_errors)
  File "galaxy/tools/parameters/__init__.py", line 246, in check_param
    value = param.from_json(value, trans, param_values)
  File "galaxy/tools/parameters/basic.py", line 2132, in from_json
    value = self.to_python(value, trans.app)
  File "galaxy/tools/parameters/basic.py", line 1963, in to_python
    return history_item_dict_to_python(value["values"][0], app, self.name)
  File "galaxy/tools/parameters/basic.py", line 2799, in history_item_dict_to_python
    return src_id_to_item(sa_session=app.model.context, security=app.security, value=value)
  File "galaxy/tools/parameters/basic.py", line 2056, in src_id_to_item
    assert item
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant