Status: SUCCEEDED
Triggered by: -
Duration: 21 minutes
Actions:

Definition (rev 840fc1d7a17d9f663eedc70c67b8fdf31f8eb475)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.dart.ci.sandbox"
  builder: "vm-ffi-android-debug-arm"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://dart.googlesource.com/sdk",
  "revision": "ee696f2c35087e5d0faa707364d4d93d17a2ff7f"
}

Incoming tags

  • buildset:commit/git/ee696f2c35087e5d0faa707364d4d93d17a2ff7f
  • buildset:commit/gitiles/dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[09:09:21.190] New invocation is queued and will start shortly
[09:09:23.983] Starting the invocation (attempt 1)
[09:09:24.024] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[09:09:24.024] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[09:09:24.024] Buildbucket request:
{
  "bucket": "luci.dart.ci.sandbox",
  "client_operation_id": "9074214867875444256",
  "parameters_json": "{\"builder_name\":\"vm-ffi-android-debug-arm\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"c1ca599353bb76a7df20097f9883360b120758bb\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@c1ca599353bb76a7df20097f9883360b120758bb\",\"title\":\"c1ca599353bb76a7df20097f9883360b120758bb\",\"url\":\"https://dart.googlesource.com/sdk/+/c1ca599353bb76a7df20097f9883360b120758bb\"},{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@ee696f2c35087e5d0faa707364d4d93d17a2ff7f\",\"title\":\"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\",\"url\":\"https://dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:vm-ffi-android-debug-arm",
    "scheduler_invocation_id:9074214867875444256",
    "scheduler_job_id:dart/vm-ffi-android-debug-arm",
    "user_agent:luci-scheduler",
    "buildset:commit/git/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
    "buildset:commit/gitiles/dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
    "gitiles_ref:refs/heads/master"
  ]
}
[09:09:25.114] Buildbucket response:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary": true,
    "canary_preference": "CANARY",
    "created_by": "project:dart",
    "created_ts": "1562317764199102",
    "id": "8908784804045829120",
    "parameters_json": "{\"builder_name\": \"vm-ffi-android-debug-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"c1ca599353bb76a7df20097f9883360b120758bb\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@c1ca599353bb76a7df20097f9883360b120758bb\", \"title\": \"c1ca599353bb76a7df20097f9883360b120758bb\", \"url\": \"https://dart.googlesource.com/sdk/+/c1ca599353bb76a7df20097f9883360b120758bb\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"title\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"url\": \"https://dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}}",
    "project": "dart",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1562317764782411",
    "tags": [
      "build_address:luci.dart.ci.sandbox/vm-ffi-android-debug-arm/1094",
      "builder:vm-ffi-android-debug-arm",
      "buildset:commit/git/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9074214867875444256",
      "scheduler_job_id:dart/vm-ffi-android-debug-arm",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8908784804045829120/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1562317764782502",
    "url": "https://ci.chromium.org/b/8908784804045829120",
    "utcnow_ts": "1562317765102267"
  }
}
[09:09:25.114] Task URL: https://ci.chromium.org/b/8908784804045829120
[09:09:25.114] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:2:0) after 1m0s
[09:10:25.726] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:2:0)
[09:10:25.726] Timer tick, asking Buildbucket for the build status
[09:10:26.901] Build 8908784804045829120: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:10:26.901] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:3:0) after 1m0s
[09:11:27.265] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:3:0)
[09:11:27.265] Timer tick, asking Buildbucket for the build status
[09:11:27.495] Build 8908784804045829120: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:11:27.495] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:4:0) after 1m0s
[09:12:27.923] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:4:0)
[09:12:27.923] Timer tick, asking Buildbucket for the build status
[09:12:28.795] Build 8908784804045829120: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:12:28.795] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:5:0) after 1m0s
[09:13:29.184] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:5:0)
[09:13:29.184] Timer tick, asking Buildbucket for the build status
[09:13:31.158] Build 8908784804045829120: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:13:31.158] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:6:0) after 1m0s
[09:14:31.555] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:6:0)
[09:14:31.555] Timer tick, asking Buildbucket for the build status
[09:14:31.994] Build 8908784804045829120: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:14:31.994] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:7:0) after 1m0s
[09:14:51.447] Received PubSub notification, asking Buildbucket for the build status
[09:14:51.591] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:15:32.152] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:7:0)
[09:15:32.152] Timer tick, asking Buildbucket for the build status
[09:15:33.405] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:15:33.405] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:9:0) after 1m0s
[09:16:33.652] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:9:0)
[09:16:33.652] Timer tick, asking Buildbucket for the build status
[09:16:33.859] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:16:33.859] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:10:0) after 1m0s
[09:17:33.996] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:10:0)
[09:17:33.996] Timer tick, asking Buildbucket for the build status
[09:17:34.190] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:17:34.190] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:11:0) after 1m0s
[09:18:34.327] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:11:0)
[09:18:34.327] Timer tick, asking Buildbucket for the build status
[09:18:34.729] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:18:34.730] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:12:0) after 1m0s
[09:19:34.752] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:12:0)
[09:19:34.752] Timer tick, asking Buildbucket for the build status
[09:19:34.900] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:19:34.900] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:13:0) after 1m0s
[09:20:34.875] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:13:0)
[09:20:34.875] Timer tick, asking Buildbucket for the build status
[09:20:35.122] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:20:35.122] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:14:0) after 1m0s
[09:21:35.261] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:14:0)
[09:21:35.261] Timer tick, asking Buildbucket for the build status
[09:21:35.466] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:21:35.466] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:15:0) after 1m0s
[09:22:35.499] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:15:0)
[09:22:35.499] Timer tick, asking Buildbucket for the build status
[09:22:35.866] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:22:35.866] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:16:0) after 1m0s
[09:23:35.916] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:16:0)
[09:23:35.916] Timer tick, asking Buildbucket for the build status
[09:23:36.455] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:23:36.455] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:17:0) after 1m0s
[09:24:36.618] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:17:0)
[09:24:36.618] Timer tick, asking Buildbucket for the build status
[09:24:37.326] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:24:37.326] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:18:0) after 1m0s
[09:25:37.506] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:18:0)
[09:25:37.506] Timer tick, asking Buildbucket for the build status
[09:25:37.623] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:25:37.623] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:19:0) after 1m0s
[09:26:37.724] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:19:0)
[09:26:37.724] Timer tick, asking Buildbucket for the build status
[09:26:38.145] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:26:38.145] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:20:0) after 1m0s
[09:27:38.169] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:20:0)
[09:27:38.169] Timer tick, asking Buildbucket for the build status
[09:27:38.322] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:27:38.322] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:21:0) after 1m0s
[09:28:38.394] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:21:0)
[09:28:38.394] Timer tick, asking Buildbucket for the build status
[09:28:40.093] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:28:40.093] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:22:0) after 1m0s
[09:29:40.097] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:22:0)
[09:29:40.097] Timer tick, asking Buildbucket for the build status
[09:29:40.249] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:29:40.249] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:23:0) after 1m0s
[09:30:40.298] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:23:0)
[09:30:40.298] Timer tick, asking Buildbucket for the build status
[09:30:40.539] Build 8908784804045829120: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:30:40.539] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-debug-arm:9074214867875444256:24:0) after 1m0s
[09:30:47.755] Received PubSub notification, asking Buildbucket for the build status
[09:30:47.938] Build 8908784804045829120: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[09:30:47.938] Buildbucket build:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary": true,
    "canary_preference": "CANARY",
    "completed_ts": "1562319047007008",
    "created_by": "project:dart",
    "created_ts": "1562317764199102",
    "id": "8908784804045829120",
    "parameters_json": "{\"builder_name\": \"vm-ffi-android-debug-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"c1ca599353bb76a7df20097f9883360b120758bb\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@c1ca599353bb76a7df20097f9883360b120758bb\", \"title\": \"c1ca599353bb76a7df20097f9883360b120758bb\", \"url\": \"https://dart.googlesource.com/sdk/+/c1ca599353bb76a7df20097f9883360b120758bb\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"title\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"url\": \"https://dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}}",
    "project": "dart",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"c1ca599353bb76a7df20097f9883360b120758bb\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@c1ca599353bb76a7df20097f9883360b120758bb\", \"title\": \"c1ca599353bb76a7df20097f9883360b120758bb\", \"url\": \"https://dart.googlesource.com/sdk/+/c1ca599353bb76a7df20097f9883360b120758bb\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"title\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"url\": \"https://dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}]}, \"bot_id\": \"luci-dart-try-xenial-77-ugsf\", \"branch\": \"refs/heads/master\", \"buildername\": \"vm-ffi-android-debug-arm\", \"buildnumber\": 1094, \"clobber\": \"true\", \"got_revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\", \"new_workflow_enabled\": true, \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ee696f2c35087e5d0faa707364d4d93d17a2ff7f\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"swarming_module_cache_vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-77-ugsf\"], \"image\": [\"chrome-xenial-19052201-9cb74617499\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16.04\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"server_version\": [\"4363-d7153e5\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "started_ts": "1562318089909750",
    "status": "COMPLETED",
    "status_changed_ts": "1562319047414906",
    "tags": [
      "build_address:luci.dart.ci.sandbox/vm-ffi-android-debug-arm/1094",
      "builder:vm-ffi-android-debug-arm",
      "buildset:commit/git/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/ee696f2c35087e5d0faa707364d4d93d17a2ff7f",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9074214867875444256",
      "scheduler_job_id:dart/vm-ffi-android-debug-arm",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8908784804045829120/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:os:Linux",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:45da375646e0ae10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1562319047436573",
    "url": "https://ci.chromium.org/b/8908784804045829120",
    "utcnow_ts": "1562319047920381"
  }
}
[09:30:47.938] Invocation finished in 21m26.77463466s with status SUCCEEDED