Bug 1302715 - NullPointerException when copying template disk to storage domain
Summary: NullPointerException when copying template disk to storage domain
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Storage
Version: 3.6.2.6
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ovirt-3.6.5
: ---
Assignee: Liron Aravot
QA Contact: Aharon Canan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-28 12:55 UTC by Raz Tamir
Modified: 2016-03-09 12:48 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-03-09 11:34:18 UTC
oVirt Team: Storage
Embargoed:
amureini: ovirt-3.6.z?
ylavi: exception?
ylavi: planning_ack+
amureini: devel_ack+
rule-engine: testing_ack?


Attachments (Terms of Use)
engine and vdsm logs (1.72 MB, application/x-gzip)
2016-01-28 12:55 UTC, Raz Tamir
no flags Details

Description Raz Tamir 2016-01-28 12:55:24 UTC
Created attachment 1119137 [details]
engine and vdsm logs

Description of problem:
When copying a templated disk to storage domain, a NullPointerException raised but the disk is successfully copied
from engine.log:

2016-01-28 14:36:13,052 INFO  [org.ovirt.engine.core.bll.MoveOrCopyDiskCommand] (ajp-/127.0.0.1:8702-11) [disks_syncAction_a937bf47-3eb6-4022] Running command: MoveOrCopyDiskCommand internal: false. Entities affected :  ID: f0969223-959a-4b87-a12d-810ed49c5fcb Type: DiskAction group CONFIGURE_DISK_STORAGE with role type USER,  ID: b7ecccb7-6588-4a47-95b5-ecbef1896a2c Type: StorageAction group CREATE_DISK with role type USER
2016-01-28 14:36:13,061 INFO  [org.ovirt.engine.core.bll.CopyImageGroupCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] Running command: CopyImageGroupCommand internal: true. Entities affected :  ID: b7ecccb7-6588-4a47-95b5-ecbef1896a2c Type: Storage
2016-01-28 14:36:13,080 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] START, CopyImageVDSCommand( CopyImageVDSCommandParameters:{runAsync='true', storagePoolId='d2144d19-e41b-4fad-b904-1ad871b2b4b9', ignoreFailoverLimit='false', storageDomainId='fad01b68-b161-41aa-8efa-ac9f78eb5b18', imageGroupId='f0969223-959a-4b87-a12d-810ed49c5fcb', imageId='80f2767a-30c6-4d55-ab31-32754cf2ab95', dstImageGroupId='f0969223-959a-4b87-a12d-810ed49c5fcb', vmId='00000000-0000-0000-0000-000000000000', dstImageId='80f2767a-30c6-4d55-ab31-32754cf2ab95', imageDescription='', dstStorageDomainId='b7ecccb7-6588-4a47-95b5-ecbef1896a2c', copyVolumeType='SharedVol', volumeFormat='COW', preallocate='Sparse', postZero='false', force='false'}), log id: 308a4ae8
2016-01-28 14:36:13,081 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] -- executeIrsBrokerCommand: calling 'copyImage' with two new parameters: description and UUID. Parameters:
2016-01-28 14:36:13,081 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ sdUUID=fad01b68-b161-41aa-8efa-ac9f78eb5b18
2016-01-28 14:36:13,081 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ spUUID=d2144d19-e41b-4fad-b904-1ad871b2b4b9
2016-01-28 14:36:13,081 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ vmGUID=00000000-0000-0000-0000-000000000000
2016-01-28 14:36:13,081 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ srcImageGUID=f0969223-959a-4b87-a12d-810ed49c5fcb
2016-01-28 14:36:13,082 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ srcVolUUID=80f2767a-30c6-4d55-ab31-32754cf2ab95
2016-01-28 14:36:13,082 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ dstImageGUID=f0969223-959a-4b87-a12d-810ed49c5fcb
2016-01-28 14:36:13,082 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ dstVolUUID=80f2767a-30c6-4d55-ab31-32754cf2ab95
2016-01-28 14:36:13,082 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ descr=
2016-01-28 14:36:13,082 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] ++ dstSdUUID=b7ecccb7-6588-4a47-95b5-ecbef1896a2c
2016-01-28 14:36:14,049 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.CopyImageVDSCommand] (ajp-/127.0.0.1:8702-11) [25fdcf81] FINISH, CopyImageVDSCommand, return: cee0fcb0-d17a-4c5e-9f1f-21104981973d, log id: 308a4ae8
2016-01-28 14:36:14,052 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (ajp-/127.0.0.1:8702-11) [25fdcf81] CommandAsyncTask::Adding CommandMultiAsyncTasks object for command '9832b159-85a7-4c9c-be85-61ab25516178'
2016-01-28 14:36:14,052 INFO  [org.ovirt.engine.core.bll.CommandMultiAsyncTasks] (ajp-/127.0.0.1:8702-11) [25fdcf81] CommandMultiAsyncTasks::AttachTask: Attaching task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d' to command '9832b159-85a7-4c9c-be85-61ab25516178'.
2016-01-28 14:36:14,065 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (ajp-/127.0.0.1:8702-11) [25fdcf81] Adding task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d' (Parent Command 'MoveOrCopyDisk', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters'), polling hasn't started yet..
2016-01-28 14:36:14,089 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-11) [25fdcf81] Correlation ID: disks_syncAction_a937bf47-3eb6-4022, Job ID: 1ef04594-365c-4e45-8256-448e557a219c, Call Stack: null, Custom Event ID: -1, Message: User admin@internal is copying disk golden_mixed_virtio_template to domain test_gluster_1.
2016-01-28 14:36:14,089 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (ajp-/127.0.0.1:8702-11) [25fdcf81] BaseAsyncTask::startPollingTask: Starting to poll task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d'.
2016-01-28 14:36:16,609 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (DefaultQuartzScheduler_Worker-33) [] Polling and updating Async Tasks: 6 tasks, 1 tasks to poll now
2016-01-28 14:36:18,481 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (DefaultQuartzScheduler_Worker-33) [] SPMAsyncTask::PollTask: Polling task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d' (Parent Command 'MoveOrCopyDisk', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters') returned status 'running'.
2016-01-28 14:36:18,481 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (DefaultQuartzScheduler_Worker-33) [] Finished polling Tasks, will poll again in 10 seconds.
2016-01-28 14:39:33,182 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (DefaultQuartzScheduler_Worker-98) [] SPMAsyncTask::PollTask: Polling task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d' (Parent Command 'MoveOrCopyDisk', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters') returned status 'finished', result 'success'.
2016-01-28 14:39:33,187 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (DefaultQuartzScheduler_Worker-98) [] BaseAsyncTask::onTaskEndSuccess: Task 'cee0fcb0-d17a-4c5e-9f1f-21104981973d' (Parent Command 'MoveOrCopyDisk', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters') ended successfully.
2016-01-28 14:39:33,191 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (DefaultQuartzScheduler_Worker-98) [] CommandAsyncTask::endActionIfNecessary: All tasks of command '9832b159-85a7-4c9c-be85-61ab25516178' has ended -> executing 'endAction'
2016-01-28 14:39:33,191 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (DefaultQuartzScheduler_Worker-98) [] CommandAsyncTask::endAction: Ending action for '1' tasks (command ID: '9832b159-85a7-4c9c-be85-61ab25516178'): calling endAction '.
2016-01-28 14:39:33,191 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-35) [] CommandAsyncTask::endCommandAction [within thread] context: Attempting to endAction 'MoveOrCopyDisk', executionIndex: '0'
2016-01-28 14:39:33,209 INFO  [org.ovirt.engine.core.bll.MoveOrCopyDiskCommand] (org.ovirt.thread.pool-7-thread-35) [disks_syncAction_a937bf47-3eb6-4022] Ending command 'org.ovirt.engine.core.bll.MoveOrCopyDiskCommand' successfully.
2016-01-28 14:39:33,220 INFO  [org.ovirt.engine.core.bll.CopyImageGroupCommand] (org.ovirt.thread.pool-7-thread-35) [25fdcf81] Ending command 'org.ovirt.engine.core.bll.CopyImageGroupCommand' successfully.
2016-01-28 14:39:33,224 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.GetImageInfoVDSCommand] (org.ovirt.thread.pool-7-thread-35) [25fdcf81] START, GetImageInfoVDSCommand( GetImageInfoVDSCommandParameters:{runAsync='true', storagePoolId='d2144d19-e41b-4fad-b904-1ad871b2b4b9', ignoreFailoverLimit='false', storageDomainId='fad01b68-b161-41aa-8efa-ac9f78eb5b18', imageGroupId='f0969223-959a-4b87-a12d-810ed49c5fcb', imageId='80f2767a-30c6-4d55-ab31-32754cf2ab95'}), log id: 2a7ad46c
2016-01-28 14:39:33,747 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.GetImageInfoVDSCommand] (org.ovirt.thread.pool-7-thread-35) [25fdcf81] FINISH, GetImageInfoVDSCommand, return: org.ovirt.engine.core.common.businessentities.storage.DiskImage@1c060a85, log id: 2a7ad46c
2016-01-28 14:39:33,755 INFO  [org.ovirt.engine.core.bll.MoveOrCopyDiskCommand] (org.ovirt.thread.pool-7-thread-35) [] Lock freed to object 'EngineLock:{exclusiveLocks='[f0969223-959a-4b87-a12d-810ed49c5fcb=<DISK, ACTION_TYPE_FAILED_DISK_IS_BEING_MIGRATED$DiskName golden_mixed_virtio_template>]', sharedLocks='[ddc4d108-c8b1-4c2e-9186-372e613dad9f=<TEMPLATE, ACTION_TYPE_FAILED_DISK_IS_BEING_MIGRATED$DiskName golden_mixed_virtio_template>]'}'
2016-01-28 14:39:33,756 WARN  [org.ovirt.engine.core.compat.backendcompat.TypeCompat] (org.ovirt.thread.pool-7-thread-35) [] Unable to get value of property: 'diskAlias' for class org.ovirt.engine.core.bll.MoveOrCopyDiskCommand: null
2016-01-28 14:39:33,765 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (org.ovirt.thread.pool-7-thread-35) [] Correlation ID: disks_syncAction_a937bf47-3eb6-4022, Job ID: 1ef04594-365c-4e45-8256-448e557a219c, Call Stack: null, Custom Event ID: -1, Message: User admin@internal finished copying disk <UNKNOWN> to domain test_gluster_1.
2016-01-28 14:39:33,765 ERROR [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-35) [] [within thread]: endAction for action type MoveOrCopyDisk threw an exception.: java.lang.NullPointerException
        at org.ovirt.engine.core.bll.MoveOrCopyDiskCommand.isTemplate(MoveOrCopyDiskCommand.java:424) [bll.jar:]
        at org.ovirt.engine.core.bll.MoveOrCopyDiskCommand.incrementDbGenerationForRelatedEntities(MoveOrCopyDiskCommand.java:313) [bll.jar:]
        at org.ovirt.engine.core.bll.MoveOrCopyDiskCommand.endSuccessfully(MoveOrCopyDiskCommand.java:306) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.internalEndSuccessfully(CommandBase.java:651) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.endActionInTransactionScope(CommandBase.java:595) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1984) [bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:174) [utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:116) [utils.jar:]
        at org.ovirt.engine.core.bll.CommandBase.endAction(CommandBase.java:524) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.DecoratedCommand.endAction(DecoratedCommand.java:17) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CoCoAsyncTaskHelper.endAction(CoCoAsyncTaskHelper.java:359) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandCoordinatorImpl.endAction(CommandCoordinatorImpl.java:415) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandAsyncTask.endCommandAction(CommandAsyncTask.java:168) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandAsyncTask.access$000(CommandAsyncTask.java:30) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandAsyncTask$1.run(CommandAsyncTask.java:111) [bll.jar:]
        at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:92) [utils.jar:]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_91]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_91]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_91]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_91]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_91]

