Opened 15 years ago
Closed 15 years ago
#1463 closed defect (fixed)
HTTP Status 500 when logging in
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | blocker | Milestone: | BASE 2.15 |
Component: | web | Version: | 2.14.2 |
Keywords: | Cc: |
Description
This is an issue that most likely was caused by #1439. The problem is that the literal string 'null' is used as the sort property for the projects list in the menu. Since projects doesn't have a 'null' property the query fails and the entire page fails to load. This has been known to happen on times on list pages as well, but there the error is catched and the user can use the 'clear filter' option and choose a different sort column to work around the problem. There is no easy workaround when this happens in the menu. A user that is affected by this problem will not be able to use BASE until it is fixed.
A manual cleaning of the database is needed. We have successfully used the following query:
update `Contexts` set `sort_property` = null where `sort_property` like '%null%'
This fix will only cure the current problem. It may appear again though we do not yet know why or when this invalid data is inserted into the database.
Change History (4)
comment:1 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 15 years ago
comment:3 by , 15 years ago
comment:4 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [5267]) Fixes #1463: HTTP Status 500 when logging in
Added update scripts that removes the bad 'null' values in the sort_property column.
Made the menu script more robust in case an error occurs.
NOTE! This update conflicts with the schema version change in the trunk for #1442 [5260]. This needs to be fixed in the trunk when we have merged 2.15 back to it.
Under some circumstances the following can appear in the JSP page for a list:
And this is generated by the Table taglib, line 561 when the sort property is a null referecence.
The hidden field value is then sent back to BASE as a string (processed in Base.getAndSetCurrentContext()), and is saved to the current context and later also to the database. Then, when the query is generated by ItemContext.configureQuery() the string 'null' is used in the query. Two changes are needed:
<input type="hidden" name="sortby" value="">