Hi Guys!
We have just recently upgraded to 2016-08-10 from 2016-03-31 and found this regression, but described behaviour is also failing on latest 6.0p-2016-08-24 LGPL.
Tested with both, latest Chrome and latest FF.
We have a listgrid with some columns. We allow to users to hide columns and then save state of the view, i.e. we store result of ListGrid#getViewState somewhere.
When it fails:
A user has some view (lets call it view A) with a column that has a filterExpression (i.e. >50 to filter records) on numeric column and they store it. Then they hide a single column and store it as view B. btw. The only change in data that returns ListGrid#getViewState is that the "visible" property is set to false on the column they hidden.
When they switch from view A to view B client app fails inside ListGrid#setViewState when we are setting the view B because of null pointer. Since then, while listgrid is in broken state users are forced to reload whole page again.
I debugged it and found that it is because unhandled null pointer. It seem that current code considers the column as a new one and its object is not properly initialized.
See chromedevtools_stacktrace_when_issue_happens.png in attachments please.
Also adding figure of state when null pointer exception happens and state of ListGrid's getEditForm that leads to NPE.
We would be very thankful if you can please take a look at this :)
Best regards!
Tomas
Browser exception:
*16:36:23.990:MUP3:WARN:Log:com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'getItem' of null
at wrap_2_g$(priceFxWeb-0.js@5:53686)
at doFire_0_g$(priceFxWeb-0.js@20:41802)
at fireEvent_2_g$(priceFxWeb-0.js@8:41872)
at fireEvent_1_g$(priceFxWeb-0.js@24:41677)
at fireEvent_15_g$(priceFxWeb-0.js@23:85034)
at <anonymous>(priceFxWeb-0.js@16:228548)
at apply_1_g$(priceFxWeb-0.js@28:17841)
at entry0_0_g$(priceFxWeb-0.js@16:17897)
at changed(priceFxWeb-0.js@14:17877)
at isc_FormItem_handleChanged(https://localhost/priceFxWeb/sc/modu...-08-24@22:1072)
at isc_FormItem_storeValue(https://localhost/priceFxWeb/sc/modu...-08-24@23:1071)
at isc_FormItem__updateValue(https://localhost/priceFxWeb/sc/modu...-08-24@68:1068)
at isc_SelectItem_updateValue(https://localhost/priceFxWeb/sc/modu...-08-24@46:2072)
at isc_SelectItem_changeToValue(https://localhost/priceFxWeb/sc/modu...-08-24@35:2063)
at isc_SelectItem_pickValue(https://localhost/priceFxWeb/sc/modu...6-08-24@6:2105)
at isc_PickListMenu_itemClick(https://localhost/priceFxWeb/sc/modu...08-24@159:1806)
at isc_PickListMenu_recordClick(https://localhost/priceFxWeb/sc/modu...-08-24@41:1800)
at isc_ListGrid_rowClick(https://localhost/priceFxWeb/sc/modu...-08-24@22:1656)
at isc_c_Class_invokeSuper(https://localhost/priceFxWeb/sc/modu...6-08-24@93:272)
at isc_c_Class_Super(https://localhost/priceFxWeb/sc/modu...-08-24@170:264)
at isc_PickListMenu_rowClick(https://localhost/priceFxWeb/sc/modu...08-24@245:1796)
at eval(eval at isc__makeFunction (https://localhost/priceFxWeb/sc/modu...6-08-24@122:57)
at isc_GridRenderer__rowClick(https://localhost/priceFxWeb/sc/modu...-08-24@183:691)
at isc_c_Class_invokeSuper(https://localhost/priceFxWeb/sc/modu...6-08-24@93:272)
at isc_c_Class_Super(https://localhost/priceFxWeb/sc/modu...-08-24@170:264)
at isc_GridBody__rowClick(https://localhost/priceFxWeb/sc/modu...6-08-24@76:758)
at isc_GridRenderer_click(https://localhost/priceFxWeb/sc/modu...-08-24@167:689)
at isc_Canvas_handleClick(https://localhost/priceFxWeb/sc/modu...08-24@400:3011)
at isc_c_EventHandler_bubbleEvent(https://localhost/priceFxWeb/sc/modu...-08-24@89:1705)
at isc_c_EventHandler_handleClick(https://localhost/priceFxWeb/sc/modu...-08-24@50:1563)
at isc_c_EventHandler__handleMouseUp(https://localhost/priceFxWeb/sc/modu...-08-24@11:1548)
at isc_c_EventHandler_handleMouseUp(https://localhost/priceFxWeb/sc/modu...-08-24@57:1539)
at isc_c_EventHandler_dispatch(https://localhost/priceFxWeb/sc/modu...08-24@108:1783)
at ev
Adding also figure of correct state that happends when display view A
We have just recently upgraded to 2016-08-10 from 2016-03-31 and found this regression, but described behaviour is also failing on latest 6.0p-2016-08-24 LGPL.
Tested with both, latest Chrome and latest FF.
We have a listgrid with some columns. We allow to users to hide columns and then save state of the view, i.e. we store result of ListGrid#getViewState somewhere.
When it fails:
A user has some view (lets call it view A) with a column that has a filterExpression (i.e. >50 to filter records) on numeric column and they store it. Then they hide a single column and store it as view B. btw. The only change in data that returns ListGrid#getViewState is that the "visible" property is set to false on the column they hidden.
When they switch from view A to view B client app fails inside ListGrid#setViewState when we are setting the view B because of null pointer. Since then, while listgrid is in broken state users are forced to reload whole page again.
I debugged it and found that it is because unhandled null pointer. It seem that current code considers the column as a new one and its object is not properly initialized.
See chromedevtools_stacktrace_when_issue_happens.png in attachments please.
Also adding figure of state when null pointer exception happens and state of ListGrid's getEditForm that leads to NPE.
We would be very thankful if you can please take a look at this :)
Best regards!
Tomas
Browser exception:
*16:36:23.990:MUP3:WARN:Log:com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'getItem' of null
at wrap_2_g$(priceFxWeb-0.js@5:53686)
at doFire_0_g$(priceFxWeb-0.js@20:41802)
at fireEvent_2_g$(priceFxWeb-0.js@8:41872)
at fireEvent_1_g$(priceFxWeb-0.js@24:41677)
at fireEvent_15_g$(priceFxWeb-0.js@23:85034)
at <anonymous>(priceFxWeb-0.js@16:228548)
at apply_1_g$(priceFxWeb-0.js@28:17841)
at entry0_0_g$(priceFxWeb-0.js@16:17897)
at changed(priceFxWeb-0.js@14:17877)
at isc_FormItem_handleChanged(https://localhost/priceFxWeb/sc/modu...-08-24@22:1072)
at isc_FormItem_storeValue(https://localhost/priceFxWeb/sc/modu...-08-24@23:1071)
at isc_FormItem__updateValue(https://localhost/priceFxWeb/sc/modu...-08-24@68:1068)
at isc_SelectItem_updateValue(https://localhost/priceFxWeb/sc/modu...-08-24@46:2072)
at isc_SelectItem_changeToValue(https://localhost/priceFxWeb/sc/modu...-08-24@35:2063)
at isc_SelectItem_pickValue(https://localhost/priceFxWeb/sc/modu...6-08-24@6:2105)
at isc_PickListMenu_itemClick(https://localhost/priceFxWeb/sc/modu...08-24@159:1806)
at isc_PickListMenu_recordClick(https://localhost/priceFxWeb/sc/modu...-08-24@41:1800)
at isc_ListGrid_rowClick(https://localhost/priceFxWeb/sc/modu...-08-24@22:1656)
at isc_c_Class_invokeSuper(https://localhost/priceFxWeb/sc/modu...6-08-24@93:272)
at isc_c_Class_Super(https://localhost/priceFxWeb/sc/modu...-08-24@170:264)
at isc_PickListMenu_rowClick(https://localhost/priceFxWeb/sc/modu...08-24@245:1796)
at eval(eval at isc__makeFunction (https://localhost/priceFxWeb/sc/modu...6-08-24@122:57)
at isc_GridRenderer__rowClick(https://localhost/priceFxWeb/sc/modu...-08-24@183:691)
at isc_c_Class_invokeSuper(https://localhost/priceFxWeb/sc/modu...6-08-24@93:272)
at isc_c_Class_Super(https://localhost/priceFxWeb/sc/modu...-08-24@170:264)
at isc_GridBody__rowClick(https://localhost/priceFxWeb/sc/modu...6-08-24@76:758)
at isc_GridRenderer_click(https://localhost/priceFxWeb/sc/modu...-08-24@167:689)
at isc_Canvas_handleClick(https://localhost/priceFxWeb/sc/modu...08-24@400:3011)
at isc_c_EventHandler_bubbleEvent(https://localhost/priceFxWeb/sc/modu...-08-24@89:1705)
at isc_c_EventHandler_handleClick(https://localhost/priceFxWeb/sc/modu...-08-24@50:1563)
at isc_c_EventHandler__handleMouseUp(https://localhost/priceFxWeb/sc/modu...-08-24@11:1548)
at isc_c_EventHandler_handleMouseUp(https://localhost/priceFxWeb/sc/modu...-08-24@57:1539)
at isc_c_EventHandler_dispatch(https://localhost/priceFxWeb/sc/modu...08-24@108:1783)
at ev
Adding also figure of correct state that happends when display view A
Comment