created an attachment (id=166431)
test report

description:
  alttext for chart and image throw out npe when preview as ppt

test build:
birt2.6.0 v20100428-0630

step to reproduce:

1. use the report attached.
2. preview as ppt

expect result:
alttext for chart and image works correctly when preview as ppt.

actual result:
throw out npe.
error log:
- org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report

axisfault
 faultcode: {http://schemas.xmlsoap.org/soap/envelope/}server.userexception
 faultsubcode: 
 faultstring: org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report
 faultactor: 
 faultnode: 
 faultdetail: 
	{http://xml.apache.org/axis/}stacktrace:org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report
	at org.eclipse.birt.report.service.reportengineservice.throwdummyexception(reportengineservice.java:1097)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:926)
	at org.eclipse.birt.report.service.birtviewerreportservice.runandrenderreport(birtviewerreportservice.java:973)
	at org.eclipse.birt.report.service.actionhandler.birtrunandrenderactionhandler.__execute(birtrunandrenderactionhandler.java:76)
	at org.eclipse.birt.report.service.actionhandler.abstractbaseactionhandler.execute(abstractbaseactionhandler.java:90)
	at org.eclipse.birt.report.presentation.aggregation.layout.enginefragment.doservice(enginefragment.java:318)
	at org.eclipse.birt.report.presentation.aggregation.abstractbasefragment.service(abstractbasefragment.java:76)
	at org.eclipse.birt.report.servlet.birtengineservlet.__doget(birtengineservlet.java:120)
	at org.eclipse.birt.report.servlet.basereportengineservlet.doget(basereportengineservlet.java:185)
	at javax.servlet.http.httpservlet.service(httpservlet.java:707)
	at org.apache.axis.transport.http.axisservletbase.service(axisservletbase.java:327)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.birt.report.servlet.basereportengineservlet.service(basereportengineservlet.java:116)
	at org.eclipse.equinox.http.registry.internal.servletmanager$servletwrapper.service(servletmanager.java:180)
	at org.eclipse.equinox.http.servlet.internal.servletregistration.service(servletregistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias(proxyservlet.java:126)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.service(proxyservlet.java:60)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.httpservermanager$internalhttpserviceservlet.service(httpservermanager.java:318)
	at org.mortbay.jetty.servlet.servletholder.handle(servletholder.java:502)
	at org.mortbay.jetty.servlet.servlethandler.handle(servlethandler.java:380)
	at org.mortbay.jetty.servlet.sessionhandler.handle(sessionhandler.java:181)
	at org.mortbay.jetty.handler.contexthandler.handle(contexthandler.java:765)
	at org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)
	at org.mortbay.jetty.server.handle(server.java:324)
	at org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:535)
	at org.mortbay.jetty.httpconnection$requesthandler.headercomplete(httpconnection.java:865)
	at org.mortbay.jetty.httpparser.parsenext(httpparser.java:540)
	at org.mortbay.jetty.httpparser.parseavailable(httpparser.java:213)
	at org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)
	at org.mortbay.io.nio.selectchannelendpoint.run(selectchannelendpoint.java:409)
	at org.mortbay.thread.queuedthreadpool$poolthread.run(queuedthreadpool.java:520)
caused by: org.eclipse.birt.report.engine.api.engineexception: error happened while running the report
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:185)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.run(runandrendertask.java:75)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:920)
	... 30 more
caused by: java.lang.nullpointerexception
	at org.eclipse.birt.report.engine.emitter.imagereader.readimage(imagereader.java:179)
	at org.eclipse.birt.report.engine.emitter.imagereader.read(imagereader.java:77)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.initialize(imagearealayout.java:80)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.layout(imagearealayout.java:69)
	at org.eclipse.birt.report.engine.nlayout.layoutengine.startcontent(layoutengine.java:476)
	at org.eclipse.birt.report.engine.emitter.contentemitteradapter.startimage(contentemitteradapter.java:174)
	at org.eclipse.birt.report.engine.emitter.compositecontentemitter.startimage(compositecontentemitter.java:274)
	at org.eclipse.birt.report.engine.emitter.contentemitterutil.startcontent(contentemitterutil.java:74)
	at org.eclipse.birt.report.engine.layout.html.buffer.htmlpagebuffer.startcontent(htmlpagebuffer.java:116)
	at org.eclipse.birt.report.engine.layout.html.buffer.tablebreakbuffer.startcontent(tablebreakbuffer.java:287)
	at org.eclipse.birt.report.engine.layout.html.htmlleafitemlm.start(htmlleafitemlm.java:67)
	at org.eclipse.birt.report.engine.layout.html.htmlabstractlm.layout(htmlabstractlm.java:139)
	at org.eclipse.birt.report.engine.layout.html.htmlblockstackinglm.layoutnodes(htmlblockstackinglm.java:70)
	at org.eclipse.birt.report.engine.layout.html.htmlpagelm.layout(htmlpagelm.java:90)
	at org.eclipse.birt.report.engine.layout.html.htmlreportlayoutengine.layout(htmlreportlayoutengine.java:99)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:169)
	... 32 more

	{http://xml.apache.org/axis/}hostname:jiangyong
	{}:org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report
	at org.eclipse.birt.report.service.reportengineservice.throwdummyexception(reportengineservice.java:1097)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:926)
	at org.eclipse.birt.report.service.birtviewerreportservice.runandrenderreport(birtviewerreportservice.java:973)
	at org.eclipse.birt.report.service.actionhandler.birtrunandrenderactionhandler.__execute(birtrunandrenderactionhandler.java:76)
	at org.eclipse.birt.report.service.actionhandler.abstractbaseactionhandler.execute(abstractbaseactionhandler.java:90)
	at org.eclipse.birt.report.presentation.aggregation.layout.enginefragment.doservice(enginefragment.java:318)
	at org.eclipse.birt.report.presentation.aggregation.abstractbasefragment.service(abstractbasefragment.java:76)
	at org.eclipse.birt.report.servlet.birtengineservlet.__doget(birtengineservlet.java:120)
	at org.eclipse.birt.report.servlet.basereportengineservlet.doget(basereportengineservlet.java:185)
	at javax.servlet.http.httpservlet.service(httpservlet.java:707)
	at org.apache.axis.transport.http.axisservletbase.service(axisservletbase.java:327)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.birt.report.servlet.basereportengineservlet.service(basereportengineservlet.java:116)
	at org.eclipse.equinox.http.registry.internal.servletmanager$servletwrapper.service(servletmanager.java:180)
	at org.eclipse.equinox.http.servlet.internal.servletregistration.service(servletregistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias(proxyservlet.java:126)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.service(proxyservlet.java:60)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.httpservermanager$internalhttpserviceservlet.service(httpservermanager.java:318)
	at org.mortbay.jetty.servlet.servletholder.handle(servletholder.java:502)
	at org.mortbay.jetty.servlet.servlethandler.handle(servlethandler.java:380)
	at org.mortbay.jetty.servlet.sessionhandler.handle(sessionhandler.java:181)
	at org.mortbay.jetty.handler.contexthandler.handle(contexthandler.java:765)
	at org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)
	at org.mortbay.jetty.server.handle(server.java:324)
	at org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:535)
	at org.mortbay.jetty.httpconnection$requesthandler.headercomplete(httpconnection.java:865)
	at org.mortbay.jetty.httpparser.parsenext(httpparser.java:540)
	at org.mortbay.jetty.httpparser.parseavailable(httpparser.java:213)
	at org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)
	at org.mortbay.io.nio.selectchannelendpoint.run(selectchannelendpoint.java:409)
	at org.mortbay.thread.queuedthreadpool$poolthread.run(queuedthreadpool.java:520)
caused by: org.eclipse.birt.report.engine.api.engineexception: error happened while running the report
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:185)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.run(runandrendertask.java:75)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:920)
	... 30 more
caused by: java.lang.nullpointerexception
	at org.eclipse.birt.report.engine.emitter.imagereader.readimage(imagereader.java:179)
	at org.eclipse.birt.report.engine.emitter.imagereader.read(imagereader.java:77)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.initialize(imagearealayout.java:80)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.layout(imagearealayout.java:69)
	at org.eclipse.birt.report.engine.nlayout.layoutengine.startcontent(layoutengine.java:476)
	at org.eclipse.birt.report.engine.emitter.contentemitteradapter.startimage(contentemitteradapter.java:174)
	at org.eclipse.birt.report.engine.emitter.compositecontentemitter.startimage(compositecontentemitter.java:274)
	at org.eclipse.birt.report.engine.emitter.contentemitterutil.startcontent(contentemitterutil.java:74)
	at org.eclipse.birt.report.engine.layout.html.buffer.htmlpagebuffer.startcontent(htmlpagebuffer.java:116)
	at org.eclipse.birt.report.engine.layout.html.buffer.tablebreakbuffer.startcontent(tablebreakbuffer.java:287)
	at org.eclipse.birt.report.engine.layout.html.htmlleafitemlm.start(htmlleafitemlm.java:67)
	at org.eclipse.birt.report.engine.layout.html.htmlabstractlm.layout(htmlabstractlm.java:139)
	at org.eclipse.birt.report.engine.layout.html.htmlblockstackinglm.layoutnodes(htmlblockstackinglm.java:70)
	at org.eclipse.birt.report.engine.layout.html.htmlpagelm.layout(htmlpagelm.java:90)
	at org.eclipse.birt.report.engine.layout.html.htmlreportlayoutengine.layout(htmlreportlayoutengine.java:99)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:169)
	... 32 more


