2025-01-11 18:08.20: New job: test mirage/ocaml-tar https://github.com/mirage/ocaml-tar.git#refs/heads/main (0b1cabb66ac006485312d3341149fd2d27b76994) (linux-x86_64:ubuntu-24.04-4.14_opam-2.3) Base: ocaml/opam:ubuntu-24.04-ocaml-4.14@sha256:eb46fff87189d33a649cf919a7232924d86dc52e3d2c257f2ede4c429f09bbe4 Opam project build To reproduce locally: git clone --recursive "https://github.com/mirage/ocaml-tar.git" -b "main" && cd "ocaml-tar" && git reset --hard 0b1cabb6 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:ubuntu-24.04-ocaml-4.14@sha256:eb46fff87189d33a649cf919a7232924d86dc52e3d2c257f2ede4c429f09bbe4 # ubuntu-24.04-4.14_opam-2.3 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 tar.opam tar-unix.opam tar-mirage.opam tar-eio.opam ./ RUN opam pin add -yn tar.dev './' && \ opam pin add -yn tar-unix.dev './' && \ opam pin add -yn tar-mirage.dev './' && \ opam pin add -yn tar-eio.dev './' ENV DEPS="alcotest.1.8.0 alcotest-lwt.1.8.0 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 checkseum.0.5.2 cmdliner.1.3.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 decompress.1.5.3 dune.3.17.1 dune-configurator.3.17.1 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 logs.0.7.0 lwt.5.9.0 mirage-block.3.0.2 mirage-block-unix.2.14.2 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mirage-kv.6.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 optint.0.3.0 ptime.1.2.0 re.1.12.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.0.7 uri.4.4.0 uutf.1.0.3" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.3 --depext-only -y tar.dev tar-unix.dev tar-mirage.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build --only-packages=tar,tar-unix,tar-mirage @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2025-01-11 18:08.20: Using cache hint "mirage/ocaml-tar-ocaml/opam:ubuntu-24.04-ocaml-4.14@sha256:eb46fff87189d33a649cf919a7232924d86dc52e3d2c257f2ede4c429f09bbe4-ubuntu-24.04-4.14_opam-2.3-57cfd6dcc6eea35202227672c1dc8a76" 2025-01-11 18:08.20: Using OBuilder spec: ((from ocaml/opam:ubuntu-24.04-ocaml-4.14@sha256:eb46fff87189d33a649cf919a7232924d86dc52e3d2c257f2ede4c429f09bbe4) (comment ubuntu-24.04-4.14_opam-2.3) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src tar.opam tar-unix.opam tar-mirage.opam tar-eio.opam) (dst ./)) (run (network host) (shell "opam pin add -yn tar.dev './' && \ \nopam pin add -yn tar-unix.dev './' && \ \nopam pin add -yn tar-mirage.dev './' && \ \nopam pin add -yn tar-eio.dev './'")) (env DEPS "alcotest.1.8.0 alcotest-lwt.1.8.0 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 checkseum.0.5.2 cmdliner.1.3.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 decompress.1.5.3 dune.3.17.1 dune-configurator.3.17.1 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 logs.0.7.0 lwt.5.9.0 mirage-block.3.0.2 mirage-block-unix.2.14.2 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mirage-kv.6.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 optint.0.3.0 ptime.1.2.0 re.1.12.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.0.7 uri.4.4.0 uutf.1.0.3") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.3 --depext-only -y tar.dev tar-unix.dev tar-mirage.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build --only-packages=tar,tar-unix,tar-mirage @install @check @runtest && rm -rf _build")) ) 2025-01-11 18:08.20: Waiting for resource in pool OCluster 2025-01-11 21:30.06: Waiting for worker… 2025-01-11 21:30.14: Got resource from pool OCluster Building on asteria.caelum.ci.dev All commits already cached HEAD is now at 0b1cabb Merge pull request #162 from hannesm/add-main (from ocaml/opam:ubuntu-24.04-ocaml-4.14@sha256:eb46fff87189d33a649cf919a7232924d86dc52e3d2c257f2ede4c429f09bbe4) 2025-01-11 21:30.14 ---> using "4418a00c58d14373a852444c5d0e27debec5b94fb8ac07713143386fbdc20625" from cache /: (comment ubuntu-24.04-4.14_opam-2.3) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam")) 2025-01-11 21:30.14 ---> using "e66a9746f78fbc93f039786c222ce3cff56637ab2316a11b39bf54768f931125" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [y/n] y Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from file:///home/opam/opam-repository 2025-01-11 21:30.14 ---> using "78c71b59412a925e9dc360c0a57747f82bced6855b9e2e4d7bd3801130bdc0af" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-130-generic The OCaml toplevel, version 4.14.2 2.3.0 2025-01-11 21:30.14 ---> using "8b34569549b8e729e408e6952718ca02b59a104c07bff729e3e99e6db2ebe4d4" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2025-01-11 21:30.14 ---> using "9a29053d2f95c13d75131e22da8dbab9e5eee16e20c5cda71b617e024c0e0c6f" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc || git fetch origin master) && git reset -q --hard 82749c0bc5cc2afb8d47b6abd46d44554f7bf5bc && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD de786e28db..84f0fe59c5 master -> origin/master 82749c0bc5 Merge pull request #27235 from dbuenzli/erratique-maintenance-intent <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2025-01-11 21:30.14 ---> using "e714885b3e13737d1b48fef4acdef95ae46f2794abbba22f86880727c1ebb71c" from cache /src: (copy (src tar.opam tar-unix.opam tar-mirage.opam tar-eio.opam) (dst ./)) 2025-01-11 21:30.14 ---> saved as "fb0457f36a80e1ae9190367cf83983a938b41136f99253580a13119ee419dac1" /src: (run (network host) (shell "opam pin add -yn tar.dev './' && \ \nopam pin add -yn tar-unix.dev './' && \ \nopam pin add -yn tar-mirage.dev './' && \ \nopam pin add -yn tar-eio.dev './'")) [tar.dev] synchronised (file:///src) tar is now pinned to file:///src (version dev) [tar-unix.dev] synchronised (file:///src) tar-unix is now pinned to file:///src (version dev) [tar-mirage.dev] synchronised (file:///src) tar-mirage is now pinned to file:///src (version dev) [tar-eio.dev] synchronised (file:///src) tar-eio is now pinned to file:///src (version dev) 2025-01-11 21:30.21 ---> saved as "8defd2ef62eb12ac243b5f3ced969e869da72e31bf31264a29e54594789c977f" /src: (env DEPS "alcotest.1.8.0 alcotest-lwt.1.8.0 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 checkseum.0.5.2 cmdliner.1.3.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 decompress.1.5.3 dune.3.17.1 dune-configurator.3.17.1 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 logs.0.7.0 lwt.5.9.0 mirage-block.3.0.2 mirage-block-unix.2.14.2 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mirage-kv.6.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 optint.0.3.0 ptime.1.2.0 re.1.12.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.0.7 uri.4.4.0 uutf.1.0.3") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.3 --depext-only -y tar.dev tar-unix.dev tar-mirage.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] - Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease - Get:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] - Get:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] - Get:5 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [737 kB] - Get:6 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [737 kB] - Get:7 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [978 kB] - Get:8 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [15.5 kB] - Get:9 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1035 kB] - Get:10 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1263 kB] - Get:11 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [722 kB] - Fetched 5865 kB in 1s (5492 kB/s) - Reading package lists... <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [tar.dev] synchronised (no changes) [tar-mirage.dev] synchronised (no changes) [tar-unix.dev] synchronised (no changes) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package host-system-other is already installed (current version is 1). [NOTE] Package host-arch-x86_64 is already installed (current version is 1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). 2025-01-11 21:30.36 ---> saved as "df32c63da89989461662539d88cada00f393612c575ab5b0fd5a17f4d6fadd65" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package host-system-other is already installed (current version is 1). [NOTE] Package host-arch-x86_64 is already installed (current version is 1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 38 packages - install alcotest 1.8.0 - install alcotest-lwt 1.8.0 - install angstrom 0.16.1 - install astring 0.8.5 - install base-bytes base - install bigstringaf 0.10.0 - install checkseum 0.5.2 - install cmdliner 1.3.0 - install conf-linux-libc-dev 0 - install cppo 1.8.0 - install csexp 1.5.2 - install cstruct 6.2.0 - install cstruct-lwt 6.2.0 - install decompress 1.5.3 - install dune 3.17.1 - install dune-configurator 3.17.1 - install fmt 0.9.0 - install logs 0.7.0 - install lwt 5.9.0 - install mirage-block 3.0.2 - install mirage-block-unix 2.14.2 - install mirage-clock 4.2.0 - install mirage-clock-unix 4.2.0 - install mirage-kv 6.1.1 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.15.0 - install ocamlfind 1.9.6 - install ocplib-endian 1.2 - install optint 0.3.0 - install ptime 1.2.0 - install re 1.12.0 - install rresult 0.7.0 - install seq base - install stdlib-shims 0.3.0 - install stringext 1.6.0 - install topkg 1.0.7 - install uri 4.4.0 - install uutf 1.0.3 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved angstrom.0.16.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved alcotest.1.8.0, alcotest-lwt.1.8.0 (cached) -> retrieved checkseum.0.5.2 (cached) -> retrieved cmdliner.1.3.0 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved cstruct.6.2.0, cstruct-lwt.6.2.0 (cached) -> installed conf-linux-libc-dev.0 -> retrieved fmt.0.9.0 (cached) -> retrieved logs.0.7.0 (cached) -> retrieved lwt.5.9.0 (cached) -> retrieved mirage-block.3.0.2 (cached) -> retrieved decompress.1.5.3 (cached) -> retrieved mirage-block-unix.2.14.2 (cached) -> retrieved mirage-clock.4.2.0, mirage-clock-unix.4.2.0 (cached) -> retrieved mirage-kv.6.1.1 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.15.0 (cached) -> retrieved ocamlfind.1.9.6 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved optint.0.3.0 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved rresult.0.7.0 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.12.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved stringext.1.6.0 (cached) -> retrieved topkg.1.0.7 (cached) -> retrieved dune.3.17.1, dune-configurator.3.17.1 (cached) -> retrieved uri.4.4.0 (cached) -> retrieved uutf.1.0.3 (cached) -> installed cmdliner.1.3.0 -> installed ocamlbuild.0.15.0 -> installed ocamlfind.1.9.6 -> installed base-bytes.base -> installed topkg.1.0.7 -> installed rresult.0.7.0 -> installed uutf.1.0.3 -> installed fmt.0.9.0 -> installed ptime.1.2.0 -> installed astring.0.8.5 -> installed dune.3.17.1 -> installed mirage-clock.4.2.0 -> installed csexp.1.5.2 -> installed cppo.1.8.0 -> installed cstruct.6.2.0 -> installed ocaml-syntax-shims.1.0.0 -> installed optint.0.3.0 -> installed re.1.12.0 -> installed stdlib-shims.0.3.0 -> installed stringext.1.6.0 -> installed ocplib-endian.1.2 -> installed alcotest.1.8.0 -> installed dune-configurator.3.17.1 -> installed bigstringaf.0.10.0 -> installed mirage-clock-unix.4.2.0 -> installed checkseum.0.5.2 -> installed angstrom.0.16.1 -> installed decompress.1.5.3 -> installed uri.4.4.0 -> installed lwt.5.9.0 -> installed mirage-block.3.0.2 -> installed cstruct-lwt.6.2.0 -> installed mirage-kv.6.1.1 -> installed logs.0.7.0 -> installed alcotest-lwt.1.8.0 -> installed mirage-block-unix.2.14.2 Done. # To update the current shell environment, run: eval $(opam env) 2025-01-11 21:31.16 ---> saved as "c8c2689057a8ec950d0e195e1a2e2082cfda75cca0ffa2fa51ffa87e46422fa1" /src: (copy (src .) (dst /src)) 2025-01-11 21:31.17 ---> saved as "955463a4631ff18323f22d48b86b41e81cc5927dc58bab584813c00a360d7fd1" /src: (run (shell "opam exec -- dune build --only-packages=tar,tar-unix,tar-mirage @install @check @runtest && rm -rf _build")) (cd _build/default/lib_test && ./global_extended_headers_test.exe) Testing `global extended headers'. This run has ID `HXAEH23Q'. [OK] tar - pax global extended headers 0 can use pax gl... Full test results in `/src/_build/default/lib_test/_build/_tests/global extended headers'. Test Successful in 0.000s. 1 test run. (cd _build/default/lib_test && ./allocate_set_partial_test.exe) Testing `tar-allocate-set-partial'. This run has ID `V1PMLM24'. [OK] Test512 0 allocate empty file b512. [OK] Test512 1 set_partial nonexistent file b512. [OK] Test512 2 allocate is zeroed b512. [OK] Test512 3 allocate two one-byte files b512. [OK] Test512 4 allocate and set first byte b512. [OK] Test512 5 set and rename b512. [OK] Test4096 0 allocate empty file b4096. [OK] Test4096 1 set_partial nonexistent file b4096. [OK] Test4096 2 allocate is zeroed b4096. [OK] Test4096 3 allocate two one-byte files b4096. [OK] Test4096 4 allocate and set first byte b4096. [OK] Test4096 5 set and rename b4096. Full test results in `/src/_build/default/lib_test/_build/_tests/tar-allocate-set-partial'. Test Successful in 0.006s. 12 tests run. (cd _build/default/lib_test && ./parse_test.exe) Testing `parse-test'. This run has ID `55FNQ1XV'. [OK] parse_test 0 header. [OK] parse_test 1 can_read_tar. [OK] parse_test 2 can write pax headers. [OK] parse_test 3 can read @Longlink. [OK] parse_test 4 can read pax long names and links. [OK] parse_test 5 can read pax header with implicit dir... [OK] parse_test 6 can transform tars. [OK] parse_test 7 can read @LongLink with implicit dire... Full test results in `/src/_build/_tests/parse-test'. Test Successful in 0.013s. 8 tests run. (cd _build/default/lib_test && ./write_test.exe) Testing `tar-write'. This run has ID `82Q2SBYI'. [OK] Test512 0 write empty b512. [OK] Test512 1 write block size b512. [OK] Test512 2 write block size b512. [OK] Test512 3 write two blocks b512. [OK] Test512 4 write two files b512. [OK] Test512 5 write two files remove first b512. [OK] Test512 6 write two files remove second b512. [OK] Test512 7 remove odd sized file b512. [OK] Test512 8 set after remove b512. [OK] Test512 9 allocate doesn't affect tail after arch... [OK] Test512 10 allocate doesn't affect tail after arch... [OK] Test512 11 allocate doesn't affect tail after arch... [OK] Test4096 0 write empty b4096. [OK] Test4096 1 write block size b4096. [OK] Test4096 2 write block size b4096. [OK] Test4096 3 write two blocks b4096. [OK] Test4096 4 write two files b4096. [OK] Test4096 5 write two files remove first b4096. [OK] Test4096 6 write two files remove second b4096. [OK] Test4096 7 remove odd sized file b4096. [OK] Test4096 8 set after remove b4096. [OK] Test4096 9 allocate doesn't affect tail after arch... [OK] Test4096 10 allocate doesn't affect tail after arch... [OK] Test4096 11 allocate doesn't affect tail after arch... Full test results in `/src/_build/default/lib_test/_build/_tests/tar-write'. Test Successful in 0.086s. 24 tests run. 2025-01-11 21:31.18 ---> saved as "e33e390ce25a30aa466ee16fced03fc4ac12492fc9933f82cefcb814b679cd64" Job succeeded 2025-01-11 21:31.19: Job succeeded