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):
File "/software/galaxy/app/galaxy/lib/galaxy/web/framework/decorators.py", line 295, in decorator
rval = func( self, trans, *args, **kwargs )
File "/software/galaxy/app/galaxy/lib/galaxy/webapps/galaxy/api/history_contents.py", line 72, in index
return self.__index_v2( trans, history_id, **kwd )
File "/software/galaxy/app/galaxy/lib/galaxy/webapps/galaxy/api/history_contents.py", 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 serialize_to_view
return self.serialize( item, all_keys, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/hdas.py", line 362, in serialize
return super( HDASerializer, self ).serialize( hda, keys, user=user, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 534, in serialize
serialized = super( DatasetAssociationSerializer, self ).serialize( dataset_assoc, keys, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/base.py", line 632, in serialize
returned[ key ] = self.serializers[ key ]( item, key, **context )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 438, in <lambda>
return lambda i, k, **c: serializer( i.dataset, key or k, **c )
File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 213, in serialize_permissions
'manage' : [ self.app.security.encode_id( perm.role.id ) for perm in management_permissions ],
AttributeError: 'NoneType' object has no attribute 'id'
Systems Administrator - CIRC
University of Rochester
Please keep all replies on the list by using "reply all"
in your mail client. To manage your subscriptions to this
and other Galaxy lists, please use the interface at: