Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0041893Openbravo ERPA. Platformpublic2019-09-26 17:072019-09-27 10:54
immediateminorhave not tried
Production - Confirmed Stable
3.0PR19Q1 [^]
0041893: 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.
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

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

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( ~[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( ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded( ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.AbstractPersistentCollection.readSize( ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.hibernate.collection.internal.PersistentBag.size( ~[hibernate-core-5.4.2.Final.jar:5.4.2.Final]
    at org.openbravo.client.kernel.reference.MaskedStringUIDefinition.getFieldProperties( ~[classes/:?]
    at org.openbravo.client.application.window.OBViewFieldHandler$OBViewField.getFieldProperties( ~[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
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.0PR19Q3.1
2019-09-27 10:14hgbotCheckin
2019-09-27 10:14hgbotNote Added: 0114831
2019-09-27 10:14hgbotStatusscheduled => resolved
2019-09-27 10:14hgbotResolutionopen => fixed
2019-09-27 10:14hgbotFixed in SCM revision => [^]
2019-09-27 10:54caristuNote Added: 0114836
2019-09-27 10:54caristuStatusresolved => closed
2019-09-27 10:54caristuFixed in Version => 3.0PR19Q3

2019-09-27 10:14   
Repository: erp/backports/3.0PR19Q3.1
Changeset: 8c33062c4a202552a67e93c7c1b126693070501d
Author: Asier Lostalé <asier.lostale <at>>
Date: Fri Sep 27 09:56:29 2019 +0200
URL: [^]

fixed bug 41893: 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/
2019-09-27 10:54   
Code reviewed + tested OK.