Openbravo Issue Tracking System - Openbravo ERP | ||||||||||||
View Issue Details | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||||
0039006 | Openbravo ERP | A. Platform | public | 2018-07-20 08:13 | 2018-07-27 10:27 | |||||||
Reporter | alostale | |||||||||||
Assigned To | alostale | |||||||||||
Priority | urgent | Severity | major | Reproducibility | random | |||||||
Status | closed | Resolution | fixed | |||||||||
Platform | OS | 5 | OS Version | |||||||||
Product Version | ||||||||||||
Target Version | 3.0PR18Q3 | Fixed in Version | 3.0PR18Q3 | |||||||||
Merge Request Status | ||||||||||||
Review Assigned To | caristu | |||||||||||
OBNetwork customer | ||||||||||||
Web browser | ||||||||||||
Modules | Core | |||||||||||
Support ticket | ||||||||||||
Regression level | ||||||||||||
Regression date | ||||||||||||
Regression introduced in release | ||||||||||||
Regression introduced by commit | ||||||||||||
Triggers an Emergency Pack | No | |||||||||||
Summary | 0039006: BaseComponentProvider is not thread safe | |||||||||||
Description | BaseComponentProvider has a field (appDependencies) which is thread unsafe. This static field is a HashMap which is not thread safe, it is generally initialized by different ComponentProviders in their static initializers for example in MobileCoreComponentProvider: static { // Set dependency on Mobile Core app BaseComponentProvider.setAppDependencies(MobileCoreConstants.RETAIL_CORE, Arrays.asList(MobileCoreConstants.APP_IDENTIFIER)); } If two different threads execute static initializer of different ComponentProviders concurrently, the contents of this field can be uncertain. | |||||||||||
Steps To Reproduce | Unclear and random. It could cause the following problem: 1. In an instance with retail 2. Load login page -> ERROR: Nothing is loaded an error page is seen saying "The WebPOS cannot be loaded" This can occur the first time login page is loaded. If it occurs, WebPOS won't be loadable till Tomcat is restarted, if it does not occur 1st load, subsequent ones will continue working. See https://ci.openbravo.com/view/try-retail/job/try-ret-test-pgsql-suite8/4853/artifact/SANDBOX/automation/pi-mobile/last-results/try-ret-test-pgsql-suite8/screenshots/15%3A01%3A44%20FAILED%3A%20ATT010_AttributesLayaways.png [^] | |||||||||||
Proposed Solution | Change appDependencies from HashMap to ConcurrentHashMap. | |||||||||||
Additional Information | ||||||||||||
Tags | No tags attached. | |||||||||||
Relationships |
| |||||||||||
Attached Files | ||||||||||||
Issue History | ||||||||||||
Date Modified | Username | Field | Change | |||||||||
2018-07-20 08:33 | alostale | Type | defect => backport | |||||||||
2018-07-20 08:33 | alostale | Target Version | => 3.0PR18Q3 | |||||||||
2018-07-20 09:05 | hgbot | Checkin | ||||||||||
2018-07-20 09:05 | hgbot | Note Added: 0105821 | ||||||||||
2018-07-20 09:05 | hgbot | Status | scheduled => resolved | |||||||||
2018-07-20 09:05 | hgbot | Resolution | open => fixed | |||||||||
2018-07-20 09:05 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/backports/3.0PR18Q3/rev/09564d201f76928ccbdf9ea5372913ce6c3e8c35 [^] | |||||||||
2018-07-27 10:27 | caristu | Note Added: 0105973 | ||||||||||
2018-07-27 10:27 | caristu | Status | resolved => closed | |||||||||
2018-07-27 10:27 | caristu | Fixed in Version | => 3.0PR18Q3 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|