You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Dongjoon Hyun (Jira)" <ji...@apache.org> on 2022/04/03 17:32:00 UTC

[jira] [Assigned] (SPARK-38446) Deadlock between ExecutorClassLoader and FileDownloadCallback caused by Log4j

     [ https://issues.apache.org/jira/browse/SPARK-38446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dongjoon Hyun reassigned SPARK-38446:
-------------------------------------

    Assignee: Kent Yao

> Deadlock between ExecutorClassLoader and FileDownloadCallback caused by Log4j
> -----------------------------------------------------------------------------
>
>                 Key: SPARK-38446
>                 URL: https://issues.apache.org/jira/browse/SPARK-38446
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 3.1.2, 3.2.1, 3.03
>            Reporter: Kent Yao
>            Assignee: Kent Yao
>            Priority: Major
>
> {code:java}
> files-client-8-1
> PRIORITY : 5
> THREAD ID : 0X00007FBFFC5EE000
> NATIVE ID : 0X14903
> NATIVE ID (DECIMAL) : 84227
> STATE : BLOCKED
> stackTrace:
> java.lang.Thread.State: BLOCKED (on object monitor)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:398)
> - waiting to lock <0x00000003c0753f88> (a org.apache.spark.repl.ExecutorClassLoader)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
> at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:169)
> at org.apache.logging.log4j.core.impl.ThrowableProxyHelper.loadClass(ThrowableProxyHelper.java:214)
> at org.apache.logging.log4j.core.impl.ThrowableProxyHelper.toExtendedStackTrace(ThrowableProxyHelper.java:112)
> at org.apache.logging.log4j.core.impl.ThrowableProxy.(ThrowableProxy.java:113)
> at org.apache.logging.log4j.core.impl.ThrowableProxy.(ThrowableProxy.java:97)
> at org.apache.logging.log4j.core.impl.Log4jLogEvent.getThrownProxy(Log4jLogEvent.java:629)
> at org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:63)
> at org.apache.logging.log4j.core.layout.PatternLayout$NoFormatPatternSerializer.toSerializable(PatternLayout.java:342)
> at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:240)
> at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:225)
> at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:59)
> at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:215)
> at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:208)
> at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:199)
> at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161)
> at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134)
> at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125)
> at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
> at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:675)
> at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:633)
> at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:616)
> at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:552)
> at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
> at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
> at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
> at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
> at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
> at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017)
> at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
> at org.apache.logging.slf4j.Log4jLogger.debug(Log4jLogger.java:139)
> at org.apache.spark.internal.Logging.logDebug(Logging.scala:82)
> at org.apache.spark.internal.Logging.logDebug$(Logging.scala:81)
> at org.apache.spark.rpc.netty.NettyRpcEnv.logDebug(NettyRpcEnv.scala:45)
> at org.apache.spark.rpc.netty.NettyRpcEnv$FileDownloadCallback.onFailure(NettyRpcEnv.scala:454)
> at org.apache.spark.network.client.TransportResponseHandler.handle(TransportResponseHandler.java:260)
> {code}
> while the class loading lock 0x00000003c0753f88 is locked by ExecutorClassLoader who‘s downloading remote classes/jars though it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org