System.ArgumentException: Type name was too long

O'Neil Delpratt <[email protected]>
Newsgroups gmane.comp.java.ikvm.devel
Organization Saxonica
Message-ID <[email protected]>
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/

------------------------------------------------------------------------------
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.