You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Bernd Eckenfels <ec...@zusammenkunft.net> on 2015/08/12 17:08:38 UTC

[vfs] animal sniffer and java 8 build VM (IllegalArgumentException in ASM class reader)

Hello,

we had the problem before that aninal sniffer does fail, when it is
invoked from a Java 8 maven VM.

However I am not quite sure what the
outcome was. I think it was an old ASM dependency which has been
dragged into the maven classpath by some other plugin, but I am not
sure.

VFS uses animal-sniffer-maven-plugin:1.13:check with java16 signatures
as defined in commons-parent:38.

Anybody remebers how to solve this? (it passes when I use
JAVA_HOME=%JAVA_1_7_HOME% -Pjava-1.8 so it does not depend on the
compile-vm)

34400 [ERROR] Failed to execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check (checkAPIcompatibility) on project commons-vfs2: Execution checkAPIcompatibility of goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. IllegalArgumentException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check (checkAPIcompatibility) on project commons-vfs2: Execution checkAPIcompatibility of goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed.
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution checkAPIcompatibility of goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed.
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
	... 19 more
Caused by: java.lang.IllegalArgumentException
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.objectweb.asm.ClassReader.<init>(Unknown Source)
	at org.codehaus.mojo.animal_sniffer.ClassListBuilder.process(ClassListBuilder.java:71)
	at org.codehaus.mojo.animal_sniffer.ClassFileVisitor.processJarFile(ClassFileVisitor.java:157)
	at org.codehaus.mojo.animal_sniffer.ClassFileVisitor.process(ClassFileVisitor.java:107)
	at org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.apply(CheckSignatureMojo.java:361)
	at org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.buildPackageList(CheckSignatureMojo.java:308)
	at org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.execute(CheckSignatureMojo.java:211)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
	... 20 more

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [all][parent] Re: [vfs] animal sniffer and java 8 build VM (IllegalArgumentException in ASM class reader)

Posted by sebb <se...@gmail.com>.
On 19 August 2015 at 06:19, Bernd Eckenfels <ec...@zusammenkunft.net> wrote:
> Hello,
>
> I found out that animal-sniffer-maven-plugin 1.14 depends on ASM 5 and
> works with Java 8. In commons-parent we currently have (conditionally)
> defined 1.13 (for Java7+).
>
> I could add a java8 profile, howerver it seems that 1.14 works for Java
> 7 and Java 8. So I propose to update animal-sniffer to this version in
> the java7 profile, what do you think?

Seems good to me.

> You can test your builds with -Dcommons.animal-sniffer.version=1.14
> (running with maven with Java7+).
>
> Gruss
> Bernd
>
>
>  Am Wed, 12 Aug 2015 17:08:38 +0200
> schrieb Bernd Eckenfels <ec...@zusammenkunft.net>:
>
>> Hello,
>>
>> we had the problem before that aninal sniffer does fail, when it is
>> invoked from a Java 8 maven VM.
>>
>> However I am not quite sure what the
>> outcome was. I think it was an old ASM dependency which has been
>> dragged into the maven classpath by some other plugin, but I am not
>> sure.
>>
>> VFS uses animal-sniffer-maven-plugin:1.13:check with java16 signatures
>> as defined in commons-parent:38.
>>
>> Anybody remebers how to solve this? (it passes when I use
>> JAVA_HOME=%JAVA_1_7_HOME% -Pjava-1.8 so it does not depend on the
>> compile-vm)
>>
>> 34400 [ERROR] Failed to execute goal
>> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
>> (checkAPIcompatibility) on project commons-vfs2: Execution
>> checkAPIcompatibility of goal
>> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed.
>> IllegalArgumentException -> [Help 1]
>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
>> execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
>> (checkAPIcompatibility) on project commons-vfs2: Execution
>> checkAPIcompatibility of goal
>> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
>> at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>> at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>> at
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
>> at
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
>> at
>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
>> at
>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at
>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at
>> org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at
>> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216) at
>> org.apache.maven.cli.MavenCli.main(MavenCli.java:160) at
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:497) at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>> at
>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>> Caused by: org.apache.maven.plugin.PluginExecutionException:
>> Execution checkAPIcompatibility of goal
>> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
>> at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ...
>> 19 more Caused by: java.lang.IllegalArgumentException at
>> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
>> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
>> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
>> org.codehaus.mojo.animal_sniffer.ClassListBuilder.process(ClassListBuilder.java:71)
>> at
>> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.processJarFile(ClassFileVisitor.java:157)
>> at
>> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.process(ClassFileVisitor.java:107)
>> at
>> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.apply(CheckSignatureMojo.java:361)
>> at
>> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.buildPackageList(CheckSignatureMojo.java:308)
>> at
>> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.execute(CheckSignatureMojo.java:211)
>> at
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) ...
>> 20 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [all][parent] Re: [vfs] animal sniffer and java 8 build VM (IllegalArgumentException in ASM class reader)

Posted by Gary Gregory <ga...@gmail.com>.
On Tue, Aug 18, 2015 at 10:19 PM, Bernd Eckenfels <ec...@zusammenkunft.net>
wrote:

> Hello,
>
> I found out that animal-sniffer-maven-plugin 1.14 depends on ASM 5 and
> works with Java 8. In commons-parent we currently have (conditionally)
> defined 1.13 (for Java7+).
>
> I could add a java8 profile, howerver it seems that 1.14 works for Java
> 7 and Java 8. So I propose to update animal-sniffer to this version in
> the java7 profile, what do you think?
>

