You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/10/13 18:18:00 UTC

[jira] [Work logged] (VFS-683) Thread safety issue in VFSClassLoader - NullPointerException thrown

     [ https://issues.apache.org/jira/browse/VFS-683?focusedWorklogId=816744&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-816744 ]

ASF GitHub Bot logged work on VFS-683:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Oct/22 18:17
            Start Date: 13/Oct/22 18:17
    Worklog Time Spent: 10m 
      Work Description: rverk commented on issue #2775:
URL: https://github.com/apache/accumulo/issues/2775#issuecomment-1277999467

   Pls add this to the Known Issues of 10.2. We had to manually downgrade VFS to fix breaking issues with our iterators not properly loading. Having known this up front would have saved us the trouble.  




Issue Time Tracking
-------------------

    Worklog Id:     (was: 816744)
    Time Spent: 1h 40m  (was: 1.5h)

> Thread safety issue in VFSClassLoader - NullPointerException thrown
> -------------------------------------------------------------------
>
>                 Key: VFS-683
>                 URL: https://issues.apache.org/jira/browse/VFS-683
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.2
>            Reporter: Daryl Odnert
>            Assignee: Gary D. Gregory
>            Priority: Major
>         Attachments: Main.java
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> In my application, I have two instances of the {{VFSClassLoader}}, each of which is being used in a distinct thread. Both {{VFSClassLoader}} instances refer to the same compressed file resource described by a {{FileObject}} that is passed to the class loader's constructor. Intermittently, the application throws an exception with the stack trace shown below. So, there seems to be either a race condition in the code or an undocumented assumption here. If it is unsupported for two {{VFSClassLoader}} instances to refer to the same resource (file), then that assumption should be documented. But if that is not the case, then there is a race condition bug in the implementation.
> {noformat}
> 43789 WARN  {} c.a.e.u.PreferredPathClassLoader - While loading class org.apache.hive.jdbc.HiveDatabaseMetaData, rethrowing unexpected java.lang.NullPointerException: Inflater has been closed
> java.lang.NullPointerException: Inflater has been closed
> 	at java.util.zip.Inflater.ensureOpen(Inflater.java:389)
> 	at java.util.zip.Inflater.inflate(Inflater.java:257)
> 	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
> 	at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
> 	at org.apache.commons.vfs2.util.MonitorInputStream.read(MonitorInputStream.java:91)
> 	at org.apache.commons.vfs2.FileUtil.getContent(FileUtil.java:47)
> 	at org.apache.commons.vfs2.impl.Resource.getBytes(Resource.java:102)
> 	at org.apache.commons.vfs2.impl.VFSClassLoader.defineClass(VFSClassLoader.java:179)
> 	at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:150)
>         at com.atscale.engine.utils.PreferredPathClassLoader.findClass(PreferredPathClassLoader.scala:54)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)