[ https://issues.apache.org/jira/browse/SPARK-30285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcelo Masiero Vanzin resolved SPARK-30285. -------------------------------------------- Fix Version/s: 3.0.0 2.4.5 Resolution: Fixed Issue resolved by pull request 26924 [https://github.com/apache/spark/pull/26924] > Fix deadlock between LiveListenerBus#stop and > AsyncEventQueue#removeListenerOnError > ----------------------------------------------------------------------------------- > > Key: SPARK-30285 > URL: https://issues.apache.org/jira/browse/SPARK-30285 > Project: Spark > Issue Type: Bug > Components: Spark Core > Affects Versions: 2.3.0, 2.4.0 > Reporter: Wang Shuo > Assignee: Wang Shuo > Priority: Major > Fix For: 2.4.5, 3.0.0 > > > There is a deadlock between LiveListenerBus#stop and > AsyncEventQueue#removeListenerOnError. > we can reproduce as follows: > # Post some events to LiveListenerBus > # Call LiveListenerBus#stop and hold the synchronized lock of bus, waiting > until all the events are processed by listeners, then remove all the queues > # Event queue would drain out events by posting to its listeners. If a > listener is interrupted, it will call AsyncEventQueue#removeListenerOnError, > inside it will call bus.removeListener, trying to acquire synchronized lock > of bus, resulting in deadlock -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org