+1

and do an RC or CP while you're at it ;-)

Gary


>
> You can test your builds with -Dcommons.animal-sniffer.version=1.14
> (running with maven with Java7+).
>
> Gruss
> Bernd
>
>
>  Am Wed, 12 Aug 2015 17:08:38 +0200
> schrieb Bernd Eckenfels <ec...@zusammenkunft.net>:
>
> > Hello,
> >
> > we had the problem before that aninal sniffer does fail, when it is
> > invoked from a Java 8 maven VM.
> >
> > However I am not quite sure what the
> > outcome was. I think it was an old ASM dependency which has been
> > dragged into the maven classpath by some other plugin, but I am not
> > sure.
> >
> > VFS uses animal-sniffer-maven-plugin:1.13:check with java16 signatures
> > as defined in commons-parent:38.
> >
> > Anybody remebers how to solve this? (it passes when I use
> > JAVA_HOME=%JAVA_1_7_HOME% -Pjava-1.8 so it does not depend on the
> > compile-vm)
> >
> > 34400 [ERROR] Failed to execute goal
> > org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
> > (checkAPIcompatibility) on project commons-vfs2: Execution
> > checkAPIcompatibility of goal
> > org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed.
> > IllegalArgumentException -> [Help 1]
> > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> > execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
> > (checkAPIcompatibility) on project commons-vfs2: Execution
> > checkAPIcompatibility of goal
> > org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
> > at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> > at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> > at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> > at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> > at
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> > at
> >
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
> > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at
> > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at
> > org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at
> > org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216) at
> > org.apache.maven.cli.MavenCli.main(MavenCli.java:160) at
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:497) at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> > at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> > at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> > at
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> > Caused by: org.apache.maven.plugin.PluginExecutionException:
> > Execution checkAPIcompatibility of goal
> > org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
> >
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
> > at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> ...
> > 19 more Caused by: java.lang.IllegalArgumentException at
> > org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> > org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> > org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> >
> org.codehaus.mojo.animal_sniffer.ClassListBuilder.process(ClassListBuilder.java:71)
> > at
> >
> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.processJarFile(ClassFileVisitor.java:157)
> > at
> >
> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.process(ClassFileVisitor.java:107)
> > at
> >
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.apply(CheckSignatureMojo.java:361)
> > at
> >
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.buildPackageList(CheckSignatureMojo.java:308)
> > at
> >
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.execute(CheckSignatureMojo.java:211)
> > at
> >
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
> ...
> > 20 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

[all][parent] Re: [vfs] animal sniffer and java 8 build VM (IllegalArgumentException in ASM class reader)

Posted by Bernd Eckenfels <ec...@zusammenkunft.net>.
Hello,

I found out that animal-sniffer-maven-plugin 1.14 depends on ASM 5 and
works with Java 8. In commons-parent we currently have (conditionally)
defined 1.13 (for Java7+).

I could add a java8 profile, howerver it seems that 1.14 works for Java
7 and Java 8. So I propose to update animal-sniffer to this version in
the java7 profile, what do you think?

You can test your builds with -Dcommons.animal-sniffer.version=1.14
(running with maven with Java7+).

Gruss
Bernd


 Am Wed, 12 Aug 2015 17:08:38 +0200
schrieb Bernd Eckenfels <ec...@zusammenkunft.net>:

> Hello,
> 
> we had the problem before that aninal sniffer does fail, when it is
> invoked from a Java 8 maven VM.
> 
> However I am not quite sure what the
> outcome was. I think it was an old ASM dependency which has been
> dragged into the maven classpath by some other plugin, but I am not
> sure.
> 
> VFS uses animal-sniffer-maven-plugin:1.13:check with java16 signatures
> as defined in commons-parent:38.
> 
> Anybody remebers how to solve this? (it passes when I use
> JAVA_HOME=%JAVA_1_7_HOME% -Pjava-1.8 so it does not depend on the
> compile-vm)
> 
> 34400 [ERROR] Failed to execute goal
> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
> (checkAPIcompatibility) on project commons-vfs2: Execution
> checkAPIcompatibility of goal
> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed.
> IllegalArgumentException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check
> (checkAPIcompatibility) on project commons-vfs2: Execution
> checkAPIcompatibility of goal
> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at
> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216) at
> org.apache.maven.cli.MavenCli.main(MavenCli.java:160) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497) at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> Caused by: org.apache.maven.plugin.PluginExecutionException:
> Execution checkAPIcompatibility of goal
> org.codehaus.mojo:animal-sniffer-maven-plugin:1.13:check failed. at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ...
> 19 more Caused by: java.lang.IllegalArgumentException at
> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> org.objectweb.asm.ClassReader.<init>(Unknown Source) at
> org.codehaus.mojo.animal_sniffer.ClassListBuilder.process(ClassListBuilder.java:71)
> at
> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.processJarFile(ClassFileVisitor.java:157)
> at
> org.codehaus.mojo.animal_sniffer.ClassFileVisitor.process(ClassFileVisitor.java:107)
> at
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.apply(CheckSignatureMojo.java:361)
> at
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.buildPackageList(CheckSignatureMojo.java:308)
> at
> org.codehaus.mojo.animal_sniffer.maven.CheckSignatureMojo.execute(CheckSignatureMojo.java:211)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) ...
> 20 more


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org