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

Definition (rev cca5e2689dfd70ecc9405e1b7f6d49f169ec490f)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.webrtc.ci"
  builder: "Android32 Builder x86"
>

Incoming triggers

Incoming properties

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

Incoming tags

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

Debug log (UTC)

[22:36:20.630] New invocation is queued and will start shortly
[22:36:22.496] Starting the invocation (attempt 1)
[22:36:22.543] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[22:36:22.543] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[22:36:22.543] Buildbucket request:
{
  "bucket": "luci.webrtc.ci",
  "client_operation_id": "9075613647874697280",
  "parameters_json": "{\"builder_name\":\"Android32 Builder x86\",\"properties\":{\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"e3cc4895c26c3cc6ab901ac236ba355aa49e5c35\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:Android32 Builder x86",
    "scheduler_invocation_id:9075613647874697280",
    "scheduler_job_id:webrtc/Android32 Builder x86",
    "user_agent:luci-scheduler",
    "buildset:commit/git/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
    "buildset:commit/gitiles/webrtc.googlesource.com/src/+/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
    "gitiles_ref:refs/heads/master"
  ]
}
[22:36:23.165] Buildbucket response:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "created_by": "project:webrtc",
    "created_ts": "1560983782632753",
    "id": "8910183585101495088",
    "parameters_json": "{\"builder_name\": \"Android32 Builder x86\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"e3cc4895c26c3cc6ab901ac236ba355aa49e5c35\"}}",
    "project": "webrtc",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1560983782996815",
    "tags": [
      "build_address:luci.webrtc.ci/Android32 Builder x86/13898",
      "builder:Android32 Builder x86",
      "buildset:commit/git/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9075613647874697280",
      "scheduler_job_id:webrtc/Android32 Builder x86",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8910183585101495088/+/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": "1560983782996939",
    "url": "https://ci.chromium.org/b/8910183585101495088",
    "utcnow_ts": "1560983783126737"
  }
}
[22:36:23.165] Task URL: https://ci.chromium.org/b/8910183585101495088
[22:36:23.165] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:2:0) after 1m0s
[22:37:23.200] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:2:0)
[22:37:23.200] Timer tick, asking Buildbucket for the build status
[22:37:23.352] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:37:23.352] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:3:0) after 1m0s
[22:38:23.427] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:3:0)
[22:38:23.427] Timer tick, asking Buildbucket for the build status
[22:38:23.676] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:38:23.676] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:4:0) after 1m0s
[22:39:23.753] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:4:0)
[22:39:23.753] Timer tick, asking Buildbucket for the build status
[22:39:23.919] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:39:23.919] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:5:0) after 1m0s
[22:40:24.001] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:5:0)
[22:40:24.001] Timer tick, asking Buildbucket for the build status
[22:40:24.230] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:40:24.230] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:6:0) after 1m0s
[22:41:24.365] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:6:0)
[22:41:24.365] Timer tick, asking Buildbucket for the build status
[22:41:24.426] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:41:24.426] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:7:0) after 1m0s
[22:42:24.469] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:7:0)
[22:42:24.469] Timer tick, asking Buildbucket for the build status
[22:42:24.531] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:42:24.531] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:8:0) after 1m0s
[22:43:24.610] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:8:0)
[22:43:24.610] Timer tick, asking Buildbucket for the build status
[22:43:24.820] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:43:24.820] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:9:0) after 1m0s
[22:44:24.987] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:9:0)
[22:44:24.987] Timer tick, asking Buildbucket for the build status
[22:44:25.184] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:44:25.184] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:10:0) after 1m0s
[22:45:25.229] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:10:0)
[22:45:25.229] Timer tick, asking Buildbucket for the build status
[22:45:25.379] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:45:25.379] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:11:0) after 1m0s
[22:46:25.421] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:11:0)
[22:46:25.421] Timer tick, asking Buildbucket for the build status
[22:46:25.784] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:46:25.784] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:12:0) after 1m0s
[22:47:25.911] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:12:0)
[22:47:25.911] Timer tick, asking Buildbucket for the build status
[22:47:26.202] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:47:26.202] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:13:0) after 1m0s
[22:48:26.309] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:13:0)
[22:48:26.309] Timer tick, asking Buildbucket for the build status
[22:48:26.406] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:48:26.406] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:14:0) after 1m0s
[22:49:26.544] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:14:0)
[22:49:26.544] Timer tick, asking Buildbucket for the build status
[22:49:26.806] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:49:26.806] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:15:0) after 1m0s
[22:50:26.867] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:15:0)
[22:50:26.867] Timer tick, asking Buildbucket for the build status
[22:50:27.459] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:50:27.459] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:16:0) after 1m0s
[22:51:27.473] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:16:0)
[22:51:27.473] Timer tick, asking Buildbucket for the build status
[22:51:27.691] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:51:27.691] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:17:0) after 1m0s
[22:52:27.940] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:17:0)
[22:52:27.940] Timer tick, asking Buildbucket for the build status
[22:52:28.099] Build 8910183585101495088: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:52:28.099] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:18:0) after 1m0s
[22:52:39.547] Received PubSub notification, asking Buildbucket for the build status
[22:52:40.306] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:53:28.313] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:18:0)
[22:53:28.313] Timer tick, asking Buildbucket for the build status
[22:53:28.753] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:53:28.753] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:20:0) after 1m0s
[22:54:29.006] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:20:0)
[22:54:29.006] Timer tick, asking Buildbucket for the build status
[22:54:29.177] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:54:29.177] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:21:0) after 1m0s
[22:55:29.234] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:21:0)
[22:55:29.234] Timer tick, asking Buildbucket for the build status
[22:55:29.417] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:55:29.417] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:22:0) after 1m0s
[22:56:29.538] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:22:0)
[22:56:29.538] Timer tick, asking Buildbucket for the build status
[22:56:29.793] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:56:29.793] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:23:0) after 1m0s
[22:57:29.946] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:23:0)
[22:57:29.946] Timer tick, asking Buildbucket for the build status
[22:57:30.055] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:57:30.056] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:24:0) after 1m0s
[22:58:30.130] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:24:0)
[22:58:30.130] Timer tick, asking Buildbucket for the build status
[22:58:30.216] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:58:30.216] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:25:0) after 1m0s
[22:59:30.247] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:25:0)
[22:59:30.247] Timer tick, asking Buildbucket for the build status
[22:59:30.548] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:59:30.548] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:26:0) after 1m0s
[23:00:30.590] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:26:0)
[23:00:30.590] Timer tick, asking Buildbucket for the build status
[23:00:30.777] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:00:30.777] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:27:0) after 1m0s
[23:01:30.825] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:27:0)
[23:01:30.825] Timer tick, asking Buildbucket for the build status
[23:01:30.951] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:01:30.951] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:28:0) after 1m0s
[23:02:31.023] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:28:0)
[23:02:31.023] Timer tick, asking Buildbucket for the build status
[23:02:32.263] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:02:32.263] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:29:0) after 1m0s
[23:03:32.346] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:29:0)
[23:03:32.346] Timer tick, asking Buildbucket for the build status
[23:03:32.734] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:03:32.734] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:30:0) after 1m0s
[23:04:32.907] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:30:0)
[23:04:32.907] Timer tick, asking Buildbucket for the build status
[23:04:34.717] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:04:34.717] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:31:0) after 1m0s
[23:05:34.757] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:31:0)
[23:05:34.757] Timer tick, asking Buildbucket for the build status
[23:05:35.849] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:05:35.849] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:32:0) after 1m0s
[23:06:35.937] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:32:0)
[23:06:35.937] Timer tick, asking Buildbucket for the build status
[23:06:36.007] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:06:36.007] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:33:0) after 1m0s
[23:07:36.077] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:33:0)
[23:07:36.077] Timer tick, asking Buildbucket for the build status
[23:07:36.338] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:07:36.338] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:34:0) after 1m0s
[23:08:36.407] Handling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:34:0)
[23:08:36.407] Timer tick, asking Buildbucket for the build status
[23:08:36.612] Build 8910183585101495088: status "STARTED", result "", failure_reason "", cancelation_reason ""
[23:08:36.612] Scheduling timer "check-buildbucket-build-status" (webrtc/Android32 Builder x86:9075613647874697280:35:0) after 1m0s
[23:08:41.023] Received PubSub notification, asking Buildbucket for the build status
[23:08:41.291] Build 8910183585101495088: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[23:08:41.291] Buildbucket build:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "completed_ts": "1560985718275077",
    "created_by": "project:webrtc",
    "created_ts": "1560983782632753",
    "id": "8910183585101495088",
    "parameters_json": "{\"builder_name\": \"Android32 Builder x86\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"e3cc4895c26c3cc6ab901ac236ba355aa49e5c35\"}}",
    "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}, \"bot_id\": \"luci-webrtc-ci-xenial-9-bqpc\", \"branch\": \"refs/heads/master\", \"buildername\": \"Android32 Builder x86\", \"buildnumber\": 13898, \"got_revision\": \"e3cc4895c26c3cc6ab901ac236ba355aa49e5c35\", \"got_revision_cp\": \"refs/heads/master@{#28326}\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"e3cc4895c26c3cc6ab901ac236ba355aa49e5c35\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_cd4d33579b11e7a69084e8598c51fb3312c4dc0339897950696e4b0a59553346_v2\", \"builder_ee80cf8bba7c81fee9e980afd619ea0acf20624840b3b5e7cf3f2ef0d6b70dc4_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-9-bqpc\"], \"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\": [\"luci.webrtc.ci\"], \"python\": [\"2.7.12\"], \"server_version\": [\"4339-6285c57\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1560984758624925",
    "status": "COMPLETED",
    "status_changed_ts": "1560985719215421",
    "tags": [
      "build_address:luci.webrtc.ci/Android32 Builder x86/13898",
      "builder:Android32 Builder x86",
      "buildset:commit/git/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/e3cc4895c26c3cc6ab901ac236ba355aa49e5c35",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9075613647874697280",
      "scheduler_job_id:webrtc/Android32 Builder x86",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8910183585101495088/+/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:458ab3da15d00610",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1560985719472096",
    "url": "https://ci.chromium.org/b/8910183585101495088",
    "utcnow_ts": "1560985721204514"
  }
}
[23:08:41.291] Invocation finished in 32m20.688161822s with status SUCCEEDED