This may or may not be an actual problem, it's just something we ran into on our
Galaxy instance in the past few days.
The symptom was that when a user clicked the "Edit attributes" button on an item
in their history, they would get an "Internal server error" message. After that
their history would completely disappear from the interface. Any attempts to reload it
with the "Refresh history" button would result in an error. The only way to get
it back was to restart Galaxy. The error from uwsgi.log is below.
After some digging in the database, I found that the "role_id" column on every
entry in "dataset_permissions" had no value. Additionally, the two users who
have datasets on the system had no private roles in the "roles" table.
I fixed the issue by creating new private roles for those users, then manually setting
"role_id" in the "dataset_permissions" table.
Unfortunately my Postgres backups only go back a few days, so I can't tell if
something happened to those tables somewhere along the line.
We're running the release_17.01 branch plus some customizations, nothing that affects
those tables though.
Has anyone else seen anything like this?
galaxy.web.framework.decorators ERROR 2017-02-17 10:32:36,574 Uncaught exception in
exposed API method:
Traceback (most recent call last):
line 295, in decorator
rval = func( self, trans, *args, **kwargs )
line 72, in index
return self.__index_v2( trans, history_id, **kwd )
line 582, in __index_v2
user=trans.user, trans=trans, view='detailed', **serialization_params ) )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/base.py", line 719, in
return self.serialize( item, all_keys, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/hdas.py", line 362, in
return super( HDASerializer, self ).serialize( hda, keys, user=user, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 534,
serialized = super( DatasetAssociationSerializer, self ).serialize( dataset_assoc,
keys, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/base.py", line 632, in
returned[ key ] = self.serializers[ key ]( item, key, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 438,
return lambda i, k, **c: serializer( i.dataset, key or k, **c )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 213,
'manage' : [ self.app.security.encode_id( perm.role.id ) for perm in
AttributeError: 'NoneType' object has no attribute 'id'
Systems Administrator - CIRC
University of Rochester