Error message when assigning roles

32 views
Skip to first unread message

Erin MacPherson

unread,
Feb 14, 2018, 9:20:18 AM2/14/18
to Dataverse Users Community
Hi everyone,
I have what might be a basic error, but I can't figure it out!
A researcher has created a Dataverse, with a sub-dataverse and datasets within it (all unpublished). She is administrator of the main dataverse, but for some reason, when she tries to assign roles to the sub-dataverse and datasets, she gets the following message:

"Internal Server Error - An unexpected error was encountered, no more information is available."

We are using Dataverse 4.7. I added myself as Administrator, but I am getting the same message when I get to the sub-dataverse. We had an issue with a user account (it was an invalid email) that we previously had added to that dataverse, but I thought I removed them so I'm wondering if that could be the cause? Perhaps they are still administrator for the sub-dataverse and I can't see that as I keep getting the error message?

In the meantime, we created a new sub-dataverse and the researchers role continued as Administrator, so she was able to continue to add datasets to the sub-dataverse and add roles as normal.

Has anyone encountered this? 
Thanks!
Erin

Philip Durbin

unread,
Feb 14, 2018, 12:17:00 PM2/14/18
to dataverse...@googlegroups.com
Yikes. Can you please email the Glassfish server.log to sup...@dataverse.org? Before doing so it would be great to reproduce the error so that the stack trace is at the bottom of the log. That's for mentioning the version of Dataverse you're running. That will help us match up the line numbers in the stack trace with the code as of 4.7.

Thanks,

Phil

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.
To post to this group, send email to dataverse-community@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dataverse-community/f5e1f2bc-af4c-405f-ad30-c0c6b15e5ff0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Erin MacPherson

unread,
Feb 14, 2018, 12:36:21 PM2/14/18
to Dataverse Users Community
Thanks Phil! Jason is going to do that now - I think it has to do with the invalid user account - but that's just me.
Thanks,
Erin


On Wednesday, 14 February 2018 13:17:00 UTC-4, Philip Durbin wrote:
Yikes. Can you please email the Glassfish server.log to sup...@dataverse.org? Before doing so it would be great to reproduce the error so that the stack trace is at the bottom of the log. That's for mentioning the version of Dataverse you're running. That will help us match up the line numbers in the stack trace with the code as of 4.7.

Thanks,

Phil
On Wed, Feb 14, 2018 at 9:20 AM, Erin MacPherson <Erin.Ma...@dal.ca> wrote:
Hi everyone,
I have what might be a basic error, but I can't figure it out!
A researcher has created a Dataverse, with a sub-dataverse and datasets within it (all unpublished). She is administrator of the main dataverse, but for some reason, when she tries to assign roles to the sub-dataverse and datasets, she gets the following message:

"Internal Server Error - An unexpected error was encountered, no more information is available."

We are using Dataverse 4.7. I added myself as Administrator, but I am getting the same message when I get to the sub-dataverse. We had an issue with a user account (it was an invalid email) that we previously had added to that dataverse, but I thought I removed them so I'm wondering if that could be the cause? Perhaps they are still administrator for the sub-dataverse and I can't see that as I keep getting the error message?

In the meantime, we created a new sub-dataverse and the researchers role continued as Administrator, so she was able to continue to add datasets to the sub-dataverse and add roles as normal.

Has anyone encountered this? 
Thanks!
Erin

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.
To post to this group, send email to dataverse...@googlegroups.com.

Sonia Barbosa

unread,
Feb 14, 2018, 12:53:26 PM2/14/18
to dataverse...@googlegroups.com
This message also shows up if the user is already assigned the role in question, and you attempt to assign them again.
Just an FYI

On Wed, Feb 14, 2018 at 12:36 PM, Erin MacPherson <Erin.Ma...@dal.ca> wrote:
Thanks Phil! Jason is going to do that now - I think it has to do with the invalid user account - but that's just me.
Thanks,
Erin

On Wednesday, 14 February 2018 13:17:00 UTC-4, Philip Durbin wrote:
Yikes. Can you please email the Glassfish server.log to sup...@dataverse.org? Before doing so it would be great to reproduce the error so that the stack trace is at the bottom of the log. That's for mentioning the version of Dataverse you're running. That will help us match up the line numbers in the stack trace with the code as of 4.7.

Thanks,

Phil
On Wed, Feb 14, 2018 at 9:20 AM, Erin MacPherson <Erin.Ma...@dal.ca> wrote:
Hi everyone,
I have what might be a basic error, but I can't figure it out!
A researcher has created a Dataverse, with a sub-dataverse and datasets within it (all unpublished). She is administrator of the main dataverse, but for some reason, when she tries to assign roles to the sub-dataverse and datasets, she gets the following message:

"Internal Server Error - An unexpected error was encountered, no more information is available."

We are using Dataverse 4.7. I added myself as Administrator, but I am getting the same message when I get to the sub-dataverse. We had an issue with a user account (it was an invalid email) that we previously had added to that dataverse, but I thought I removed them so I'm wondering if that could be the cause? Perhaps they are still administrator for the sub-dataverse and I can't see that as I keep getting the error message?

In the meantime, we created a new sub-dataverse and the researchers role continued as Administrator, so she was able to continue to add datasets to the sub-dataverse and add roles as normal.

