We received a strange error recently, the deployment failed in committing deployment with NullPointer exception. Given below is the exception:
2015-10-12 09:46:06,479 ERROR DeployPipelineExecutor - Final attempt in Phase: Deployment Processing Phase failed for transaction: tcm:0-xxxxx-66560
2015-10-12 09:46:06,479 ERROR DeployPipelineExecutor - Original stack trace for transaction: tcm:0-158937-66560
java.lang.NullPointerException: null
at com.tridion.transport.transportpackage.TransportPackage.getAction(TransportPackage.java:150) ~[cd_model.jar:na]
at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:56) ~[cd_deployer.jar:na]
at com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:67) ~[cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na]
at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na]
at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_33]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_33]
2015-10-12 09:46:06,479 ERROR DeployPipelineExecutor - Unable to start processing deployment package with transactionId: tcm:0-xxxxx-66560
com.tridion.deployer.ProcessingException: Phase: Deployment Processing Phase failed.
null
at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:209) [cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na]
at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na]
at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_33]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_33]
Caused by: java.lang.NullPointerException: null
at com.tridion.transport.transportpackage.TransportPackage.getAction(TransportPackage.java:150) ~[cd_model.jar:na]
at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:56) ~[cd_deployer.jar:na]
at com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:67) ~[cd_deployer.jar:na]
at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na]
... 10 common frames omitted
In what scenario, will this error happen?
Update: I found the scenario in which this error is getting generated: If you publish in bulk using phased publishing then after rendering, some packages show as waiting for deployment and some show as scheduled for deployment. The problem that I have noticed is with the waiting for deployed transactions the package is deleted from deployer however state xml is present.