We are in a migration from ant 1.6.2 to 1.8.0 and are encountering troubles
using telnet task :


<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="testtelnet" default="compile" basedir=".">

<target name="telnet">
    <telnet userid="XXX" password="YYY" server="ZZZ">
       <read>></read>
       <write>ls</write>
       <read string="/home/bob"/>
    </telnet>
</target>
</project>

throws an OOM

Distant server is Sun OS 5.8 (Solaris 8)

This simple script is OK with 1.6.2, but not with 1.8.0 :

java.lang.OutOfMemoryError: Java heap space

     [java]     at java.util.Arrays.copyOf(Arrays.java:2882)
     [java]     at
java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
     [java]     at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:572)


     [java]     at java.lang.StringBuffer.append(StringBuffer.java:320)
     [java]     at
org.apache.tools.ant.taskdefs.optional.net.TelnetTask$AntTelnetClient.waitForString(TelnetTask.java:347)
     [java]     at
org.apache.tools.ant.taskdefs.optional.net.TelnetTask$AntTelnetClient.waitForString(TelnetTask.java:330)


     [java]     at
org.apache.tools.ant.taskdefs.optional.net.TelnetTask.login(TelnetTask.java:140)
     [java]     at
org.apache.tools.ant.taskdefs.optional.net.TelnetTask.execute(TelnetTask.java:109)



We replaced TelnetTask with the old one from 1.6.2 as a workaround.
After a quick look to the source, it seems that the change
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java?r1=677886&r2=677887&is
wrong, especially the replacement of a String.indexOf by a
String.substring


Greetings

Tom

Reply via email to