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

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

                Author: ASF GitHub Bot
            Created on: 15/Jun/22 03:18
            Start Date: 15/Jun/22 03:18
    Worklog Time Spent: 10m 
      Work Description: ctubbsii commented on issue #2775:
URL: https://github.com/apache/accumulo/issues/2775#issuecomment-1155938228

   > I'm thinking we should move the commons-vfs version back to 2.1 in `main` 
and https://github.com/apache/accumulo-classloaders. We can move the version 
back to 2.1 for any future 1.x and 2.0.x releases. Thoughts?
   
   2.1 isn't bug free... every version of VFS has had some kind of seriously 
annoying bug. I think us chasing the *right* version of VFS to have on the 
class path is a lost cause. Why not just wait for upstream to patch and release 
a fixed version we can bump to? If users want a specific VFS version to avoid 
specific bugs and to tolerate other specific bugs in VFS, they can take some 
responsibility to manage their own class path to get their preferred bugset.




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

    Worklog Id:     (was: 781455)
    Time Spent: 1h  (was: 50m)

> 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
>  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.7#820007)

Reply via email to