Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0013068Openbravo ERPA. Platformpublic2010-04-22 10:062010-06-15 14:03
alostale 
alostale 
urgentmajorsometimes
closedfixed 
5
pi 
2.50MP17 
Core
No
0013068: ComboReloadsProcessHelper.printPage can reach the 64k method size limitation
JVM specification states:

"The amount of code per non-native, non-abstract method is limited to 65536 bytes by the sizes of the indices in the exception_table of the Code attribute (§4.7.3), in the LineNumberTable attribute (§4.7.8), and in the LocalVariableTable attribute (§4.7.9)." [1]

This limitation of 64k in a method can be reached in the combo reloads for processes in case the number of processes/parameters is big enough, since there is a single method where all the logic for all the combo reloads for all the parameters in all the generated processes is implemented.

---
[1] http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#88659 [^]
This issue it is difficult to reproduce (even though there is a customer suffering it). It is necessary to register in AD an amount of generated UI processes with combo parameters big enough to make the org.openbravo.erpCommon.ad_callouts.ComboReloadsProcessHelper.printPage method to exceed the 64k limit.
Two actions will be taken to solve this issue:

1. Generate a method per process instead of a single one for all the processes. printPage method should only call these new methods.
2. Currently combo reload code is generated for all parameters with combo references. This is because in general windows it is required because apart of validation, organization (which is in all windows) can affect the contents of a combo, but it is not needed for processes in case the process does not have a organization field. So if the combo has not organization field, the code for reloads will be generated only for the parameters with validation.
No tags attached.
related to defect 0009495 closed alostale The validation on the parameters of a process definition, does not work with refering to fields on the popup 
Issue History
2010-04-22 10:06alostaleNew Issue
2010-04-22 10:06alostaleAssigned To => alostale
2010-04-22 10:16alostaleRelationship addedrelated to 0009495
2010-04-22 11:36hgbotCheckin
2010-04-22 11:36hgbotNote Added: 0026563
2010-04-22 11:36hgbotStatusnew => resolved
2010-04-22 11:36hgbotResolutionopen => fixed
2010-04-22 11:36hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/d510eff809377d1609c35267d1c22b073a0e2ce1 [^]
2010-04-22 11:36hgbotCheckin
2010-04-22 11:36hgbotNote Added: 0026564
2010-04-22 11:36hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/d510eff809377d1609c35267d1c22b073a0e2ce1 [^] => http://code.openbravo.com/erp/devel/pi/rev/ac28ad27304ea1985944b78016af271479c850b9 [^]
2010-04-22 11:42alostaleStatusresolved => new
2010-04-22 11:42alostaleResolutionfixed => open
2010-04-22 11:45alostaleProposed Solution updated
2010-04-22 11:46alostaleStatusnew => scheduled
2010-04-22 11:46alostalefix_in_branch => pi
2010-04-22 11:46alostaleStatusscheduled => resolved
2010-04-22 11:46alostaleResolutionopen => fixed
2010-04-22 15:27hgbotCheckin
2010-04-22 15:27hgbotNote Added: 0026578
2010-04-22 18:14alostaleNote Added: 0026588
2010-04-22 18:14alostaleStatusresolved => closed
2010-04-22 18:14alostaleFixed in Version => 2.50MP16
2010-04-23 00:00anonymoussf_bug_id0 => 2991132
2010-05-11 18:20jpabloaeFixed in Version2.50MP16 => 2.50MP17
2010-05-14 15:27hudsonbotCheckin
2010-05-14 15:27hudsonbotNote Added: 0027268
2010-05-14 15:27hudsonbotCheckin
2010-05-14 15:27hudsonbotNote Added: 0027269
2010-05-14 15:27hudsonbotCheckin
2010-05-14 15:27hudsonbotNote Added: 0027272
2010-06-04 14:44hgbotCheckin
2010-06-04 14:44hgbotNote Added: 0027961
2010-06-04 14:44hgbotStatusclosed => resolved
2010-06-04 14:44hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/ac28ad27304ea1985944b78016af271479c850b9 [^] => http://code.openbravo.com/erp/devel/pi/rev/a0ed62e259cb645fccbe209a1370d325534b153c [^]
2010-06-04 14:44hgbotCheckin
2010-06-04 14:44hgbotNote Added: 0027962
2010-06-04 14:44hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/a0ed62e259cb645fccbe209a1370d325534b153c [^] => http://code.openbravo.com/erp/devel/pi/rev/8a8f30e3aab795708b6c56907bd67af4ccb773fc [^]
2010-06-04 14:44hgbotCheckin
2010-06-04 14:44hgbotNote Added: 0027965
2010-06-07 21:20hudsonbotCheckin
2010-06-07 21:20hudsonbotNote Added: 0028083
2010-06-07 21:20hudsonbotCheckin
2010-06-07 21:20hudsonbotNote Added: 0028084
2010-06-07 21:20hudsonbotCheckin
2010-06-07 21:20hudsonbotNote Added: 0028087
2010-06-07 23:43hudsonbotCheckin
2010-06-07 23:43hudsonbotNote Added: 0028125
2010-06-07 23:43hudsonbotCheckin
2010-06-07 23:43hudsonbotNote Added: 0028126
2010-06-07 23:43hudsonbotCheckin
2010-06-07 23:43hudsonbotNote Added: 0028129
2010-06-15 14:03jpabloaeStatusresolved => closed

