Hi,
On 24.07.2010, at 09:20, Stéphane Chomat (travail) wrote:
> 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");
This is a possibility, but it might not be enough. Indeed, this just hide the
exception thrown by ASM with this IOException.
I dont' have a good answer for now about this issue. Ignoring (writing a
warning) when reading an empty class is a possibility,
however, this may not be the adequate behavior.
What I don't really get, is why the compiler generates this empty class file.
Is this a synchronization issue (the file is created, but the
compilation is not yet done). If you have more details about that, we can
probably find a good way to manage this case.
Regards,
Clement
>
> 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
>