A patch can be this at the end of the method private byte[] getBytecode(final
String classname) throws IOException
This situation isn't normal but it's an possible error
if (in.length == 0)
throw new IOException("Empty class");
Thanks
Le 24 juil. 2010 à 09:10, Stéphane Chomat (travail) a écrit :
> When the byte array is empty !!! Why ?
>
> Le 24 juil. 2010 à 08:27, Clement Escoffier a écrit :
>
>> Hi,
>>
>> I already saw this exception. The class under inspection is truncated. It
>> generally happen in Eclipse when Eclipse compiler compiles the classes.
>> I never really found the reason for that. The only turn around I found right
>> now is to clean the project.
>>
>> I will try to investigate deeper (the error is thrown by ASM, so it might be
>> related to ASM too, so maybe updating ASM to 3.1 will fix it).
>>
>> If you have a test case, that would help me a lot (outside of CADSE :-))
>>
>> Regards,
>>
>> Clement
>>
>>
>> On 23.07.2010, at 22:40, Stéphane Chomat (travail) wrote:
>>
>>>
>>> I call Pojoization in a builder eclipse with asm internaly (1.6.2)
>>> I have this exception when I try to repass the pojoization on a already
>>> pojoization class.
>>> Pojoization tool have to call each time a class was build.
>>> It's an incremental builder.
>>> I haven't to repass manipulation but I have to compute the metadata from
>>> annotation.
>>>
>>> java.lang.ArrayIndexOutOfBoundsException: 8
>>> at org.objectweb.asm.ClassReader.readUnsignedShort(Unknown Source)
>>> at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>>> at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>>> at
>>> org.apache.felix.ipojo.manipulator.Pojoization.computeAnnotations(Pojoization.java:292)
>>> at
>>> org.apache.felix.ipojo.manipulator.Pojoization.manipulateComponents(Pojoization.java:484)
>>> at
>>> org.apache.felix.ipojo.manipulator.Pojoization.manipulateDirectory(Pojoization.java:418)
>>> at
>>> org.apache.felix.ipojo.manipulator.Pojoization.directoryPojoization(Pojoization.java:275)
>>> at
>>> fr.imag.adele.cadse.builder.iPojo.IPojoBuilder.build(IPojoBuilder.java:73)
>>> at
>>> org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>>> at
>>> org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
>>> at
>>> org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
>>> at
>>> org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>>> at
>>> org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
>>> at
>>> org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
>>> at
>>> org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
>>> at
>>> org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
>>> at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
>>> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>>
>>> Stéphane CHOMAT
>>>
>>> Equipe Adèle
>>> Laboratoire d'Informatique de Grenoble
>>> Bat. C, 220 rue de la Chimie, Domaine Universitaire
>>> BP 53, 38041 Grenoble Cedex 9, France
>>>
>>> Tel : +33 4 76 63 55 75 Fax : +33 4 76 63 55 50
>>>
>>
>>
>
> Stéphane CHOMAT
>
> Equipe Adèle
> Laboratoire d'Informatique de Grenoble
> Bat. C, 220 rue de la Chimie, Domaine Universitaire
> BP 53, 38041 Grenoble Cedex 9, France
>
> Tel : +33 4 76 63 55 75 Fax : +33 4 76 63 55 50
>
Stéphane CHOMAT
Equipe Adèle
Laboratoire d'Informatique de Grenoble
Bat. C, 220 rue de la Chimie, Domaine Universitaire
BP 53, 38041 Grenoble Cedex 9, France
Tel : +33 4 76 63 55 75 Fax : +33 4 76 63 55 50