-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Closed
Labels
Description
Hello,
We are seeing high levels of lock contention after our upgrade to RxJava 108
Apologize for not having a unit test to reproduce this we have a fairly complex system and we are having trouble figuring out which areas to dig deeper to find a reproducible case.
This is a paste from a JMC view. As far as we know nothing should be getting unsubscribed in our application.
We would appreciate if anyone can shed some light on what kind of behavior would trigger the stack below.
Stack Trace Sample Count Percentage(%)
java.util.concurrent.locks.LockSupport.unpark(Thread) 1,113 76.233
java.util.concurrent.locks.AbstractQueuedSynchronizer.unparkSuccessor(AbstractQueuedSynchronizer$Node) 1,113 76.233
java.util.concurrent.locks.AbstractQueuedSynchronizer.release(int) 1,113 76.233
java.util.concurrent.locks.ReentrantLock.unlock() 1,113 76.233
rx.internal.util.SubscriptionList.remove(Subscription) 1,113 76.233
rx.internal.schedulers.ScheduledAction$Remover2.unsubscribe() 1,113 76.233
rx.internal.util.SubscriptionList.unsubscribeFromAll(Collection) 1,113 76.233
rx.internal.util.SubscriptionList.unsubscribe() 1,113 76.233
rx.internal.schedulers.ScheduledAction.unsubscribe() 1,113 76.233
rx.internal.schedulers.ScheduledAction.run() 1,113 76.233
java.util.concurrent.Executors$RunnableAdapter.call() 1,113 76.233
java.util.concurrent.FutureTask.run() 1,113 76.233
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor$ScheduledFutureTask) 1,113 76.233
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run() 1,113 76.233
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) 1,113 76.233
java.util.concurrent.ThreadPoolExecutor$Worker.run() 1,113 76.233
java.lang.Thread.run() 1,113 76.233