[jira] [Commented] (COMPRESS-582) Pack200CompressorOutputStream fails at runtime in 1.21 if ASM 4.0+ is used

2021-08-13 Thread Alex Landau (Jira)


[ 
https://issues.apache.org/jira/browse/COMPRESS-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17399086#comment-17399086
 ] 

Alex Landau commented on COMPRESS-582:
--

Thank you [~blecher-at] for the fix!

> Pack200CompressorOutputStream fails at runtime in 1.21 if ASM 4.0+ is used
> --
>
> Key: COMPRESS-582
> URL: https://issues.apache.org/jira/browse/COMPRESS-582
> Project: Commons Compress
>  Issue Type: Bug
>Affects Versions: 1.21
>Reporter: Alex Landau
>Priority: Major
> Fix For: 1.22
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> I just tried to upgrade an existing codebase to commons-compress 1.21 (from 
> 1.20, which was working correctly) and encountered the following error in 
> code trying to use the Pack200CompressorOutputStream:
> {code:java}
> java.lang.IncompatibleClassChangeError: class 
> org.apache.commons.compress.harmony.pack200.Segment can not implement 
> org.objectweb.asm.ClassVisitor, because it is not an interface 
> (org.objectweb.asm.ClassVisitor is in unnamed module of loader 'app')
> {code}
> The Segment class {{implements}} rather than {{extends}} ClassVisitor. It 
> looks like commons-compress is built against asm 3.2. Per 
> [https://asm.ow2.io/versions.html], ClassVisitor was converted from an 
> interface to an abstract class in asm 4.0, which was released in 2011, "in 
> order to ensure backward binary compatibility in future ASM versions". To be 
> clear, our project needs a more recent asm version on the classpath to 
> support other libraries.
> I have a repro of the error here, in case it helps: 
> [https://github.com/AlexLandau/commons-compress-asm-error]
> I want to add that I appreciate the effort you are making to support pack200 
> in a way that will outlast the JDK's native support.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (COMPRESS-582) Pack200CompressorOutputStream fails at runtime in 1.21 if ASM 4.0+ is used

2021-07-14 Thread Alex Landau (Jira)
Alex Landau created COMPRESS-582:


 Summary: Pack200CompressorOutputStream fails at runtime in 1.21 if 
ASM 4.0+ is used
 Key: COMPRESS-582
 URL: https://issues.apache.org/jira/browse/COMPRESS-582
 Project: Commons Compress
  Issue Type: Bug
Affects Versions: 1.21
Reporter: Alex Landau


I just tried to upgrade an existing codebase to commons-compress 1.21 (from 
1.20, which was working correctly) and encountered the following error in code 
trying to use the Pack200CompressorOutputStream:
{code:java}
java.lang.IncompatibleClassChangeError: class 
org.apache.commons.compress.harmony.pack200.Segment can not implement 
org.objectweb.asm.ClassVisitor, because it is not an interface 
(org.objectweb.asm.ClassVisitor is in unnamed module of loader 'app')
{code}
The Segment class {{implements}} rather than {{extends}} ClassVisitor. It looks 
like commons-compress is built against asm 3.2. Per 
[https://asm.ow2.io/versions.html], ClassVisitor was converted from an 
interface to an abstract class in asm 4.0, which was released in 2011, "in 
order to ensure backward binary compatibility in future ASM versions". To be 
clear, our project needs a more recent asm version on the classpath to support 
other libraries.

I have a repro of the error here, in case it helps: 
[https://github.com/AlexLandau/commons-compress-asm-error]

I want to add that I appreciate the effort you are making to support pack200 in 
a way that will outlast the JDK's native support.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)