org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report
	at org.apache.axis.axisfault.makefault(axisfault.java:101)
	at org.eclipse.birt.report.utility.birtutility.makeaxisfault(birtutility.java:748)
	at org.eclipse.birt.report.service.actionhandler.abstractbaseactionhandler.execute(abstractbaseactionhandler.java:94)
	at org.eclipse.birt.report.presentation.aggregation.layout.enginefragment.doservice(enginefragment.java:318)
	at org.eclipse.birt.report.presentation.aggregation.abstractbasefragment.service(abstractbasefragment.java:76)
	at org.eclipse.birt.report.servlet.birtengineservlet.__doget(birtengineservlet.java:120)
	at org.eclipse.birt.report.servlet.basereportengineservlet.doget(basereportengineservlet.java:185)
	at javax.servlet.http.httpservlet.service(httpservlet.java:707)
	at org.apache.axis.transport.http.axisservletbase.service(axisservletbase.java:327)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.birt.report.servlet.basereportengineservlet.service(basereportengineservlet.java:116)
	at org.eclipse.equinox.http.registry.internal.servletmanager$servletwrapper.service(servletmanager.java:180)
	at org.eclipse.equinox.http.servlet.internal.servletregistration.service(servletregistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias(proxyservlet.java:126)
	at org.eclipse.equinox.http.servlet.internal.proxyservlet.service(proxyservlet.java:60)
	at javax.servlet.http.httpservlet.service(httpservlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.httpservermanager$internalhttpserviceservlet.service(httpservermanager.java:318)
	at org.mortbay.jetty.servlet.servletholder.handle(servletholder.java:502)
	at org.mortbay.jetty.servlet.servlethandler.handle(servlethandler.java:380)
	at org.mortbay.jetty.servlet.sessionhandler.handle(sessionhandler.java:181)
	at org.mortbay.jetty.handler.contexthandler.handle(contexthandler.java:765)
	at org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)
	at org.mortbay.jetty.server.handle(server.java:324)
	at org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:535)
	at org.mortbay.jetty.httpconnection$requesthandler.headercomplete(httpconnection.java:865)
	at org.mortbay.jetty.httpparser.parsenext(httpparser.java:540)
	at org.mortbay.jetty.httpparser.parseavailable(httpparser.java:213)
	at org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)
	at org.mortbay.io.nio.selectchannelendpoint.run(selectchannelendpoint.java:409)
	at org.mortbay.thread.queuedthreadpool$poolthread.run(queuedthreadpool.java:520)
caused by: org.eclipse.birt.report.service.api.reportserviceexception: error happened while running the report
	at org.eclipse.birt.report.service.reportengineservice.throwdummyexception(reportengineservice.java:1097)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:926)
	at org.eclipse.birt.report.service.birtviewerreportservice.runandrenderreport(birtviewerreportservice.java:973)
	at org.eclipse.birt.report.service.actionhandler.birtrunandrenderactionhandler.__execute(birtrunandrenderactionhandler.java:76)
	at org.eclipse.birt.report.service.actionhandler.abstractbaseactionhandler.execute(abstractbaseactionhandler.java:90)
	... 27 more
caused by: org.eclipse.birt.report.engine.api.engineexception: error happened while running the report
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:185)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.run(runandrendertask.java:75)
	at org.eclipse.birt.report.service.reportengineservice.runandrenderreport(reportengineservice.java:920)
	... 30 more
caused by: java.lang.nullpointerexception
	at org.eclipse.birt.report.engine.emitter.imagereader.readimage(imagereader.java:179)
	at org.eclipse.birt.report.engine.emitter.imagereader.read(imagereader.java:77)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.initialize(imagearealayout.java:80)
	at org.eclipse.birt.report.engine.nlayout.area.impl.imagearealayout.layout(imagearealayout.java:69)
	at org.eclipse.birt.report.engine.nlayout.layoutengine.startcontent(layoutengine.java:476)
	at org.eclipse.birt.report.engine.emitter.contentemitteradapter.startimage(contentemitteradapter.java:174)
	at org.eclipse.birt.report.engine.emitter.compositecontentemitter.startimage(compositecontentemitter.java:274)
	at org.eclipse.birt.report.engine.emitter.contentemitterutil.startcontent(contentemitterutil.java:74)
	at org.eclipse.birt.report.engine.layout.html.buffer.htmlpagebuffer.startcontent(htmlpagebuffer.java:116)
	at org.eclipse.birt.report.engine.layout.html.buffer.tablebreakbuffer.startcontent(tablebreakbuffer.java:287)
	at org.eclipse.birt.report.engine.layout.html.htmlleafitemlm.start(htmlleafitemlm.java:67)
	at org.eclipse.birt.report.engine.layout.html.htmlabstractlm.layout(htmlabstractlm.java:139)
	at org.eclipse.birt.report.engine.layout.html.htmlblockstackinglm.layoutnodes(htmlblockstackinglm.java:70)
	at org.eclipse.birt.report.engine.layout.html.htmlpagelm.layout(htmlpagelm.java:90)
	at org.eclipse.birt.report.engine.layout.html.htmlreportlayoutengine.layout(htmlreportlayoutengine.java:99)
	at org.eclipse.birt.report.engine.api.impl.runandrendertask.dorun(runandrendertask.java:169)
	... 32 more
fixed.
verified in daily build v20100504-0630