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

Definition (rev 840fc1d7a17d9f663eedc70c67b8fdf31f8eb475)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.dart.ci.sandbox"
  builder: "analyzer-analysis-server-linux"
>

Incoming triggers

Incoming properties

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

Incoming tags

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

Debug log (UTC)

[11:00:42.766] New invocation is queued and will start shortly
[11:00:44.367] Starting the invocation (attempt 1)
[11:00:44.418] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[11:00:44.418] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[11:00:44.418] Buildbucket request:
{
  "bucket": "luci.dart.ci.sandbox",
  "client_operation_id": "9062339659127989776",
  "parameters_json": "{\"builder_name\":\"analyzer-analysis-server-linux\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@cd22f16f0bd910c9d02fe7f8c3b45407fa962960\",\"title\":\"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\",\"url\":\"https://dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:analyzer-analysis-server-linux",
    "scheduler_invocation_id:9062339659127989776",
    "scheduler_job_id:dart/analyzer-analysis-server-linux",
    "user_agent:luci-scheduler",
    "buildset:commit/git/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
    "buildset:commit/gitiles/dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
    "gitiles_ref:refs/heads/master"
  ]
}
[11:00:45.812] Buildbucket response:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "PROD",
    "created_by": "project:dart",
    "created_ts": "1573642844603442",
    "id": "8896909596536155584",
    "parameters_json": "{\"builder_name\": \"analyzer-analysis-server-linux\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"title\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"url\": \"https://dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}}",
    "project": "dart",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1573642845362496",
    "tags": [
      "build_address:luci.dart.ci.sandbox/analyzer-analysis-server-linux/9069",
      "builder:analyzer-analysis-server-linux",
      "buildset:commit/git/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9062339659127989776",
      "scheduler_job_id:dart/analyzer-analysis-server-linux",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8896909596536155584/+/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": "1573642845362605",
    "url": "https://ci.chromium.org/b/8896909596536155584",
    "utcnow_ts": "1573642845742984"
  }
}
[11:00:45.812] Task URL: https://ci.chromium.org/b/8896909596536155584
[11:00:45.812] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:2:0) after 1m0s
[11:01:45.866] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:2:0)
[11:01:45.866] Timer tick, asking Buildbucket for the build status
[11:01:47.156] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:01:47.156] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:3:0) after 1m0s
[11:02:47.218] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:3:0)
[11:02:47.218] Timer tick, asking Buildbucket for the build status
[11:02:47.512] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:02:47.512] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:4:0) after 1m0s
[11:03:47.718] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:4:0)
[11:03:47.718] Timer tick, asking Buildbucket for the build status
[11:03:48.733] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:03:48.733] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:5:0) after 1m0s
[11:04:48.830] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:5:0)
[11:04:48.830] Timer tick, asking Buildbucket for the build status
[11:04:51.083] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:04:51.083] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:6:0) after 1m0s
[11:05:51.641] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:6:0)
[11:05:51.641] Timer tick, asking Buildbucket for the build status
[11:05:51.843] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:05:51.843] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:7:0) after 1m0s
[11:06:52.119] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:7:0)
[11:06:52.119] Timer tick, asking Buildbucket for the build status
[11:06:52.348] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:06:52.348] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:8:0) after 1m0s
[11:07:52.376] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:8:0)
[11:07:52.376] Timer tick, asking Buildbucket for the build status
[11:07:54.328] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:07:54.328] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:9:0) after 1m0s
[11:08:54.351] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:9:0)
[11:08:54.351] Timer tick, asking Buildbucket for the build status
[11:08:54.631] Build 8896909596536155584: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[11:08:54.631] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:10:0) after 1m0s
[11:09:05.144] Received PubSub notification, asking Buildbucket for the build status
[11:09:05.720] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:09:54.652] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:10:0)
[11:09:54.652] Timer tick, asking Buildbucket for the build status
[11:09:55.584] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:09:55.584] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:12:0) after 1m0s
[11:10:55.668] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:12:0)
[11:10:55.668] Timer tick, asking Buildbucket for the build status
[11:10:56.611] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:10:56.611] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:13:0) after 1m0s
[11:11:56.755] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:13:0)
[11:11:56.755] Timer tick, asking Buildbucket for the build status
[11:11:57.158] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:11:57.158] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:14:0) after 1m0s
[11:12:57.272] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:14:0)
[11:12:57.272] Timer tick, asking Buildbucket for the build status
[11:12:57.536] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:12:57.537] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:15:0) after 1m0s
[11:13:57.713] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:15:0)
[11:13:57.713] Timer tick, asking Buildbucket for the build status
[11:13:58.210] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:13:58.210] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:16:0) after 1m0s
[11:14:58.319] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:16:0)
[11:14:58.319] Timer tick, asking Buildbucket for the build status
[11:14:58.631] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:14:58.631] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:17:0) after 1m0s
[11:15:58.652] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:17:0)
[11:15:58.652] Timer tick, asking Buildbucket for the build status
[11:15:59.615] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:15:59.615] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:18:0) after 1m0s
[11:16:59.663] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:18:0)
[11:16:59.663] Timer tick, asking Buildbucket for the build status
[11:17:00.257] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:17:00.257] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:19:0) after 1m0s
[11:18:00.288] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:19:0)
[11:18:00.288] Timer tick, asking Buildbucket for the build status
[11:18:00.509] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:18:00.509] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:20:0) after 1m0s
[11:19:00.603] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:20:0)
[11:19:00.603] Timer tick, asking Buildbucket for the build status
[11:19:00.773] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:19:00.773] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:21:0) after 1m0s
[11:20:00.895] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:21:0)
[11:20:00.895] Timer tick, asking Buildbucket for the build status
[11:20:01.340] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:20:01.340] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:22:0) after 1m0s
[11:21:01.414] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:22:0)
[11:21:01.414] Timer tick, asking Buildbucket for the build status
[11:21:01.704] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:21:01.704] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:23:0) after 1m0s
[11:22:01.729] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:23:0)
[11:22:01.729] Timer tick, asking Buildbucket for the build status
[11:22:01.871] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:22:01.871] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:24:0) after 1m0s
[11:23:01.900] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:24:0)
[11:23:01.900] Timer tick, asking Buildbucket for the build status
[11:23:02.096] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:23:02.096] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:25:0) after 1m0s
[11:24:02.156] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:25:0)
[11:24:02.156] Timer tick, asking Buildbucket for the build status
[11:24:02.723] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:24:02.723] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:26:0) after 1m0s
[11:25:02.770] Handling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:26:0)
[11:25:02.770] Timer tick, asking Buildbucket for the build status
[11:25:03.808] Build 8896909596536155584: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:25:03.808] Scheduling timer "check-buildbucket-build-status" (dart/analyzer-analysis-server-linux:9062339659127989776:27:0) after 1m0s
[11:25:04.874] Received PubSub notification, asking Buildbucket for the build status
[11:25:05.459] Build 8896909596536155584: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[11:25:05.459] Buildbucket build:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "PROD",
    "completed_ts": "1573644304219374",
    "created_by": "project:dart",
    "created_ts": "1573642844603442",
    "id": "8896909596536155584",
    "parameters_json": "{\"builder_name\": \"analyzer-analysis-server-linux\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"title\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"url\": \"https://dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}}",
    "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\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"title\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"url\": \"https://dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}]}, \"bot_id\": \"luci-dart-try-xenial-26-8750\", \"branch\": \"refs/heads/master\", \"buildername\": \"analyzer-analysis-server-linux\", \"buildnumber\": 9069, \"clobber\": \"true\", \"got_revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\", \"new_workflow_enabled\": true, \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"cd22f16f0bd910c9d02fe7f8c3b45407fa962960\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_13eddc83ceddd09c8e67e0b7bf8bb3a132bac13962e52c6d1b1b73e9f43fc6bd_v2\", \"builder_2a98a8b518ca4a18ae82ffedef2eea93c4a884abc1d231637aa846a898cf2599_v2\", \"builder_6c7694be62530312549608e9d9f54f1be67378e128f8af72bc6de1353d411aac_v2\", \"builder_c762dd9ce592b3c0de5905eac1695e5c33a5cbbb648bd52fabdb48f7948d9041_v2\", \"builder_d9afc272cea55efebacbb1b0e6d30bdc11e05602c27eb52ed561a0c06ddbb70b_v2\", \"builder_e13f4302820d9262fb21c7c0dbc470fc3f63b30e43224495de56520c8aea703c_v2\", \"builder_eacc67309ae3b68937e651fd3f620b95a085e5bcb649792924af557ac983d18c_v2\", \"git\", \"goma_v2\", \"swarming_module_cache_vpython\", \"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-26-8750\"], \"image\": [\"chrome-xenial-19111101-9a63619e779\"], \"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\": [\"4628-14f2294\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "started_ts": "1573643344287922",
    "status": "COMPLETED",
    "status_changed_ts": "1573644304532393",
    "tags": [
      "build_address:luci.dart.ci.sandbox/analyzer-analysis-server-linux/9069",
      "builder:analyzer-analysis-server-linux",
      "buildset:commit/git/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/cd22f16f0bd910c9d02fe7f8c3b45407fa962960",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9062339659127989776",
      "scheduler_job_id:dart/analyzer-analysis-server-linux",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8896909596536155584/+/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:487d3dfee0031e10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1573644304542261",
    "url": "https://ci.chromium.org/b/8896909596536155584",
    "utcnow_ts": "1573644305443318"
  }
}
[11:25:05.459] Invocation finished in 24m22.711999532s with status SUCCEEDED