[13:20:11.219] New invocation is queued and will start shortly
[13:20:12.807] Starting the invocation (attempt 1)
[13:20:12.858] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[13:20:12.858] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[13:20:12.858] Buildbucket request:
{
"bucket": "luci.webrtc.ci",
"client_operation_id": "9055989096518097536",
"parameters_json": "{\"builder_name\":\"Linux Asan\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@33aaa35d54163a94912e4e58bcb55b61ffcf53a0\",\"title\":\"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\",\"url\":\"https://webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}}",
"pubsub_callback": {
"auth_token": "...",
"topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
},
"tags": [
"builder:Linux Asan",
"scheduler_invocation_id:9055989096518097536",
"scheduler_job_id:webrtc/Linux Asan",
"user_agent:luci-scheduler",
"buildset:commit/git/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"gitiles_ref:refs/heads/master"
]
}
[13:20:14.076] Buildbucket response:
{
"build": {
"bucket": "luci.webrtc.ci",
"canary_preference": "PROD",
"created_by": "project:webrtc",
"created_ts": "1579699213393684",
"id": "8890559033575355728",
"parameters_json": "{\"builder_name\": \"Linux Asan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"title\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"url\": \"https://webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}}",
"project": "webrtc",
"result_details_json": "{\"properties\": {}}",
"service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
"status": "SCHEDULED",
"status_changed_ts": "1579699213817966",
"tags": [
"build_address:luci.webrtc.ci/Linux Asan/22814",
"builder:Linux Asan",
"buildset:commit/git/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9055989096518097536",
"scheduler_job_id:webrtc/Linux Asan",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8890559033575355728/+/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": "1579699213818192",
"url": "https://ci.chromium.org/b/8890559033575355728",
"utcnow_ts": "1579699214057184"
}
}
[13:20:14.077] Task URL: https://ci.chromium.org/b/8890559033575355728
[13:20:14.077] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:2:0) after 1m0s
[13:21:14.063] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:2:0)
[13:21:14.063] Timer tick, asking Buildbucket for the build status
[13:21:14.215] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:21:14.215] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:3:0) after 1m0s
[13:22:14.236] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:3:0)
[13:22:14.236] Timer tick, asking Buildbucket for the build status
[13:22:14.314] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:22:14.314] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:4:0) after 1m0s
[13:23:14.368] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:4:0)
[13:23:14.368] Timer tick, asking Buildbucket for the build status
[13:23:14.527] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:23:14.527] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:5:0) after 1m0s
[13:24:14.590] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:5:0)
[13:24:14.590] Timer tick, asking Buildbucket for the build status
[13:24:15.020] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:24:15.020] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:6:0) after 1m0s
[13:25:15.045] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:6:0)
[13:25:15.045] Timer tick, asking Buildbucket for the build status
[13:25:15.167] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:25:15.167] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:7:0) after 1m0s
[13:26:15.226] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:7:0)
[13:26:15.226] Timer tick, asking Buildbucket for the build status
[13:26:15.318] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:26:15.318] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:8:0) after 1m0s
[13:27:15.488] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:8:0)
[13:27:15.488] Timer tick, asking Buildbucket for the build status
[13:27:15.954] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:27:15.954] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:9:0) after 1m0s
[13:28:16.003] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:9:0)
[13:28:16.003] Timer tick, asking Buildbucket for the build status
[13:28:16.130] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:28:16.131] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:10:0) after 1m0s
[13:29:16.149] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:10:0)
[13:29:16.149] Timer tick, asking Buildbucket for the build status
[13:29:16.942] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:29:16.942] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:11:0) after 1m0s
[13:30:16.953] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:11:0)
[13:30:16.953] Timer tick, asking Buildbucket for the build status
[13:30:17.365] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:30:17.365] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:12:0) after 1m0s
[13:31:17.388] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:12:0)
[13:31:17.388] Timer tick, asking Buildbucket for the build status
[13:31:17.720] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:31:17.720] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:13:0) after 1m0s
[13:32:17.756] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:13:0)
[13:32:17.756] Timer tick, asking Buildbucket for the build status
[13:32:17.885] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:32:17.885] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:14:0) after 1m0s
[13:33:17.904] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:14:0)
[13:33:17.904] Timer tick, asking Buildbucket for the build status
[13:33:18.062] Build 8890559033575355728: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:33:18.062] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:15:0) after 1m0s
[13:33:43.038] Received PubSub notification, asking Buildbucket for the build status
[13:33:43.351] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:34:18.081] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:15:0)
[13:34:18.081] Timer tick, asking Buildbucket for the build status
[13:34:18.356] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:34:18.356] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:17:0) after 1m0s
[13:35:18.378] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:17:0)
[13:35:18.378] Timer tick, asking Buildbucket for the build status
[13:35:18.466] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:35:18.466] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:18:0) after 1m0s
[13:36:18.489] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:18:0)
[13:36:18.489] Timer tick, asking Buildbucket for the build status
[13:36:18.658] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:36:18.658] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:19:0) after 1m0s
[13:37:18.707] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:19:0)
[13:37:18.707] Timer tick, asking Buildbucket for the build status
[13:37:18.839] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:37:18.839] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:20:0) after 1m0s
[13:38:18.836] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:20:0)
[13:38:18.836] Timer tick, asking Buildbucket for the build status
[13:38:19.499] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:38:19.499] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:21:0) after 1m0s
[13:39:19.571] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:21:0)
[13:39:19.571] Timer tick, asking Buildbucket for the build status
[13:39:19.742] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:39:19.742] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:22:0) after 1m0s
[13:40:19.767] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:22:0)
[13:40:19.767] Timer tick, asking Buildbucket for the build status
[13:40:20.013] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:40:20.013] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:23:0) after 1m0s
[13:41:20.049] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:23:0)
[13:41:20.049] Timer tick, asking Buildbucket for the build status
[13:41:20.523] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:41:20.523] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:24:0) after 1m0s
[13:42:20.628] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:24:0)
[13:42:20.628] Timer tick, asking Buildbucket for the build status
[13:42:20.747] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:42:20.747] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:25:0) after 1m0s
[13:43:20.835] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:25:0)
[13:43:20.835] Timer tick, asking Buildbucket for the build status
[13:43:21.191] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:43:21.191] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:26:0) after 1m0s
[13:44:21.230] Handling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:26:0)
[13:44:21.230] Timer tick, asking Buildbucket for the build status
[13:44:21.696] Build 8890559033575355728: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:44:21.696] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux Asan:9055989096518097536:27:0) after 1m0s
[13:45:04.621] Received PubSub notification, asking Buildbucket for the build status
[13:45:04.678] Build 8890559033575355728: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[13:45:04.678] Buildbucket build:
{
"build": {
"bucket": "luci.webrtc.ci",
"canary_preference": "PROD",
"completed_ts": "1579700703394290",
"created_by": "project:webrtc",
"created_ts": "1579699213393684",
"id": "8890559033575355728",
"parameters_json": "{\"builder_name\": \"Linux Asan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"title\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"url\": \"https://webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}}",
"project": "webrtc",
"result": "SUCCESS",
"result_details_json": "{\"properties\": {\"$build/goma\": {\"rpc_extra_params\": \"?prod\", \"server_host\": \"goma.chromium.org\"}, \"$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\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"title\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"url\": \"https://webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0\"}]}, \"bot_id\": \"luci-webrtc-ci-xenial-1-jbwz\", \"branch\": \"refs/heads/master\", \"buildername\": \"Linux Asan\", \"buildnumber\": 22814, \"got_clang_revision\": \"n332890-c2443155-1\", \"got_revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"got_revision_cp\": \"refs/heads/master@{#30345}\", \"isolate_server\": \"https://isolateserver.appspot.com\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"33aaa35d54163a94912e4e58bcb55b61ffcf53a0\", \"swarm_hashes\": {\"audio_decoder_unittests\": \"bcc4a1500b5a37a98943a5053b20e02bfba12a49\", \"common_audio_unittests\": \"62e51a84bf3baa4efbceb8c618a8956e28c83c87\", \"common_video_unittests\": \"7b4bb16102bbbb3b3f2c0402297cdfe150c5bb3b\", \"low_bandwidth_audio_test\": \"769c27b2d153fac1a439d77b92bcc0bf8d3491dd\", \"modules_tests\": \"59d6ba27c965b99005b85c6af6872316b87d2635\", \"modules_unittests\": \"df82b7ec1b6235d6a59d18e484a468a50e526f07\", \"peerconnection_unittests\": \"40e1e8e35676836a14740f918e39b849c2b5dee6\", \"rtc_media_unittests\": \"736f0cbbec902da3f6230eb4081f787d53db5bc4\", \"rtc_pc_unittests\": \"344cde9230ed927f8aff7778fe0ee034fbfa43d2\", \"rtc_stats_unittests\": \"4f7aed12bf8f781ae63c8de642a3f2e565af76db\", \"rtc_unittests\": \"6372ce9dc450abe5da9c4af350e886b149fbd81e\", \"slow_tests\": \"bc71ad8b326a25cad9a5bd61d32badb120dc6152\", \"system_wrappers_unittests\": \"edb02ab2d970351e5a561df00b1e568a9895e93e\", \"test_support_unittests\": \"441968554bd7aefbf76371dc7eff16ec00fd4360\", \"tools_unittests\": \"603163dfd8d063f3adb7c33673c653e73e442b00\", \"video_engine_tests\": \"7d380679ef47f36fca3300b1dd9ddc8fb594d085\", \"webrtc_nonparallel_tests\": \"9c82a433bbb9cbf27e5c3726f32bd4461ac98599\"}}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_0b9ea9fa64bf0cd9c46059730b1bdd1d12ff6500ce62c56e48fe9cca98bdf248_v2\", \"builder_236ad0e06710bb1aa723bf85e2819a73a68bd90c872fb4d36ce08423aaad3728_v2\", \"builder_81b0626a7d0917732ec83f6c2db3e335641e8b10d4b942186c5fc902ad65c830_v2\", \"builder_cdf9911d0fb982b144366a069b820bab2cbe2663c4d5f6cc5be539135cc71a3a_v2\", \"builder_ee30cfe615ad79242c90cf868fc3e32771e3342e63241239745f710a5c60d840_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"webrtc-ci\"], \"gpu\": [\"none\"], \"id\": [\"luci-webrtc-ci-xenial-1-jbwz\"], \"image\": [\"chrome-xenial-20011200-47b90f1b63b\"], \"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\": [\"4792-2014df3\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
"service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
"started_ts": "1579700022153875",
"status": "COMPLETED",
"status_changed_ts": "1579700703805848",
"tags": [
"build_address:luci.webrtc.ci/Linux Asan/22814",
"builder:Linux Asan",
"buildset:commit/git/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/33aaa35d54163a94912e4e58bcb55b61ffcf53a0",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9055989096518097536",
"scheduler_job_id:webrtc/Linux Asan",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8890559033575355728/+/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:49e63a9f7f142210",
"user_agent:luci-scheduler"
],
"updated_ts": "1579700703856845",
"url": "https://ci.chromium.org/b/8890559033575355728",
"utcnow_ts": "1579700704671555"
}
}
[13:45:04.678] Invocation finished in 24m53.475166676s with status SUCCEEDED