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

Definition (rev cca5e2689dfd70ecc9405e1b7f6d49f169ec490f)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.webrtc.ci"
  builder: "Linux MSan"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://webrtc.googlesource.com/src",
  "revision": "ae40e198051b7d3676d1f5edbecfdfbd83906e6b"
}

Incoming tags

  • buildset:commit/git/ae40e198051b7d3676d1f5edbecfdfbd83906e6b
  • buildset:commit/gitiles/webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[23:44:53.166] New invocation is queued and will start shortly
[23:44:54.265] Starting the invocation (attempt 1)
[23:44:54.394] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[23:44:54.394] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[23:44:54.394] Buildbucket request:
{
  "bucket": "luci.webrtc.ci",
  "client_operation_id": "9063650535993633600",
  "parameters_json": "{\"builder_name\":\"Linux MSan\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@ae40e198051b7d3676d1f5edbecfdfbd83906e6b\",\"title\":\"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\",\"url\":\"https://webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:Linux MSan",
    "scheduler_invocation_id:9063650535993633600",
    "scheduler_job_id:webrtc/Linux MSan",
    "user_agent:luci-scheduler",
    "buildset:commit/git/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
    "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
    "gitiles_ref:refs/heads/master"
  ]
}
[23:44:55.262] Buildbucket response:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "created_by": "project:webrtc",
    "created_ts": "1572392694533037",
    "id": "8898220473896087856",
    "parameters_json": "{\"builder_name\": \"Linux MSan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"title\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"url\": \"https://webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}}",
    "project": "webrtc",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1572392695056216",
    "tags": [
      "build_address:luci.webrtc.ci/Linux MSan/20526",
      "builder:Linux MSan",
      "buildset:commit/git/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9063650535993633600",
      "scheduler_job_id:webrtc/Linux MSan",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8898220473896087856/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:recipe_name:webrtc/standalone",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1572392695056364",
    "url": "https://ci.chromium.org/b/8898220473896087856",
    "utcnow_ts": "1572392695243044"
  }
}
[23:44:55.262] Task URL: https://ci.chromium.org/b/8898220473896087856
[23:44:55.262] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:2:0) after 1m0s
[23:45:55.286] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:2:0)
[23:45:55.286] Timer tick, asking Buildbucket for the build status
[23:45:55.622] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:45:55.622] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:3:0) after 1m0s
[23:46:55.639] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:3:0)
[23:46:55.639] Timer tick, asking Buildbucket for the build status
[23:46:55.753] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:46:55.753] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:4:0) after 1m0s
[23:47:55.759] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:4:0)
[23:47:55.759] Timer tick, asking Buildbucket for the build status
[23:47:55.870] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:47:55.870] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:5:0) after 1m0s
[23:48:55.916] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:5:0)
[23:48:55.916] Timer tick, asking Buildbucket for the build status
[23:48:56.044] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:48:56.044] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:6:0) after 1m0s
[23:49:56.028] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:6:0)
[23:49:56.028] Timer tick, asking Buildbucket for the build status
[23:49:56.206] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:49:56.206] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:7:0) after 1m0s
[23:50:56.348] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:7:0)
[23:50:56.348] Timer tick, asking Buildbucket for the build status
[23:50:56.761] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:50:56.761] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:8:0) after 1m0s
[23:51:57.125] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:8:0)
[23:51:57.125] Timer tick, asking Buildbucket for the build status
[23:51:57.425] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:51:57.425] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:9:0) after 1m0s
[23:52:57.841] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:9:0)
[23:52:57.841] Timer tick, asking Buildbucket for the build status
[23:52:58.022] Build 8898220473896087856: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[23:52:58.022] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:10:0) after 1m0s
[23:53:40.191] Received PubSub notification, asking Buildbucket for the build status
[23:53:40.374] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:53:58.234] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:10:0)
[23:53:58.234] Timer tick, asking Buildbucket for the build status
[23:53:58.425] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:53:58.425] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:12:0) after 1m0s
[23:54:58.447] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:12:0)
[23:54:58.447] Timer tick, asking Buildbucket for the build status
[23:54:58.571] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:54:58.571] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:13:0) after 1m0s
[23:55:58.677] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:13:0)
[23:55:58.677] Timer tick, asking Buildbucket for the build status
[23:55:59.088] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:55:59.088] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:14:0) after 1m0s
[23:56:59.097] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:14:0)
[23:56:59.097] Timer tick, asking Buildbucket for the build status
[23:56:59.199] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:56:59.199] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:15:0) after 1m0s
[23:57:59.244] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:15:0)
[23:57:59.244] Timer tick, asking Buildbucket for the build status
[23:57:59.492] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:57:59.492] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:16:0) after 1m0s
[23:58:59.555] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:16:0)
[23:58:59.555] Timer tick, asking Buildbucket for the build status
[23:58:59.891] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:58:59.891] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:17:0) after 1m0s
[23:59:59.954] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:17:0)
[23:59:59.954] Timer tick, asking Buildbucket for the build status
[00:00:00.226] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:00:00.226] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:18:0) after 1m0s
[00:01:00.282] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:18:0)
[00:01:00.282] Timer tick, asking Buildbucket for the build status
[00:01:01.351] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:01:01.351] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:19:0) after 1m0s
[00:02:01.378] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:19:0)
[00:02:01.378] Timer tick, asking Buildbucket for the build status
[00:02:01.618] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:02:01.618] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:20:0) after 1m0s
[00:03:01.645] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:20:0)
[00:03:01.645] Timer tick, asking Buildbucket for the build status
[00:03:01.755] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:03:01.755] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:21:0) after 1m0s
[00:04:01.782] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:21:0)
[00:04:01.782] Timer tick, asking Buildbucket for the build status
[00:04:02.272] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:04:02.272] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:22:0) after 1m0s
[00:05:02.310] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:22:0)
[00:05:02.310] Timer tick, asking Buildbucket for the build status
[00:05:03.686] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:05:03.686] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:23:0) after 1m0s
[00:06:03.697] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:23:0)
[00:06:03.697] Timer tick, asking Buildbucket for the build status
[00:06:03.925] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:06:03.925] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:24:0) after 1m0s
[00:07:03.959] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:24:0)
[00:07:03.959] Timer tick, asking Buildbucket for the build status
[00:07:04.279] Build 8898220473896087856: status "STARTED", result "", failure_reason "", cancelation_reason ""
[00:07:04.279] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9063650535993633600:25:0) after 1m0s
[00:07:43.686] Received PubSub notification, asking Buildbucket for the build status
[00:07:43.800] Build 8898220473896087856: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[00:07:43.800] Buildbucket build:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "completed_ts": "1572394060383508",
    "created_by": "project:webrtc",
    "created_ts": "1572392694533037",
    "id": "8898220473896087856",
    "parameters_json": "{\"builder_name\": \"Linux MSan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"title\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"url\": \"https://webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}}",
    "project": "webrtc",
    "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://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"title\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"url\": \"https://webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b\"}]}, \"bot_id\": \"luci-webrtc-ci-xenial-3-jma7\", \"branch\": \"refs/heads/master\", \"buildername\": \"Linux MSan\", \"buildnumber\": 20526, \"got_clang_revision\": \"373424-64a362e7-1\", \"got_revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"got_revision_cp\": \"refs/heads/master@{#29647}\", \"isolate_server\": \"https://isolateserver.appspot.com\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ae40e198051b7d3676d1f5edbecfdfbd83906e6b\", \"swarm_hashes\": {\"audio_decoder_unittests\": \"d49f4e324312157e9a15eb16bcc99cc0429a4023\", \"common_audio_unittests\": \"f06a49db2039f2b3d02f968d4fbe3eb1435c0ea4\", \"common_video_unittests\": \"a4105a9b9dd9ded8d3e47e40c0ccb6eabac0b56d\", \"low_bandwidth_audio_test\": \"805be9641d6bf6d73209263af4facaea17381957\", \"modules_tests\": \"4f01f1f2184940d7824ce1cc49be630d40b8f328\", \"modules_unittests\": \"79fad3b1c9dcab261c56f4ddfa0704dfb4c87195\", \"peerconnection_unittests\": \"c0b29b3b02ae064b813a666ece37495426465857\", \"rtc_media_unittests\": \"bdc86e784c73cf9511d80a44781240fdb7fd0306\", \"rtc_pc_unittests\": \"2ed6c15d48855bb62c9e689b0bba6a8ee12912ce\", \"rtc_stats_unittests\": \"ca513d1fd20e3c8051f399fb5b8dfcfbdb4a1626\", \"rtc_unittests\": \"2b2321cc12bda1c9d720555ae3b9a983c8ce439f\", \"slow_tests\": \"245c7457d33ff4dff62b05177cdcb05266f3649b\", \"system_wrappers_unittests\": \"3741794525e0c48d50be27f4e289552f0dab932d\", \"test_support_unittests\": \"dacd2b047b76091e951c0b88ce1ca684772eea7f\", \"tools_unittests\": \"04a26fe2ed09873d06f8e2ccf6a90d97cdd8f920\", \"video_engine_tests\": \"fd2f171f59386ae5faec05ff115e53376aa9e66e\", \"webrtc_nonparallel_tests\": \"8be1241779ebb9d77967fa839adef5e3c67a367a\"}}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_3ede6a545b7f5f02d8e754bf3d80550bff536ffd8cd1f0e4f2eed09fd4ce3e22_v2\", \"builder_455888f2f945b3280d12644ca1ffba1d78ccc60e6253093e09b5ed6f38897bd7_v2\", \"builder_9e79062e5d3768761821c29cf99044627265ebba18113d0281c5efcb6dd834e3_v2\", \"builder_d5629c2cf2c35ad595411a5dcfd59fde2daf263f5d0c2761858cad08923fcc47_v2\", \"builder_e13c935ebc65dc2cf0fcf9090194dc3ad0db6dbd49380f1c9a432e16039a2bfe_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gpu\": [\"none\"], \"id\": [\"luci-webrtc-ci-xenial-3-jma7\"], \"image\": [\"chrome-xenial-19102400-d35fedf5a0d\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16.04\"], \"pool\": [\"luci.webrtc.ci\"], \"python\": [\"2.7.12\"], \"server_version\": [\"4594-a77d3be\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1572393219476789",
    "status": "COMPLETED",
    "status_changed_ts": "1572394061943679",
    "tags": [
      "build_address:luci.webrtc.ci/Linux MSan/20526",
      "builder:Linux MSan",
      "buildset:commit/git/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ae40e198051b7d3676d1f5edbecfdfbd83906e6b",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9063650535993633600",
      "scheduler_job_id:webrtc/Linux MSan",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8898220473896087856/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:os:Linux",
      "swarming_tag:recipe_name:webrtc/standalone",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:4832bb1c8a6bed10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1572394061966436",
    "url": "https://ci.chromium.org/b/8898220473896087856",
    "utcnow_ts": "1572394063784793"
  }
}
[00:07:43.800] Invocation finished in 22m50.65055181s with status SUCCEEDED