Anonymous | Login
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
TypeCategorySeverityReproducibilityDate SubmittedLast Update
backport[Openbravo ERP] A. Platformminorhave not tried2018-02-13 10:162018-02-13 13:32
ReporterAugustoMauchView Statuspublic 
Assigned Toalostale 
PriorityimmediateResolutionfixedFixed in Version3.0PR17Q4.1
StatusclosedFix in branchFixed in SCM revisioneadd42437276
ProjectionnoneETAnoneTarget Version3.0PR17Q4.1
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
Regression levelProduction - Confirmed Stable
Regression date2016-04-26
Regression introduced in release3.0PR17Q3
Regression introduced by commit [^]
Triggers an Emergency PackNo

0037895: ConcurrentModificationException when working with SessionListener.activeHttpSessions

DescriptionThe following exception has been found in a customer log:

b45df575 2018-02-12 16:53:13,566 [ajp-bio-] ERROR - Error getting active session from context
        at java.util.HashMap$HashIterator.nextEntry(
        at java.util.HashMap$
        at org.openbravo.erpCommon.obps.ActivationKey.shouldDeactivateSession(
        at org.openbravo.erpCommon.obps.ActivationKey.deactivateTimeOutSessions(
        at org.openbravo.erpCommon.obps.ActivationKey.checkOPSLimitations(
        at org.openbravo.erpCommon.obps.ActivationKey.checkOPSLimitations(

The access to the SessionListener.activeHttpSessions Set is not being properly managed, as it is possible to add/remove elements from it while it is being iterated.
Steps To Reproduce-
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
blocks defect 0037893 closedalostale ConcurrentModificationException when working with SessionListener.activeHttpSessions 

-  Notes
hgbot (developer)
2018-02-13 12:57

Repository: erp/backports/3.0PR17Q4.1
Changeset: eadd42437276a775bf4516aa98765ee1d46eff31
Author: Asier Lostalé <asier.lostale <at>>
Date: Tue Feb 13 12:06:02 2018 +0100
URL: [^]

fixed bug 37895, fixed bug 37901: incorrect CU handling in concurrency and POS

  Concurrent Users management had two different problems:
   * If a backoffice session was reused in POS closing backoffice browser, a CU
     session was counted and it was not deactivated while POS session was active.
     In this situation, the session should be deactivated if CU limit has been
   * Code for creating and checking active http sessions in context was not thread
     safe, so it was possible to get an error when checking if session was active while
     other sessions were created/destroyed in paralell. This has been fixed by
     synchronizing on active session set. Having solved previous issue this should
     not create excessive contentention as it will be executed only if: CU limit has
     been reached and there are sessions created by mobile modules exclude POS.

M src/org/openbravo/erpCommon/obps/
M src/org/openbravo/erpCommon/security/
AugustoMauch (developer)
2018-02-13 13:32

Code reviewed and verified

- Issue History
Date Modified Username Field Change
2018-02-13 10:23 alostale Type defect => backport
2018-02-13 10:23 alostale Target Version => 3.0PR17Q4.1
2018-02-13 12:57 hgbot Checkin
2018-02-13 12:57 hgbot Note Added: 0102353
2018-02-13 12:57 hgbot Status scheduled => resolved
2018-02-13 12:57 hgbot Resolution open => fixed
2018-02-13 12:57 hgbot Fixed in SCM revision => [^]
2018-02-13 13:32 AugustoMauch Note Added: 0102359
2018-02-13 13:32 AugustoMauch Status resolved => closed
2018-02-13 13:32 AugustoMauch Fixed in Version => 3.0PR17Q4.1

Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker