The only way I can see this happening would be when exec() fails and throws
out an exception. Did you take a look at the per task logs to see if there
is anything being logged in there? 
Which Hadoop version are you using? Are you transferring your mapper files
using -file option?

Regards
Mahadev

> -----Original Message-----
> From: Andrew McNabb [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 09, 2007 3:59 PM
> To: [email protected]
> Subject: Re: Streaming in Hadoop 0.10
> 
> On Tue, Jan 09, 2007 at 12:36:10PM -0700, Andrew McNabb wrote:
> >
> > java.lang.NullPointerException
> >     at
> org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:4
> 55)
> >     at
> org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:578)
> >     at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:109)
> >     at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:51)
> >     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:183)
> >     at
> org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:1341)
> >
> 
> Even when I fixed the bug in my mapper, it still gives this error.  I
> can't see anything else in the logs.  I went in and looked at the code.
> Line 455 of PipeMapRed.java is:
> 
> sim.waitFor();
> 
> The Java documentation doesn't say anything about waitFor throwing a
> NullPointerException, and I don't see anything about how sim (a Process
> object) would get set to null.  Sim is set at line 301:
> 
> sim = Runtime.getRuntime().exec(argvSplit, childEnv.toArray());
> 
> The Java documentation doesn't say that exec can return null.  I guess
> I'm confused about what's causing this exception to be thrown.  Does
> anyone have any ideas?  Thanks.
> 
> 
> --
> Andrew McNabb
> http://www.mcnabbs.org/andrew/
> PGP Fingerprint: 8A17 B57C 6879 1863 DE55  8012 AB4D 6098 8826 6868

Reply via email to