Return-Path: Delivered-To: apmail-avro-user-archive@www.apache.org Received: (qmail 97345 invoked from network); 24 Jan 2011 22:41:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 24 Jan 2011 22:41:05 -0000 Received: (qmail 36420 invoked by uid 500); 24 Jan 2011 22:41:05 -0000 Delivered-To: apmail-avro-user-archive@avro.apache.org Received: (qmail 35943 invoked by uid 500); 24 Jan 2011 22:41:04 -0000 Mailing-List: contact user-help@avro.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@avro.apache.org Delivered-To: mailing list user@avro.apache.org Received: (qmail 35773 invoked by uid 99); 24 Jan 2011 22:41:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Jan 2011 22:41:04 +0000 X-ASF-Spam-Status: No, hits=3.7 required=10.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gre1600@gmail.com designates 209.85.216.171 as permitted sender) Received: from [209.85.216.171] (HELO mail-qy0-f171.google.com) (209.85.216.171) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Jan 2011 22:40:56 +0000 Received: by qyk32 with SMTP id 32so3230863qyk.9 for ; Mon, 24 Jan 2011 14:40:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=HHzl98X1WBzyP0Xt9FbyHRITNhFXOAurzDIDdy7SXw0=; b=KU99gxvSs4eMZ4zG5kJ1/WYYbgdwv4exZI5+VTS3CeeUx55dNREEuzgJAKqE6oyBEB 16PaB1S7u8EBYhIsM5LpR73KDHbadhGfkSEhueT8Pumoomfhyu9CMDTH0Lf6KywNRXOw b24lLvGU7xCsma8z9KU1omFvCl+lAt0Pix8wA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=QqlfmbhzwobUyE532zYHIt09OGShmw0i4qi1ca4N8GCG1bmLHLoR8dQkYw2CIxqEx3 rioxXYTE5ABeuSIzApu6+pG2BMln3109WbsNXERDd04h8UOqt3kbzy71V4NnQdGvGzI9 Dw+YUkXz1CJhKzecX8f0e30rAkmy9Wj4yY6r4= MIME-Version: 1.0 Received: by 10.224.28.69 with SMTP id l5mr4620290qac.354.1295908834840; Mon, 24 Jan 2011 14:40:34 -0800 (PST) Received: by 10.220.76.136 with HTTP; Mon, 24 Jan 2011 14:40:34 -0800 (PST) In-Reply-To: References: Date: Mon, 24 Jan 2011 14:40:34 -0800 Message-ID: Subject: Re: java.lang.NoSuchMethodError: org.codehaus.jackson.JsonFactory.enable From: felix gao To: user@avro.apache.org Content-Type: multipart/alternative; boundary=0015175caa82c30f73049a9f492f X-Virus-Checked: Checked by ClamAV on apache.org --0015175caa82c30f73049a9f492f Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable sorry for the spamming, but I forgot to include the TaskTracker's process information. root 20368 1 0 17:31 pts/0 00:00:00 su mapred -s /usr/java/default/bin/java -- -Dproc_tasktracker -Xmx1000m -Dhadoop.log.dir=3D/usr/lib/hadoop-0.20/logs -Dhadoop.log.file=3Dhadoop-hadoop-tasktracker-ip-10-212-86-214.log -Dhadoop.home.dir=3D/usr/lib/hadoop-0.20 -Dhadoop.id.str=3Dhadoop -Dhadoop.root.logger=3DINFO,DRFA -Djava.library.path=3D/usr/lib/hadoop-0.20/lib/native/Linux-amd64-64:/usr/l= ib/hadoop-0.20/lib/native/Linux-amd64-64 -Dhadoop.policy.file=3Dhadoop-policy.xml -classpath /etc/hadoop-0.20/conf:/usr/java/default/lib/tools.jar:/usr/lib/hadoop-0.20:= /usr/lib/hadoop-0.20/hadoop-core-0.20.2+737.jar:/usr/lib/hadoop-0.20/lib/as= pectjrt-1.6.5.jar:/usr/lib/hadoop-0.20/lib/aspectjtools-1.6.5.jar:/usr/lib/= hadoop-0.20/lib/commons-cli-1.2.jar:/usr/lib/hadoop-0.20/lib/commons-codec-= 1.4.jar:/usr/lib/hadoop-0.20/lib/commons-daemon-1.0.1.jar:/usr/lib/hadoop-0= .20/lib/commons-el-1.0.jar:/usr/lib/hadoop-0.20/lib/commons-httpclient-3.0.= 1.jar:/usr/lib/hadoop-0.20/lib/commons-logging-1.0.4.jar:/usr/lib/hadoop-0.= 20/lib/commons-logging-api-1.0.4.jar:/usr/lib/hadoop-0.20/lib/commons-net-1= .4.1.jar:/usr/lib/hadoop-0.20/lib/core-3.1.1.jar:/usr/lib/hadoop-0.20/lib/h= adoop-fairscheduler-0.20.2+737.jar:/usr/lib/hadoop-0.20/lib/hadoop-lzo-0.4.= 6.jar:/usr/lib/hadoop-0.20/lib/hadoop-thriftfs-0.20.2+737.jar:/usr/lib/hado= op-0.20/lib/hsqldb-1.8.0.10.jar: /usr/lib/hadoop-0.20/lib/jackson-core-asl-1.5.5.jar:/usr/lib/hadoop-0.20/li= b/jackson-mapper-asl-1.5.5.jar:/usr/lib/hadoop-0.20/lib/jasper-compiler-5.5= .12.jar:/usr/lib/hadoop-0.20/lib/jasper-runtime-5.5.12.jar:/usr/lib/hadoop-= 0.20/lib/jets3t-0.6.1.jar:/usr/lib/hadoop-0.20/lib/jetty-6.1.14.jar:/usr/li= b/hadoop-0.20/lib/jetty-util-6.1.14.jar:/usr/lib/hadoop-0.20/lib/junit-4.5.= jar:/usr/lib/hadoop-0.20/lib/kfs-0.2.2.jar:/usr/lib/hadoop-0.20/lib/log4j-1= .2.15.jar:/usr/lib/hadoop-0.20/lib/mockito-all-1.8.2.jar:/usr/lib/hadoop-0.= 20/lib/mysql-connector-java-5.0.8-bin.jar:/usr/lib/hadoop-0.20/lib/oro-2.0.= 8.jar:/usr/lib/hadoop-0.20/lib/servlet-api-2.5-6.1.14.jar:/usr/lib/hadoop-0= .20/lib/slf4j-api-1.4.3.jar:/usr/lib/hadoop-0.20/lib/slf4j-log4j12-1.4.3.ja= r:/usr/lib/hadoop-0.20/lib/xmlenc-0.52.jar:/usr/lib/hadoop-0.20/lib/jsp-2.1= /jsp-2.1.jar:/usr/lib/hadoop-0.20/lib/jsp-2.1/jsp-api-2.1.jar:/usr/lib/hado= op-0.20/lib/hadoop-lzo.0.4.4.jar org.apache.hadoop.mapred.TaskTracker as you can see the correct version of jackson library is in the classpath. On Mon, Jan 24, 2011 at 2:09 PM, felix gao wrote: > Chase, > > I tried to ran it on my local box with a standalone version of hadoop > installed and I still got the same error. > /usr/local/pig-0.7.0/bin/pig avro.pig > 11/01/24 14:01:29 INFO pig.Main: Logging error messages to: > /Users/felix/Documents/pig/pig_1295906489023.log > 2011-01-24 14:01:29,328 [main] INFO > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecti= ng > to hadoop file system at: file:/// > 2011-01-24 14:01:30,277 [main] INFO > org.apache.hadoop.metrics.jvm.JvmMetrics - Initializing JVM Metrics with > processName=3DJobTracker, sessionId=3D > 2011-01-24 14:01:30,537 [main] ERROR org.apache.pig.tools.grunt.Grunt - > ERROR 2998: Unhandled internal error. > org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonParser$= Feature;)Lorg/codehaus/jackson/JsonFactory; > > Any ideas why? > > Thanks, > > Felix > > > > > On Mon, Jan 24, 2011 at 1:18 PM, Chase Bradford wrote: > >> Yes, you will need to restart them. The child tasks inherit the TT's >> classpath, which will list only the 1.0.1 jars until you restart the >> daemon. >> >> On Mon, Jan 24, 2011 at 1:11 PM, felix gao wrote: >> > Hi Guys, >> > >> > I am testing out AVRO in our cluster and having >> java.lang.NoSuchMethodError: >> > >> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonParser= $Feature;)Lorg/codehaus/jackson/JsonFactory; >> > when running a simple pig script. >> > after took a look at AVRO-493 I uploaded the new jackson jar to repla= ce >> the >> > CDH2's jackson 1.0.1 jars. >> > >> > >> > The pigscipt looks like below >> > REGISTER /home/pig/jars/avro-1.4.1.jar >> > REGISTER /home/pig/jars/json_simple-1.1.jar >> > REGISTER /home/pig/jars/piggybank.jar >> > REGISTER /usr/lib/hadoop/lib/jackson-core-asl-1.5.5.jar >> > REGISTER /usr/lib/hadoop/lib/jackson-mapper-asl-1.5.5.jar >> > >> > log_load =3D LOAD '/user/felix/avro_input/*.avro' USING >> > org.apache.pig.piggybank.storage.avro.AvroStorage() ; >> > >> > dump log_load >> > >> > >> > jackson jars are copied to each slaves and master >> > >> > The full stacktrace: >> > ERROR 2998: Unhandled internal error. >> > >> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonParser= $Feature;)Lorg/codehaus/jackson/JsonFactory; >> > >> > java.lang.NoSuchMethodError: >> > >> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonParser= $Feature;)Lorg/codehaus/jackson/JsonFactory; >> > at org.apache.avro.Schema.(Schema.java:82) >> > at >> > >> org.apache.pig.piggybank.storage.avro.ASCommons.(ASCommons.java:= 44) >> > at >> > >> org.apache.pig.piggybank.storage.avro.AvroStorage.getSchema(AvroStorage.= java:177) >> > at >> > >> org.apache.pig.piggybank.storage.avro.AvroStorage.getAvroSchema(AvroStor= age.java:133) >> > at >> > >> org.apache.pig.piggybank.storage.avro.AvroStorage.getAvroSchema(AvroStor= age.java:108) >> > at >> > >> org.apache.pig.piggybank.storage.avro.AvroStorage.getSchema(AvroStorage.= java:233) >> > at >> > org.apache.pig.impl.logicalLayer.LOLoad.determineSchema(LOLoad.java:16= 9) >> > at >> > org.apache.pig.impl.logicalLayer.LOLoad.getSchema(LOLoad.java:150) >> > at >> > >> org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.ja= va:843) >> > at >> > >> org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBui= lder.java:63) >> > at >> org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1164) >> > at >> org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1114) >> > at org.apache.pig.PigServer.registerQuery(PigServer.java:425) >> > at >> > org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:737= ) >> > at >> > >> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptPar= ser.java:324) >> > at >> > >> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java= :162) >> > at >> > >> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java= :138) >> > at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:75) >> > at org.apache.pig.Main.main(Main.java:357) >> > >> > I am wondering if I need to restart tasktracker and jobtracker in orde= r >> for >> > the jackson jars to be picked up? >> > >> > >> > >> > >> > >> > >> > >> > >> >> >> >> -- >> Chase Bradford >> >> >> =93If in physics there's something you don't understand, you can always >> hide behind the uncharted depths of nature. But if your program >> doesn't work, there is no obstinate nature. If it doesn't work, you've >> messed up.=94 >> >> - Edsger Dijkstra >> > > --0015175caa82c30f73049a9f492f Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable sorry for the spamming, but I forgot to include the TaskTracker's proce= ss information.

root=A0=A0=A0=A0 20368=A0=A0=A0=A0 1=A0 0 17:31 pts/= 0=A0=A0=A0 00:00:00 su mapred -s /usr/java/default/bin/java -- -Dproc_taskt= racker -Xmx1000m -Dhadoop.log.dir=3D/usr/lib/hadoop-0.20/logs -Dhadoop.log.= file=3Dhadoop-hadoop-tasktracker-ip-10-212-86-214.log -Dhadoop.home.dir=3D/= usr/lib/hadoop-0.20 -Dhadoop.id.str=3Dhadoop -Dhadoop.root.logger=3DINFO,DR= FA -Djava.library.path=3D/usr/lib/hadoop-0.20/lib/native/Linux-amd64-64:/us= r/lib/hadoop-0.20/lib/native/Linux-amd64-64 -Dhadoop.policy.file=3Dhadoop-p= olicy.xml -classpath /etc/hadoop-0.20/conf:/usr/java/default/lib/tools.jar:= /usr/lib/hadoop-0.20:/usr/lib/hadoop-0.20/hadoop-core-0.20.2+737.jar:/usr/l= ib/hadoop-0.20/lib/aspectjrt-1.6.5.jar:/usr/lib/hadoop-0.20/lib/aspectjtool= s-1.6.5.jar:/usr/lib/hadoop-0.20/lib/commons-cli-1.2.jar:/usr/lib/hadoop-0.= 20/lib/commons-codec-1.4.jar:/usr/lib/hadoop-0.20/lib/commons-daemon-1.0.1.= jar:/usr/lib/hadoop-0.20/lib/commons-el-1.0.jar:/usr/lib/hadoop-0.20/lib/co= mmons-httpclient-3.0.1.jar:/usr/lib/hadoop-0.20/lib/commons-logging-1.0.4.j= ar:/usr/lib/hadoop-0.20/lib/commons-logging-api-1.0.4.jar:/usr/lib/hadoop-0= .20/lib/commons-net-1.4.1.jar:/usr/lib/hadoop-0.20/lib/core-3.1.1.jar:/usr/= lib/hadoop-0.20/lib/hadoop-fairscheduler-0.20.2+737.jar:/usr/lib/hadoop-0.2= 0/lib/hadoop-lzo-0.4.6.jar:/usr/lib/hadoop-0.20/lib/hadoop-thriftfs-0.20.2+= 737.jar:/usr/lib/hadoop-0.20/lib/hsqldb-1.8.0.10.jar:/usr/lib/hadoop-0.20/lib/jackson-core-asl-1= .5.5.jar:/usr/lib/hadoop-0.20/lib/jackson-mapper-asl-1.5.5.jar:/usr/= lib/hadoop-0.20/lib/jasper-compiler-5.5.12.jar:/usr/lib/hadoop-0.20/lib/jas= per-runtime-5.5.12.jar:/usr/lib/hadoop-0.20/lib/jets3t-0.6.1.jar:/usr/lib/h= adoop-0.20/lib/jetty-6.1.14.jar:/usr/lib/hadoop-0.20/lib/jetty-util-6.1.14.= jar:/usr/lib/hadoop-0.20/lib/junit-4.5.jar:/usr/lib/hadoop-0.20/lib/kfs-0.2= .2.jar:/usr/lib/hadoop-0.20/lib/log4j-1.2.15.jar:/usr/lib/hadoop-0.20/lib/m= ockito-all-1.8.2.jar:/usr/lib/hadoop-0.20/lib/mysql-connector-java-5.0.8-bi= n.jar:/usr/lib/hadoop-0.20/lib/oro-2.0.8.jar:/usr/lib/hadoop-0.20/lib/servl= et-api-2.5-6.1.14.jar:/usr/lib/hadoop-0.20/lib/slf4j-api-1.4.3.jar:/usr/lib= /hadoop-0.20/lib/slf4j-log4j12-1.4.3.jar:/usr/lib/hadoop-0.20/lib/xmlenc-0.= 52.jar:/usr/lib/hadoop-0.20/lib/jsp-2.1/jsp-2.1.jar:/usr/lib/hadoop-0.20/li= b/jsp-2.1/jsp-api-2.1.jar:/usr/lib/hadoop-0.20/lib/hadoop-lzo.0.4.4.jar org= .apache.hadoop.mapred.TaskTracker

as you can see the correct version of jackson library is in the classpa= th.=A0


On Mon, Jan 24, 2011 at 2:09 = PM, felix gao <gr= e1600@gmail.com> wrote:
Chase,

I t= ried to ran it on my local box with a standalone version of hadoop installe= d and I still got the same error.
/usr/local/pig-0.7.0/bin/pig avro.pig
11/01/24 14:01:29 INFO pig.Main: = Logging error messages to: /Users/felix/Documents/pig/pig_1295906489023.log=
2011-01-24 14:01:29,328 [main] INFO=A0 org.apache.pig.backend.hadoop.execut= ionengine.HExecutionEngine - Connecting to hadoop file system at: file:///<= br>2011-01-24 14:01:30,277 [main] INFO=A0 org.apache.hadoop.metrics.jvm.Jvm= Metrics - Initializing JVM Metrics with processName=3DJobTracker, sessionId= =3D
2011-01-24 14:01:30,537 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERR= OR 2998: Unhandled internal error. org.codehaus.jackson.JsonFactory.enable(= Lorg/codehaus/jackson/JsonParser$Feature;)Lorg/codehaus/jackson/JsonFactory= ;

Any ideas why?

Thanks,

Felix




On Mon, Jan 24, 2011 at 1:18 PM, Chase Bradford <<= a href=3D"mailto:chase.bradford@gmail.com" target=3D"_blank">chase.bradford= @gmail.com> wrote:
Yes, you will nee= d to restart them. =A0The child tasks inherit the TT's
classpath, which will list only the 1.0.1 jars until you restart the
daemon.

On Mon, Jan 24, 2011 at 1:11 PM, felix gao <gre1600@gmail.com> wrote:
> Hi Guys,
>
> I am testing out AVRO in our cluster and having java.lang.NoSuchMethod= Error:
> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonPars= er$Feature;)Lorg/codehaus/jackson/JsonFactory;
> when running a simple pig script.
> after took a look at AVRO-493 I=A0 uploaded the new jackson jar to rep= lace the
> CDH2's jackson 1.0.1 jars.
>
>
> The pigscipt looks like below
> REGISTER /home/pig/jars/avro-1.4.1.jar
> REGISTER /home/pig/jars/json_simple-1.1.jar
> REGISTER /home/pig/jars/piggybank.jar
> REGISTER /usr/lib/hadoop/lib/jackson-core-asl-1.5.5.jar
> REGISTER /usr/lib/hadoop/lib/jackson-mapper-asl-1.5.5.jar
>
> log_load =3D LOAD '/user/felix/avro_input/*.avro' USING
> org.apache.pig.piggybank.storage.avro.AvroStorage() ;
>
> dump log_load
>
>
> jackson jars are copied to each slaves and master
>
> The full stacktrace:
> ERROR 2998: Unhandled internal error.
> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonPars= er$Feature;)Lorg/codehaus/jackson/JsonFactory;
>
> java.lang.NoSuchMethodError:
> org.codehaus.jackson.JsonFactory.enable(Lorg/codehaus/jackson/JsonPars= er$Feature;)Lorg/codehaus/jackson/JsonFactory;
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.avro.Schema.<clinit>(Schema.= java:82)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.piggybank.storage.avro.ASCommons.<clinit>(ASCommo= ns.java:44)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.piggybank.storage.avro.AvroStorage.getSchema(AvroStorag= e.java:177)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.piggybank.storage.avro.AvroStorage.getAvroSchema(AvroSt= orage.java:133)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.piggybank.storage.avro.AvroStorage.getAvroSchema(AvroSt= orage.java:108)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.piggybank.storage.avro.AvroStorage.getSchema(AvroStorag= e.java:233)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.impl.logicalLayer.LOLoad.determineSchema(LOLoad.java:16= 9)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.impl.logicalLayer.LOLoad.getSchema(LOLoad.java:150)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.= java:843)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanB= uilder.java:63)
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.pig.PigServer$Graph.parseQuery(Pig= Server.java:1164)
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.pig.PigServer$Graph.registerQuery(= PigServer.java:1114)
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.pig.PigServer.registerQuery(PigSer= ver.java:425)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:737= )
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptP= arser.java:324)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.ja= va:162)
> =A0=A0=A0=A0=A0=A0=A0 at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.ja= va:138)
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.pig.tools.grunt.Grunt.run(Grunt.ja= va:75)
> =A0=A0=A0=A0=A0=A0=A0 at org.apache.pig.Main.main(Main.java:357)
>
> I am wondering if I need to restart tasktracker and jobtracker in orde= r for
> the jackson jars to be picked up?
>
>
>
>
>
>
>
>



--
Chase Bradford


=93If in physics there's something you don't understand, you can al= ways
hide behind the uncharted depths of nature. But if your program
doesn't work, there is no obstinate nature. If it doesn't work, you= 've
messed up.=94

- Edsger Dijkstra


--0015175caa82c30f73049a9f492f--