2016-01-28 14:39:33,766 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-35) [] CommandAsyncTask::HandleEndActionResult: endAction for action type 'MoveOrCopyDisk' threw an unrecoverable RuntimeException the task will be cleared.




Version-Release number of selected component (if applicable):
rhevm-3.6.2.6-0.1.el6.noarch
vdsm-4.17.18-0.el7ev.noarch

How reproducible:
100%

Steps to Reproduce:
1. Copy template disk to other SD
2.
3.

Actual results:


Expected results:
The operation should finish without 'NullPointerException'


Additional info:

Comment 1 Liron Aravot 2016-03-09 11:34:18 UTC
Hi,
Inspecting the log I've noticed the in this case the scenario was

1. Import image from glance as template
2. Copy the template disk to other SD

I've tested the scenario on the 3.6 branch (which 3.6.5 will be based on) and failed to reproduce the issue. I've tested it with copy of "regular" template disk and failed to reproduce as well. I've look for the patch that solved the issue (it seems to be a VmDevice issue but didn't find it on brief look - so first lets inspect if this is relevant.

Raz, is there any other info you can share that'll help us reproduce the issue?

As for now, closing as work for me.

Comment 2 Raz Tamir 2016-03-09 12:48:25 UTC
It seems that it was fixed by some other change


Note You need to log in before you can comment on or make changes to this bug.