Notes
(0026563)
hgbot   
2010-04-22 11:36   
Repository: erp/devel/pi
Changeset: d510eff809377d1609c35267d1c22b073a0e2ce1
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 10:37:18 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/d510eff809377d1609c35267d1c22b073a0e2ce1 [^]

fixed issue 13068: Reached 64k method size limit in ComboReloadsProcessHelper.printPage
  Created a new method per process

---
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.javaxml
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.xml
M src-wad/src/org/openbravo/wad/Wad.java
---
(0026564)
hgbot   
2010-04-22 11:36   
Repository: erp/devel/pi
Changeset: ac28ad27304ea1985944b78016af271479c850b9
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 11:29:07 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/ac28ad27304ea1985944b78016af271479c850b9 [^]

fixed issue 13068: Reached 64k method size limit in ComboReloadsProcessHelper.printPage
   Do not generate org callout in case there is not ad_org_id column

---
M src-wad/src/org/openbravo/wad/Fields_data.xsql
M src-wad/src/org/openbravo/wad/Wad.java
---
(0026578)
hgbot   
2010-04-22 15:27   
Repository: erp/devel/pi
Changeset: ec07533734ac32c0af91cbb3d896ec166ad0394d
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 15:27:21 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/ec07533734ac32c0af91cbb3d896ec166ad0394d [^]

issue 13068: Make process mehtods private

---
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.javaxml
---
(0026588)
alostale   
2010-04-22 18:14   
Verified by AVI, the fix solves the issue in the customer.
(0027268)
hudsonbot   
2010-05-14 15:27   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/d510eff80937 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/36f76c8d7193 [^]
Tests: http://builds.openbravo.com/view/devel-int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17198.obx [^]
(0027269)
hudsonbot   
2010-05-14 15:27   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/ac28ad27304e [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/36f76c8d7193 [^]
Tests: http://builds.openbravo.com/view/devel-int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17198.obx [^]
(0027272)
hudsonbot   
2010-05-14 15:27   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/ec07533734ac [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/36f76c8d7193 [^]
Tests: http://builds.openbravo.com/view/devel-int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17198.obx [^]
(0027961)
hgbot   
2010-06-04 14:44   
Repository: erp/devel/pi
Changeset: a0ed62e259cb645fccbe209a1370d325534b153c
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 10:37:18 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/a0ed62e259cb645fccbe209a1370d325534b153c [^]

fixed issue 13068: Reached 64k method size limit in ComboReloadsProcessHelper.printPage
  Created a new method per process

---
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.javaxml
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.xml
M src-wad/src/org/openbravo/wad/Wad.java
---
(0027962)
hgbot   
2010-06-04 14:44   
Repository: erp/devel/pi
Changeset: 8a8f30e3aab795708b6c56907bd67af4ccb773fc
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 11:29:07 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/8a8f30e3aab795708b6c56907bd67af4ccb773fc [^]

fixed issue 13068: Reached 64k method size limit in ComboReloadsProcessHelper.printPage
   Do not generate org callout in case there is not ad_org_id column

---
M src-wad/src/org/openbravo/wad/Fields_data.xsql
M src-wad/src/org/openbravo/wad/Wad.java
---
(0027965)
hgbot   
2010-06-04 14:44   
Repository: erp/devel/pi
Changeset: 1ebda46be26019a27800f3da3daf6a4c13586622
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 22 15:27:21 2010 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/1ebda46be26019a27800f3da3daf6a4c13586622 [^]

issue 13068: Make process mehtods private

---
M src-wad/src/org/openbravo/wad/ComboReloadsProcessHelper.javaxml
---
(0028083)
hudsonbot   
2010-06-07 21:20   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/a0ed62e259cb [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]
(0028084)
hudsonbot   
2010-06-07 21:20   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/8a8f30e3aab7 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]
(0028087)
hudsonbot   
2010-06-07 21:20   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/1ebda46be260 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]
(0028125)
hudsonbot   
2010-06-07 23:43   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/a0ed62e259cb [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]
(0028126)
hudsonbot   
2010-06-07 23:43   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/8a8f30e3aab7 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]
(0028129)
hudsonbot   
2010-06-07 23:43   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/1ebda46be260 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/8b43a1f2fff4 [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.17563.obx [^]