Has anyone encountered this? 
Thanks!
Erin

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsubscribe...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.

Erin MacPherson

unread,
Feb 14, 2018, 3:01:20 PM2/14/18
to Dataverse Users Community
Hi Sonia,
Unfortunately the message comes up immediately when we click on the "permissions" tab...I can't even add anyone else.
Thanks,
Erin


On Wednesday, 14 February 2018 13:53:26 UTC-4, Sonia Barbosa wrote:
This message also shows up if the user is already assigned the role in question, and you attempt to assign them again.
Just an FYI
On Wed, Feb 14, 2018 at 12:36 PM, Erin MacPherson <Erin.Ma...@dal.ca> wrote:
Thanks Phil! Jason is going to do that now - I think it has to do with the invalid user account - but that's just me.
Thanks,
Erin

On Wednesday, 14 February 2018 13:17:00 UTC-4, Philip Durbin wrote:
Yikes. Can you please email the Glassfish server.log to sup...@dataverse.org? Before doing so it would be great to reproduce the error so that the stack trace is at the bottom of the log. That's for mentioning the version of Dataverse you're running. That will help us match up the line numbers in the stack trace with the code as of 4.7.

Thanks,

Phil
On Wed, Feb 14, 2018 at 9:20 AM, Erin MacPherson <Erin.Ma...@dal.ca> wrote:
Hi everyone,
I have what might be a basic error, but I can't figure it out!
A researcher has created a Dataverse, with a sub-dataverse and datasets within it (all unpublished). She is administrator of the main dataverse, but for some reason, when she tries to assign roles to the sub-dataverse and datasets, she gets the following message:

"Internal Server Error - An unexpected error was encountered, no more information is available."

We are using Dataverse 4.7. I added myself as Administrator, but I am getting the same message when I get to the sub-dataverse. We had an issue with a user account (it was an invalid email) that we previously had added to that dataverse, but I thought I removed them so I'm wondering if that could be the cause? Perhaps they are still administrator for the sub-dataverse and I can't see that as I keep getting the error message?

In the meantime, we created a new sub-dataverse and the researchers role continued as Administrator, so she was able to continue to add datasets to the sub-dataverse and add roles as normal.

Has anyone encountered this? 
Thanks!
Erin

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.
To post to this group, send email to dataverse...@googlegroups.com.

Philip Durbin

unread,
Feb 14, 2018, 9:16:56 PM2/14/18
to dataverse...@googlegroups.com
Erin, thanks for sending that server.log[1]. I think you're right. One of the users groups (probably a user), has some invalid data, like a bad email, as you suggest.

I wish I had an easy answer for you but I think you might be best off trying to identify the bad data in the database (the invalid email address or whatever) and fixing it so that the page works again (doesn't blow up with crazy errors like you're seeing). If it is an invalid email address, please be advised that all users have a email address in the "authenticateduser" database table but if the user happens to be a "builtin" (not a remote auth user) user, an email address is also stored in the "builtinuser" table.

In case there are any developers listening or anyone interested in the gory details, the stack trace points at https://github.com/IQSS/dataverse/blob/v4.7/src/main/java/edu/harvard/iq/dataverse/ManagePermissionsPage.java#L164 which is blowing up with a ConstraintViolationException when a RoleAssignee (user or group) is being instantiated. Tragically, the details of the violation are not revealed in the log. In some places in the code we catch ConstraintViolationException and interrogate the exception to print out what the violation is. We could conceivably write some sort of user data integrity checker that iterates through all users making sure that no violations are present by instantiating each one, each user. Without this in place, I don't really have a clever way of helping you identify the cause of the ConstraintViolationException so I can't really help you figure out which data in the database is not in compliance with the rules (Bean Validation) at the Java level. Sorry. :( Maybe someone else reading this can suggest a way. :)

I hope this helps,

Phil

p.s.  Sonia, yes you're right that "Role Assignment: Able to Attempt to Assign the Same Role to the Same User Multiple Times" is still an issue and also yields an angry red error: https://github.com/IQSS/dataverse/issues/1503

1. For my reference, the server.log is in https://help.hmdc.harvard.edu/Ticket/Display.html?id=258461



To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsubscribe...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsubscribe...@googlegroups.com.

To post to this group, send email to dataverse...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dataverse-community+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Philip Durbin

unread,
Feb 16, 2018, 9:35:31 AM2/16/18
to dataverse...@googlegroups.com
I heard via the support ticket I mentioned that the problem has been resolved. As Erin suspected, one of the users who had a role assigned had an invalid email address. Going into the database directly and fixing it made the page stop blowing up.

Again, if anyone out there sees "ConstraintViolationException" in server.log, it indicates that PostgreSQL is ok with the data but the Java layer above it (rules expressed using Bean Validation) is not. This should be a rare event (data that doesn't conform to the Bean Validation rules shouldn't have gotten into the database in the first place) so please feel free to reach out like Erin did if you see anything like this. Longer term it would be nice if Dataverse did periodic checks for "bad data" like this (an invalid email address for a user, for example) and report on it in the superuser dashboard. If someone wants to create an GitHub issue for this, please go ahead.

Thanks,

Phil

To post to this group, send email to dataverse-community@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages