You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Benson Margulies <bi...@gmail.com> on 2009/10/13 17:37:09 UTC

Abstract method error in surefire?

java.lang.AbstractMethodError:
java.lang.Throwable.getMessage()Ljava/lang/String;
    at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
    at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)


This 'just started happening.' No additional info from -X.

maven version is 2.2.1.

Re: Abstract method error in surefire?

Posted by Benson Margulies <bi...@gmail.com>.
I don't think so.

I'm on MacOS. The default JVM / JDK is 1.6. I don't have a JAVA_HOME
environment setting.

On Tue, Oct 13, 2009 at 1:13 PM, Quintin Beukes <qu...@skywalk.co.za>wrote:

> Did you perhaps switch JDK version?
>
> Quintin Beukes
>
>
>
> On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com>
> wrote:
> > java.lang.AbstractMethodError:
> > java.lang.Throwable.getMessage()Ljava/lang/String;
> >    at
> >
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
> >    at
> >
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> >
> >
> > This 'just started happening.' No additional info from -X.
> >
> > maven version is 2.2.1.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Abstract method error in surefire?

Posted by Quintin Beukes <qu...@skywalk.co.za>.
Did you ever learn more about this problem?

Quintin Beukes



On Wed, Oct 14, 2009 at 9:53 AM, Quintin Beukes <qu...@skywalk.co.za> wrote:
> Really, the only ways I can think of is to (a) dump a stack trace (b)
> set a breakpoint and run it inside a debugger. You need to see what is
> causing the error and the best way is to see what is instantiated and
> the execution path to it.
>
> Quintin Beukes
>
>
>
> On Tue, Oct 13, 2009 at 8:47 PM, Benson Margulies <bi...@gmail.com> wrote:
>> One other clue. Changing fork-mode to always makes this go away, entirely.
>>
>> I've got several spring-configured tests in here. Could I be getting
>> conflicting versions of something? If so, how would I track down what?
>>
>> On Tue, Oct 13, 2009 at 1:36 PM, Quintin Beukes <qu...@skywalk.co.za>wrote:
>>
>>> It seems the line causing this error is:
>>>            throw new SurefireExecutionException(
>>> e.getTargetException().getMessage(), e.getTargetException() );
>>>
>>> Frankly, I don't see how the target exception can have an abstract
>>> method at all. According to the docs an AbstractMethodError only
>>> happens when the class definition changed at runtime, meaning the
>>> class was already instantiated when it was changed to be abstract.
>>> This is either a corrupt class, or an illegal class.
>>>
>>> If you have it available, try recompiling Surefire, changing the above
>>> line to read:
>>>            System.err.println("GOT EXCEPTION: " +
>>> e.getTargetException() + " / " +
>>> e.getTargetException().getClass().getName());
>>>            e.getTargetException().printStackTrace(System.err);
>>>            throw new SurefireExecutionException(
>>> e.getTargetException().getMessage(), e.getTargetException() );
>>>
>>> This will give you more information on which class is causing this.
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Tue, Oct 13, 2009 at 7:13 PM, Quintin Beukes <qu...@skywalk.co.za>
>>> wrote:
>>> > Did you perhaps switch JDK version?
>>> >
>>> > Quintin Beukes
>>> >
>>> >
>>> >
>>> > On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com>
>>> wrote:
>>> >> java.lang.AbstractMethodError:
>>> >> java.lang.Throwable.getMessage()Ljava/lang/String;
>>> >>    at
>>> >>
>>> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
>>> >>    at
>>> >>
>>> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>>> >>
>>> >>
>>> >> This 'just started happening.' No additional info from -X.
>>> >>
>>> >> maven version is 2.2.1.
>>> >>
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Abstract method error in surefire?

Posted by Quintin Beukes <qu...@skywalk.co.za>.
Really, the only ways I can think of is to (a) dump a stack trace (b)
set a breakpoint and run it inside a debugger. You need to see what is
causing the error and the best way is to see what is instantiated and
the execution path to it.

Quintin Beukes



On Tue, Oct 13, 2009 at 8:47 PM, Benson Margulies <bi...@gmail.com> wrote:
> One other clue. Changing fork-mode to always makes this go away, entirely.
>
> I've got several spring-configured tests in here. Could I be getting
> conflicting versions of something? If so, how would I track down what?
>
> On Tue, Oct 13, 2009 at 1:36 PM, Quintin Beukes <qu...@skywalk.co.za>wrote:
>
>> It seems the line causing this error is:
>>            throw new SurefireExecutionException(
>> e.getTargetException().getMessage(), e.getTargetException() );
>>
>> Frankly, I don't see how the target exception can have an abstract
>> method at all. According to the docs an AbstractMethodError only
>> happens when the class definition changed at runtime, meaning the
>> class was already instantiated when it was changed to be abstract.
>> This is either a corrupt class, or an illegal class.
>>
>> If you have it available, try recompiling Surefire, changing the above
>> line to read:
>>            System.err.println("GOT EXCEPTION: " +
>> e.getTargetException() + " / " +
>> e.getTargetException().getClass().getName());
>>            e.getTargetException().printStackTrace(System.err);
>>            throw new SurefireExecutionException(
>> e.getTargetException().getMessage(), e.getTargetException() );
>>
>> This will give you more information on which class is causing this.
>>
>> Quintin Beukes
>>
>>
>>
>> On Tue, Oct 13, 2009 at 7:13 PM, Quintin Beukes <qu...@skywalk.co.za>
>> wrote:
>> > Did you perhaps switch JDK version?
>> >
>> > Quintin Beukes
>> >
>> >
>> >
>> > On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com>
>> wrote:
>> >> java.lang.AbstractMethodError:
>> >> java.lang.Throwable.getMessage()Ljava/lang/String;
>> >>    at
>> >>
>> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
>> >>    at
>> >>
>> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>> >>
>> >>
>> >> This 'just started happening.' No additional info from -X.
>> >>
>> >> maven version is 2.2.1.
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Abstract method error in surefire?

Posted by Benson Margulies <bi...@gmail.com>.
One other clue. Changing fork-mode to always makes this go away, entirely.

I've got several spring-configured tests in here. Could I be getting
conflicting versions of something? If so, how would I track down what?

On Tue, Oct 13, 2009 at 1:36 PM, Quintin Beukes <qu...@skywalk.co.za>wrote:

> It seems the line causing this error is:
>            throw new SurefireExecutionException(
> e.getTargetException().getMessage(), e.getTargetException() );
>
> Frankly, I don't see how the target exception can have an abstract
> method at all. According to the docs an AbstractMethodError only
> happens when the class definition changed at runtime, meaning the
> class was already instantiated when it was changed to be abstract.
> This is either a corrupt class, or an illegal class.
>
> If you have it available, try recompiling Surefire, changing the above
> line to read:
>            System.err.println("GOT EXCEPTION: " +
> e.getTargetException() + " / " +
> e.getTargetException().getClass().getName());
>            e.getTargetException().printStackTrace(System.err);
>            throw new SurefireExecutionException(
> e.getTargetException().getMessage(), e.getTargetException() );
>
> This will give you more information on which class is causing this.
>
> Quintin Beukes
>
>
>
> On Tue, Oct 13, 2009 at 7:13 PM, Quintin Beukes <qu...@skywalk.co.za>
> wrote:
> > Did you perhaps switch JDK version?
> >
> > Quintin Beukes
> >
> >
> >
> > On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com>
> wrote:
> >> java.lang.AbstractMethodError:
> >> java.lang.Throwable.getMessage()Ljava/lang/String;
> >>    at
> >>
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
> >>    at
> >>
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> >>
> >>
> >> This 'just started happening.' No additional info from -X.
> >>
> >> maven version is 2.2.1.
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Abstract method error in surefire?

Posted by Quintin Beukes <qu...@skywalk.co.za>.
It seems the line causing this error is:
            throw new SurefireExecutionException(
e.getTargetException().getMessage(), e.getTargetException() );

Frankly, I don't see how the target exception can have an abstract
method at all. According to the docs an AbstractMethodError only
happens when the class definition changed at runtime, meaning the
class was already instantiated when it was changed to be abstract.
This is either a corrupt class, or an illegal class.

If you have it available, try recompiling Surefire, changing the above
line to read:
            System.err.println("GOT EXCEPTION: " +
e.getTargetException() + " / " +
e.getTargetException().getClass().getName());
            e.getTargetException().printStackTrace(System.err);
            throw new SurefireExecutionException(
e.getTargetException().getMessage(), e.getTargetException() );

This will give you more information on which class is causing this.

Quintin Beukes



On Tue, Oct 13, 2009 at 7:13 PM, Quintin Beukes <qu...@skywalk.co.za> wrote:
> Did you perhaps switch JDK version?
>
> Quintin Beukes
>
>
>
> On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com> wrote:
>> java.lang.AbstractMethodError:
>> java.lang.Throwable.getMessage()Ljava/lang/String;
>>    at
>> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
>>    at
>> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>>
>>
>> This 'just started happening.' No additional info from -X.
>>
>> maven version is 2.2.1.
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Abstract method error in surefire?

Posted by Quintin Beukes <qu...@skywalk.co.za>.
Did you perhaps switch JDK version?

Quintin Beukes



On Tue, Oct 13, 2009 at 5:37 PM, Benson Margulies <bi...@gmail.com> wrote:
> java.lang.AbstractMethodError:
> java.lang.Throwable.getMessage()Ljava/lang/String;
>    at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:353)
>    at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>
>
> This 'just started happening.' No additional info from -X.
>
> maven version is 2.2.1.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org