Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0052178
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformmajoralways2023-04-20 08:302023-05-02 08:40
ReporteralostaleView Statuspublic 
Assigned Toalostale 
PriorityurgentResolutionfixedFixed in VersionPR23Q3
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0052178: resources (open file descriptors and java threads) leaked on push API

DescriptionPush API, technically any user of ExternalSystem, generate over the time many open file descriptors that are never closed as well as many HttpClient-xx-SelectorManager threads.
Steps To Reproduce
1.1 Observe a customer with usage of push API, see how open file descriptors (lsof) and HttpClient threads increase over the time. Execute for monitoring:
watch 'PID=$(jps | grep Bootstrap | cut -f1 -d " "); echo "HttpClient threads: $(jstack 
$PID | grep HttpClient- | wc -l)"; echo "pipes and polls $(lsof -p $PID | grep -e pipe -e eventpoll 
| wc -l)"'


or create the following artificial reproducer

2.1 Apply the attached reproducer
2.2 Having installed api modules, create a subscription to order creation
2.3 In Openbravo open about form to launch the reproducer
2.4 Monitor with the previous command
TagsNo tags attached.
Attached Filesdiff file icon 52178-reproducer.diff [^] (2,960 bytes) 2023-04-20 08:43 [Show Content]
png file icon Selection_117.png [^] (20,455 bytes) 2023-04-20 08:43

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 0052188PR23Q2 closedalostale resources (open file descriptors and java threads) leaked on push API 
depends on backport 0052189PR23Q1.2 closedalostale resources (open file descriptors and java threads) leaked on push API 
depends on feature request 0049951 closedalostale WeldUtils.getInstances with a given selector 
caused by feature request 0048579 closedcaristu Push API 

-  Notes
(0148634)
hgbot (developer)
2023-04-20 12:30

Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/860 [^]
(0148640)
hgbot (developer)
2023-04-20 14:18

Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/860 [^]
(0148641)
hgbot (developer)
2023-04-20 14:18

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 01d34800f8df29dc9bdb8479b0fe1f09031a077c
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 20-04-2023 13:25:45
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/01d34800f8df29dc9bdb8479b0fe1f09031a077c [^]

fixes BUG-52178: ExternalSystem instances are leaked

Injecting @Depedent scoped ExternalSystem instances in @ApplicationScoped
ExternalSystemProvider caused the former instances to be retained as part of the
latte's context. Each HttpExternalSystem references to a JDK's HttpClient
intance which causes its threads and file descriptors to be kept open forever
even after the ExternalSystem is disposed from the cache.

Instantiating them through the BeanManager (which is indirectly done by the
WeldUtils) prevents this leak

---
M src/org/openbravo/service/externalsystem/ExternalSystemProvider.java
---

- Issue History
Date Modified Username Field Change
2023-04-20 08:30 alostale New Issue
2023-04-20 08:30 alostale Assigned To => Triage Platform Base
2023-04-20 08:30 alostale Modules => Core
2023-04-20 08:30 alostale Triggers an Emergency Pack => No
2023-04-20 08:43 alostale File Added: 52178-reproducer.diff
2023-04-20 08:43 alostale File Added: Selection_117.png
2023-04-20 12:30 hgbot Note Added: 0148634
2023-04-20 14:11 alostale Assigned To Triage Platform Base => alostale
2023-04-20 14:13 alostale Status new => scheduled
2023-04-20 14:18 hgbot Resolution open => fixed
2023-04-20 14:18 hgbot Status scheduled => closed
2023-04-20 14:18 hgbot Note Added: 0148640
2023-04-20 14:18 hgbot Fixed in Version => PR23Q3
2023-04-20 14:18 hgbot Note Added: 0148641
2023-04-27 09:26 alostale Relationship added caused by 0048579
2023-05-02 08:40 alostale Relationship added depends on 0049951


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker