You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Dennis Brakhane (JIRA)" <ji...@apache.org> on 2010/12/06 17:14:10 UTC

[jira] Updated: (IVY-1253) ivy.xml that contains UTF-8 encoded umlauts cannot be bigger than 10000 bytes

     [ https://issues.apache.org/jira/browse/IVY-1253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Brakhane updated IVY-1253:
---------------------------------

    Description: 
When an ivy.xml contains a <conf> with a description, and that description includes a non-ASCII character (or at least an 'ä'), the
ivy.xml must not be bigger than exactly 10000 Bytes. When the file is even one byte bigger, the following exception is thrown:

$ java -jar /usr/share/ant/lib/ivy-2.1.0.jar -verbose   -confs core
:: loading settings :: url = jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
no default ivy user dir defined: set to /home/dennis/.ivy2
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-public.xml
no default cache defined: set to /home/dennis/.ivy2/cache
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-shared.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-local.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-main-chain.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-default-chain.xml
settings loaded (141ms)
	default cache: /home/dennis/.ivy2/cache
	default resolver: default
	-- 5 resolvers:
	shared [file]
	default [chain] [local, main]
	local [file]
	public [ibiblio]
	main [chain] [shared, public]
using ivy parser to parse file:/tmp/ivy.xml
:: resolving dependencies :: test#test;working@thinky
	confs: [core]
	validate = true
	refresh = false
resolving dependencies for configuration 'core'
== resolving dependencies for test#test;working@thinky [core]
Exception in thread "main" java.io.IOException: Resetting to invalid mark
	at java.io.BufferedInputStream.reset(BufferedInputStream.java:433)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:743)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:139)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.toIvyFile(XmlModuleDescriptorParser.java:143)
	at org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor.toIvyFile(DefaultModuleDescriptor.java:527)
	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:246)
	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:193)
	at org.apache.ivy.Ivy.resolve(Ivy.java:502)
	at org.apache.ivy.Main.run(Main.java:270)
	at org.apache.ivy.Main.main(Main.java:179)

This happens with both 2.1.0 and 2.2.0, haven't tried 2.0 so far.

I've attached the test file. As already stated, either removing the "ä" from "testä" or making the file 10000 bytes or less gets rid of the problem.
It seems like even an Umlaut in a comment leads to this problem. Just adding one byte in front of the umlaut (to see if a streaming reader
unintentionally split the utf-8 byte) does not seem to help either.


  was:
When an ivy.xml contains a <conf> with a description, and that description includes a non-ASCII character (or at least an 'ä'), the
ivy.xml must not be bigger than exactly 10000 Bytes. When the file is even one byte bigger, the following exception is thrown:

$ java -jar /usr/share/ant/lib/ivy-2.1.0.jar -verbose   -confs core
:: loading settings :: url = jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
no default ivy user dir defined: set to /home/dennis/.ivy2
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-public.xml
no default cache defined: set to /home/dennis/.ivy2/cache
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-shared.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-local.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-main-chain.xml
including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-default-chain.xml
settings loaded (141ms)
	default cache: /home/dennis/.ivy2/cache
	default resolver: default
	-- 5 resolvers:
	shared [file]
	default [chain] [local, main]
	local [file]
	public [ibiblio]
	main [chain] [shared, public]
using ivy parser to parse file:/tmp/ivy.xml
:: resolving dependencies :: test#test;working@thinky
	confs: [core]
	validate = true
	refresh = false
resolving dependencies for configuration 'core'
== resolving dependencies for test#test;working@thinky [core]
Exception in thread "main" java.io.IOException: Resetting to invalid mark
	at java.io.BufferedInputStream.reset(BufferedInputStream.java:433)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:743)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:139)
	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.toIvyFile(XmlModuleDescriptorParser.java:143)
	at org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor.toIvyFile(DefaultModuleDescriptor.java:527)
	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:246)
	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:193)
	at org.apache.ivy.Ivy.resolve(Ivy.java:502)
	at org.apache.ivy.Main.run(Main.java:270)
	at org.apache.ivy.Main.main(Main.java:179)

This happens with both 2.1.0 and 2.2.0, haven't tried 2.0 so far.

I've attached the test file. As already stated, either removing the "ä" from "testä" or making the file 10000 bytes or less gets rid of the problem.


        Summary: ivy.xml that contains UTF-8 encoded umlauts cannot be bigger than 10000 bytes  (was: ivy.xml that contains UTF-8 encoded umlauts in conf description cannot be bigger than 10000 bytes)

> ivy.xml that contains UTF-8 encoded umlauts cannot be bigger than 10000 bytes
> -----------------------------------------------------------------------------
>
>                 Key: IVY-1253
>                 URL: https://issues.apache.org/jira/browse/IVY-1253
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>         Environment: Debian Testing
> java version "1.6.0_18"
> OpenJDK Runtime Environment (IcedTea6 1.8.2) (6b18-1.8.2-3)
> OpenJDK Client VM (build 16.0-b13, mixed mode, sharing)
>            Reporter: Dennis Brakhane
>         Attachments: ivy.xml
>
>
> When an ivy.xml contains a <conf> with a description, and that description includes a non-ASCII character (or at least an 'ä'), the
> ivy.xml must not be bigger than exactly 10000 Bytes. When the file is even one byte bigger, the following exception is thrown:
> $ java -jar /usr/share/ant/lib/ivy-2.1.0.jar -verbose   -confs core
> :: loading settings :: url = jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
> no default ivy user dir defined: set to /home/dennis/.ivy2
> including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-public.xml
> no default cache defined: set to /home/dennis/.ivy2/cache
> including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-shared.xml
> including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-local.xml
> including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-main-chain.xml
> including url: jar:file:/usr/share/java/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings-default-chain.xml
> settings loaded (141ms)
> 	default cache: /home/dennis/.ivy2/cache
> 	default resolver: default
> 	-- 5 resolvers:
> 	shared [file]
> 	default [chain] [local, main]
> 	local [file]
> 	public [ibiblio]
> 	main [chain] [shared, public]
> using ivy parser to parse file:/tmp/ivy.xml
> :: resolving dependencies :: test#test;working@thinky
> 	confs: [core]
> 	validate = true
> 	refresh = false
> resolving dependencies for configuration 'core'
> == resolving dependencies for test#test;working@thinky [core]
> Exception in thread "main" java.io.IOException: Resetting to invalid mark
> 	at java.io.BufferedInputStream.reset(BufferedInputStream.java:433)
> 	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:743)
> 	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorUpdater.update(XmlModuleDescriptorUpdater.java:139)
> 	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.toIvyFile(XmlModuleDescriptorParser.java:143)
> 	at org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor.toIvyFile(DefaultModuleDescriptor.java:527)
> 	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:246)
> 	at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:193)
> 	at org.apache.ivy.Ivy.resolve(Ivy.java:502)
> 	at org.apache.ivy.Main.run(Main.java:270)
> 	at org.apache.ivy.Main.main(Main.java:179)
> This happens with both 2.1.0 and 2.2.0, haven't tried 2.0 so far.
> I've attached the test file. As already stated, either removing the "ä" from "testä" or making the file 10000 bytes or less gets rid of the problem.
> It seems like even an Umlaut in a comment leads to this problem. Just adding one byte in front of the umlaut (to see if a streaming reader
> unintentionally split the utf-8 byte) does not seem to help either.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.