Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0041894Openbravo ERPA. Platformpublic2019-09-26 17:072019-09-27 10:55
alostale 
alostale 
immediateminorhave not tried
closedfixed 
5
 
3.0PR19Q2.33.0PR19Q2.3 
caristu
Core
Production - Confirmed Stable
2018-11-22
3.0PR19Q1
https://code.openbravo.com/erp/devel/pi/rev/4d71d9e4d6d5c9be49d1a301da6dbeefeb5d9048 [^]
No
0041894: Masked String reference can leave ADCS in an inconsitent state
Windows with tabs with fields which columns have a Masked String reference can lead the system to an inconsistent state making fail that windows generation.

ADCS does not completely initialize those references.
Preparation
1. As Sys Admin
2. Edit Organization table, description column
3. Change its reference to Masked String
4. Add a sub reference to a new mask
5. Set all modules as not in development
6. Restart Tomcat

Steps
1. Open Organization window
2. Restart Tomcat
3. Log in with the same browser session and open Organization window
4. In a different browser log in and open Organization window
ERROR:

Caused by: java.lang.IllegalStateException: freemarker.template.TemplateModelException: get(fieldProperties) failed on instance of org.openbravo.client.application.window.OBViewFieldHandler$OBViewField
    at org.openbravo.client.kernel.freemarker.FreemarkerTemplateProcessor.processTemplate(FreemarkerTemplateProcessor.java:70) ~[classes/:?]
...
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ADReference.oBCLKERREFMASKList, could not initialize proxy - no Session
    at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:602) ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:217) ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:161) ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.PersistentBag.size(PersistentBag.java:287) ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.openbravo.client.kernel.reference.MaskedStringUIDefinition.getFieldProperties(MaskedStringUIDefinition.java:34) ~[classes/:?]
    at org.openbravo.client.application.window.OBViewFieldHandler$OBViewField.getFieldProperties(OBViewFieldHandler.java:1435) ~[classes/:?]
Workaround while the problem is not solved:
1) Download jmxterm-1.0.1-uber.jar
2) java -jar jmxterm-1.0.1-uber.jar
3) open <PID>
4) bean
Openbravo:context=<contexto>,name=ApplicationDictionaryCachedStructures
5) run resetCache

** to the step 3) open <PID>: execute the "jps" command. It returns an id, to use.
No tags attached.
blocks defect 0041892 closed alostale Masked String reference can leave ADCS in an inconsitent state 
Issue History
2019-09-26 17:14alostaleTypedefect => backport
2019-09-26 17:14alostaleTarget Version => 3.0PR19Q2.3
2019-09-27 10:14hgbotCheckin
2019-09-27 10:14hgbotNote Added: 0114832
2019-09-27 10:14hgbotStatusscheduled => resolved
2019-09-27 10:14hgbotResolutionopen => fixed
2019-09-27 10:14hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR19Q2.3/rev/089c86e08874dd781a71447a46292535da75ac30 [^]
2019-09-27 10:55caristuNote Added: 0114837
2019-09-27 10:55caristuStatusresolved => closed
2019-09-27 10:55caristuFixed in Version => 3.0PR19Q2.3

Notes
(0114832)
hgbot   
2019-09-27 10:14   
Repository: erp/backports/3.0PR19Q2.3
Changeset: 089c86e08874dd781a71447a46292535da75ac30
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Fri Sep 27 09:56:29 2019 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR19Q2.3/rev/089c86e08874dd781a71447a46292535da75ac30 [^]

fixed bug 41894: Masked String reference can leave ADCS in an inconsitent state

  Masked String reference was partially initialized in ADCS, causing errors when
  a record in a tab with this reference triggered ADCS initialization for that
  window and later a view definition for the same window was requested.

  Now we are eagerly initializating masked string references.

---
M modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ApplicationDictionaryCachedStructures.java
---
(0114837)
caristu   
2019-09-27 10:55   
Code reviewed + tested OK.