Juozas Baliuka wrote:
Are you sure this generator is thread safe ?

----- Original Message -----
From: "Neeme Praks" <[EMAIL PROTECTED]>
To: "bcel-dev" <[EMAIL PROTECTED]>
Sent: Tuesday, June 03, 2003 9:54 AM
Subject: org.apache.bcel.classfile.ClassFormatException: Invalid method
signature...



Does anyone have any idea, under what circumstances the following error
could happen?

Unable to create new instance
org.apache.bcel.classfile.ClassFormatException: Invalid method
signature:


java/lang/Long;Ljava/lang/Long;Lcom/inpoc/srv/parameters/ServiceParameters;) V

       at
org.apache.bcel.classfile.Utility.typeOfSignature(Utility.java:1024)


org.apache.avalon.fortress.impl.handler.ThreadSafeComponentHandler.doPrepare
(ThreadSafeComponentHandler.java:72)

I'm not familiar with Avalon, but BCEL really is not thread safe. Some of the methods in Utility use static variables. If two parts of a program both use BCEL (using the same ClassLoader context) then they'll have to coordinate amongst themselves not to use it at the same time.


The actual signature should be:


(Lcom/inpoc/srv/messages/RequestMessage;Ljava/lang/Long;Ljava/lang/Long;Lcom /inpoc/srv/parameters/ServiceParameters;)V

And the error is not really 100% reproduceable, sometimes it shows up,
sometimes not...

Certain sounds like a thread problem.


I have a large patch somewhere to fix BCELs static variable problems (amongst other things). When I work out how, I'll post it some time... In the mean time a quick synchronized around affected methods in BCEL should fix it.

Tom Hawtin
--
http://www.tackline.demon.co.uk/
Unemployed Java Developer of Central London.


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to