Re: System.ArgumentException: Type name was too long

O'Neil Delpratt <[email protected]>
Newsgroups gmane.comp.java.ikvm.devel
Organization Saxonica
Message-ID <[email protected]>
Thanks for the quick reply

On 29/01/14 15:08, Jeroen Frijters wrote:
> Hi,
>
> This was fixed in IKVM 7.1.
>
> Regards,
> Jeroen
>
>> -----Original Message-----
>> From: O'Neil Delpratt [mailto:[email protected]]
>> Sent: Wednesday, January 29, 2014 15:37
>> To: [email protected]
>> Subject: [Ikvm-developers] System.ArgumentException: Type name was too
>> long
>>
>> Hi,
>>
>>
>> We received the following critical failure error in our Saxon .NET
>> product which you should know about. The problem occurs due to
>> excessively long function names used in XSLT which are then auto
>> generated to method names. We got around the problem in Saxon by capping
>> method names that exceed 1024 chars (see the bug report:
>> https://saxonica.plan.io/issues/1986):
>>
>> ---------------------------
>> IKVM.NET 0.46.0.2 Critical Failure
>> ---------------------------
>> ****** Critical Failure: Exception during JavaTypeImpl.CreateStep2NoFail
>> ******
>>
>> PLEASE FILE A BUG REPORT FOR IKVM.NET WHEN YOU SEE THIS MESSAGE
>>
>> System.ArgumentException: Type name was too long. The fully qualified
>> type name must be less than 1,024 characters.
>>
>> Parameter name: fullname
>>
>>     at System.Reflection.Emit.TypeBuilder.Init(String fullname,
>> TypeAttributes attr, Type parent, Type[] interfaces, Module module,
>> PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType)
>>
>>     at System.Reflection.Emit.TypeBuilder..ctor(String name,
>> TypeAttributes attr, Type parent, Type[] interfaces, Module module,
>> PackingSize iPackingSize, TypeBuilder enclosingType)
>>
>>     at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name,
>> TypeAttributes attr, Type parent)
>>
>>     at System.Reflection.Emit.ModuleBuilder.DefineType(String name,
>> TypeAttributes attr, Type parent)
>>
>>     at
>> IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.CreateStep2NoFail(Boolean
>> hasclinit, String mangledTypeName)
>>
>>     at System.Reflection.Emit.TypeBuilder.Init(String fullname,
>> TypeAttributes attr, Type parent, Type[] interfaces, Module module,
>> PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType)
>>
>>     at System.Reflection.Emit.TypeBuilder..ctor(String name,
>> TypeAttributes attr, Type parent, Type[] interfaces, Module module,
>> PackingSize iPackingSize, TypeBuilder enclosingType)
>>
>>     at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name,
>> TypeAttributes attr, Type parent)
>>
>>     at System.Reflection.Emit.ModuleBuilder.DefineType(String name,
>> TypeAttributes attr, Type parent)
>>
>>     at
>> IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.CreateStep2NoFail(Boolean
>> hasclinit, String mangledTypeName)
>>
>>     at IKVM.Internal.JVM.CriticalFailure(String message, Exception x)
>>
>>     at
>> IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.CreateStep2NoFail(Boolean
>> hasclinit, String mangledTypeName)
>>
>>     at IKVM.Internal.DynamicClassLoader.DefineClassImpl(Dictionary`2
>> types, ClassFile f, ClassLoaderWrapper classLoader, Object
>> protectionDomain)
>>
>>     at IKVM.Internal.ClassLoaderWrapper.DefineClass(ClassFile f, Object
>> protectionDomain)
>>
>>     at IKVM.NativeCode.java.lang.ClassLoader.defineClass1(ClassLoader
>> thisClassLoader, String name, Byte[] b, Int32 off, Int32 len, Object pd,
>> String source)
>>
>>     at java.lang.ClassLoader.defineClass(String name, Byte[] b, Int32
>> off, Int32 len, ProtectionDomain protectionDomain)
>>
>>     at java.lang.ClassLoader.defineClass(String name, Byte[] b, Int32
>> off, Int32 len)
>>
>>     at net.sf.saxon.dotnet.DotNetPlatform$1.findClass(String )
>>
>>     at java.lang.ClassLoader.loadClass(String name, Boolean resolve)
>>
>>     at java.lang.ClassLoader.loadClass(String name)
>>
>>     at com.saxonica.bytecode.util.CompilerService.makeClass(ClassWriter
>> writer, String className)
>>
>>     at
>> com.saxonica.bytecode.util.CompilerService.compileToByteCode(Expression
>> expr, String objectName, Int32 evaluationModes)
>>
>>     at com.saxonica.expr.ee.OptimizerEE.compileToByteCode(Expression
>> expr, String objectName, Int32 evaluationMethods)
>>
>>     at net.sf.saxon.style.XSLTemplate.optimize(Declaration declaration)
>>
>>     at net.sf.saxon.style.PrincipalStylesheetModule.compileStylesheet()
>>
>>     at net.sf.saxon.PreparedStylesheet.setStylesheetDocument(DocumentImpl
>> doc)
>>
>>     at net.sf.saxon.PreparedStylesheet.prepare(Source styleSource)
>>
>>     at net.sf.saxon.PreparedStylesheet.compile(Source source,
>> Configuration config, CompilerInfo info)
>>
>>     at net.sf.saxon.Transform.doTransform(String[] args, String command)
>>
>>     at Saxon.Cmd.DotNetTransform.Main(String[] args)
>>
>> ---------------------------
>> OK
>> ---------------------------
>>
>> --
>> O'Neil Delpratt
>> Software Developer, Saxonica Limited
>> Email: [email protected] <mailto:[email protected]>
>> Tel: +44 118 946 5894
>> Web: http://www.saxonica.com
>> Saxonica Community Site: http://dev.saxonica.com Saxonica Bug tracking
>> System: https://saxonica.plan.io/


-- 
O'Neil Delpratt
Software Developer, Saxonica Limited
Email: [email protected] <mailto:[email protected]>
Tel: +44 118 946 5894
Web: http://www.saxonica.com
Saxonica Community Site: http://dev.saxonica.com Saxonica Bug tracking 
System: https://saxonica.plan.io/

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk

_______________________________________________
Ikvm-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ikvm-developers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.