Organisationsrobur-coopocaml-h109f4a0 ()debian-12-5.3+flambda_opam-2.3

debian-12-5.3+flambda_opam-2.3

Link Copied
Code Copied

Logs

2025-07-01 10:48.11: New job: test robur-coop/ocaml-h1 https://github.com/robur-coop/ocaml-h1.git#refs/pull/8/head (09f4a04928979db7d0ae9ddf24fa45d068db81ec) (linux-x86_64:debian-12-5.3+flambda_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/robur-coop/ocaml-h1.git" && cd "ocaml-h1" && git fetch origin "refs/pull/8/head" && git reset --hard 09f4a049
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684
# debian-12-5.3+flambda_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 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 || git fetch origin master) && git reset -q --hard 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 h1.opam h1-lwt-unix.opam ./
RUN opam pin add -yn h1.dev './' && \
opam pin add -yn h1-lwt-unix.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-syntax-shims.1.0.0 ocaml-variants.5.3.0+options ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 seq.base sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.0.8 uutf.1.0.4"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y h1.dev h1-lwt-unix.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2025-07-01 10:48.11: Using cache hint "robur-coop/ocaml-h1-ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684-debian-12-5.3+flambda_opam-2.3-29ce46b7fbf20a8af4659cbc6e2e00b2"
2025-07-01 10:48.11: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684)
(comment debian-12-5.3+flambda_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 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 || git fetch origin master) && git reset -q --hard 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src h1.opam h1-lwt-unix.opam) (dst ./))
(run (network host)
(shell  "opam pin add -yn h1.dev './' && \
\nopam pin add -yn h1-lwt-unix.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-syntax-shims.1.0.0 ocaml-variants.5.3.0+options ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 seq.base sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.0.8 uutf.1.0.4")
(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 h1.dev h1-lwt-unix.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 @install @check @runtest && rm -rf _build"))
)


2025-07-01 10:48.11: Waiting for resource in pool OCluster
2025-07-01 10:48.11: Waiting for worker…
2025-07-01 10:48.11: Got resource from pool OCluster
Building on phoebe
All commits already cached
HEAD is now at 09f4a04 add Websocket.Handshake to handle headers


(from ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684)
Unable to find image 'ocaml/opam:debian-12-ocaml-5.3-flambda@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684' locally
docker.io/ocaml/opam@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684: Pulling from ocaml/opam
f5b229dd7f20: Pulling fs layer
f5b229dd7f20: Waiting
f5b229dd7f20: Verifying Checksum
f5b229dd7f20: Download complete
f5b229dd7f20: Pull complete
Digest: sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684
Status: Downloaded newer image for ocaml/opam@sha256:9e475fbf88bdaa617e51defa342ae0f448f17149fa382a1db5fe525aecb6e684
2025-07-01 10:49.21 ---> saved as "8a80ef1a11f542078d30e4165fc076ff6b28a9cb96bb84889911756c4767847f"


/: (comment debian-12-5.3+flambda_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-07-01 10:49.21 Waiting for previous build to finish cancelling
2025-07-01 10:49.22 ---> saved as "ce8a2d496fdddb1b05ac3bede5c7f10ecf9c91c16d2596508779869b6d8ee467"


/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] Initialised
2025-07-01 10:49.52 ---> saved as "9ff089c7000e4b343c6a187a768069e4c1e1426959e0239a0fc82137a05169f5"


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-62-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-01 10:49.52 ---> saved as "c16225f10dee0308dbf3d3d86eeb958c67cc857a221dbafc9f3b245cd416001d"


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-07-01 10:49.52 ---> saved as "b5a006a54db70841c7faba80c34d5c9afa1f1540bbce71bd4b5e05be29d8ad77"


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 || git fetch origin master) && git reset -q --hard 59e7a58f9d7d6cc1f4da2e23f40e7e0ac1426f77 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
bc726805e3..70ed6dc380  master     -> origin/master
59e7a58f9d Merge pull request #28012 from dkalinichenko-js/opam-publish-base.v0.17.3


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+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-07-01 10:50.16 ---> saved as "a1d224c6a82f75314622d82faefd70b016589ad87254665e3b599169df9f814c"


/src: (copy (src h1.opam h1-lwt-unix.opam) (dst ./))
2025-07-01 10:50.16 ---> saved as "80d82807112c6fb9f4cc6a947dfc21aef12da8cddf8a060f729412a2c91a69e3"


/src: (run (network host)
(shell  "opam pin add -yn h1.dev './' && \
\nopam pin add -yn h1-lwt-unix.dev './'"))
[h1.dev] synchronised (file:///src)
h1 is now pinned to file:///src (version dev)
[h1-lwt-unix.dev] synchronised (file:///src)
h1-lwt-unix is now pinned to file:///src (version dev)
2025-07-01 10:50.18 ---> saved as "8979133d8d4db17680a42c24df5b9c1c1ae6214a6081d23568cc805f8aa274a5"


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-01 10:50.19 ---> saved as "c7fc91dd29c0d3be2cbbdbab24f6e6f370a0f08516ee3d24c36c2ce55285731f"


/src: (env DEPS "alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-syntax-shims.1.0.0 ocaml-variants.5.3.0+options ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 seq.base sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.0.8 uutf.1.0.4")


/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 h1.dev h1-lwt-unix.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm-updates/main amd64 Packages.diff/Index [17.3 kB]
- Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2025-06-13-1410.14-F-2025-06-13-1410.14.pdiff [434 B]
- Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2025-06-13-1410.14-F-2025-06-13-1410.14.pdiff [434 B]
- Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [270 kB]
- Fetched 391 kB in 0s (1103 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[h1.dev] synchronised (file:///src)
[h1-lwt-unix.dev] synchronised (file:///src)


[NOTE] Package ocaml-variants is already installed (current version is 5.3.0+options).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-07-01 10:50.27 ---> saved as "23b938af86595e42573bb982f9ecdf27f019c4c7cd4596e6cd110c06dc7e9256"


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-variants is already installed (current version is 5.3.0+options).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains 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 30 packages
- install alcotest                1.9.0
- install angstrom                0.16.1
- install astring                 0.8.5
- install base                    v0.17.3
- install base-bytes              base
- install base64                  3.5.1
- install bigstringaf             0.10.0
- install cmdliner                1.3.0
- install cppo                    1.8.0
- install csexp                   1.5.2
- install dune                    3.19.1
- install dune-configurator       3.19.1
- install faraday                 0.8.2
- install faraday-lwt             0.8.2
- install faraday-lwt-unix        0.8.2
- install fmt                     0.10.0
- install httpun-types            0.2.0
- install lwt                     5.9.1
- install ocaml-syntax-shims      1.0.0
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild              0.16.1
- install ocamlfind               1.9.8
- install ocplib-endian           1.2
- install re                      1.12.0
- install seq                     base
- install sexplib0                v0.17.0
- install stdio                   v0.17.0
- install stdlib-shims            0.3.0
- install topkg                   1.0.8
- install uutf                    1.0.4


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5  (cached)
-> retrieved angstrom.0.16.1  (cached)
-> retrieved base64.3.5.1  (cached)
-> retrieved alcotest.1.9.0  (cached)
-> retrieved base.v0.17.3  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved faraday.0.8.2, faraday-lwt.0.8.2, faraday-lwt-unix.0.8.2  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved lwt.5.9.1  (cached)
-> retrieved httpun-types.0.2.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved re.1.12.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1  (cached)
-> installed cmdliner.1.3.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed astring.0.8.5
-> installed dune.3.19.1
-> installed stdlib-shims.0.3.0
-> installed csexp.1.5.2
-> installed base64.3.5.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed sexplib0.v0.17.0
-> installed re.1.12.0
-> installed ocaml-syntax-shims.1.0.0
-> installed cppo.1.8.0
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.19.1
-> installed alcotest.1.9.0
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed httpun-types.0.2.0
-> installed lwt.5.9.1
-> installed faraday-lwt.0.8.2
-> installed faraday-lwt-unix.0.8.2
-> installed base.v0.17.3
-> installed stdio.v0.17.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-01 10:51.24 ---> saved as "fc0c0c16984f629839eb18a85ca33137e94bc6c079a367420384672bae7f53a6"


/src: (copy (src .) (dst /src))
2025-07-01 10:51.24 ---> saved as "d4b379568a8965fcfc700a8cd84598da4da5e8ea1ff25adaf9113d7000ef1dcc"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/lib_test && ./test_h1.exe)
Testing `h1 unit tests'.
This run has ID `714B16AH'.


[OK]          websocket                  0   parsing ping frame.
[OK]          websocket                  1   parsing close frame.
[OK]          websocket                  2   parsing text frame.
[OK]          version                    0   compare.
[OK]          version                    1   to_string.
[OK]          method                     0   is_safe.
[OK]          method                     1   is_cacheable.
[OK]          method                     2   is_idempotent.
[OK]          iovec                      0   lengthv.
[OK]          iovec                      1   shiftv.
[OK]          iovec                      2   shiftv raises .
[OK]          headers                    0   remove.
[OK]          headers                    1   replace.
[OK]          headers                    2   CI equal.
[OK]          request                    0   parse valid.
[OK]          request                    1   parse invalid errors.
[OK]          request                    2   body length.
[OK]          response                   0   parse valid.
[OK]          response                   1   parse invalid error.
[OK]          response                   2   body length.
[OK]          client connection          0   GET.
[OK]          client connection          1   send streaming body.
[OK]          client connection          2   Response EOF.
[OK]          client connection          3   Response header order preserved.
[OK]          client connection          4   report_exn.
[OK]          client connection          5   input_shrunk.
[OK]          client connection          6   failed response parse.
[OK]          client connection          7   schedule read with data availa...
[OK]          server connection          0   initial reader state.
[OK]          server connection          1   shutdown reader closed.
[OK]          server connection          2   single GET.
[OK]          server connection          3   multiple GETs.
[OK]          server connection          4   asynchronous response.
[OK]          server connection          5   echo POST.
[OK]          server connection          6   streaming response.
[OK]          server connection          7   asynchronous streaming response.
[OK]          server connection          8   asynchronous streaming respons...
[OK]          server connection          9   empty fixed streaming response.
[OK]          server connection         10   empty chunked streaming response.
[OK]          server connection         11   connection error.
[OK]          server connection         12   synchronous error, synchronous...
[OK]          server connection         13   synchronous error, asynchronou...
[OK]          server connection         14   asynchronous error, synchronou...
[OK]          server connection         15   asynchronous error, asynchrono...
[OK]          server connection         16   error while parsing.
[OK]          server connection         17   error before read.
[OK]          server connection         18   error left unhandled.
[OK]          server connection         19   chunked encoding.
[OK]          server connection         20   chunked encoding for error.
[OK]          server connection         21   blocked write on chunked encod...
[OK]          server connection         22   body writing when socket closes.
[OK]          server connection         23   writer unexpected eof.
[OK]          server connection         24   input shrunk.
[OK]          server connection         25   failed request parse.
[OK]          server connection         26   bad request.
[OK]          server connection         27   multiple requests in single read.
[OK]          server connection         28   multiple async requests in sin...
[OK]          server connection         29   multiple requests with connect...
[OK]          server connection         30   multiple requests with eof.
[OK]          server connection         31   parse failure after checkpoint.
[OK]          server connection         32   parse failure at eof.
[OK]          server connection         33   response finished before body ...
[OK]          server connection         34   shutdown in request handler.
[OK]          server connection         35   schedule read with data availa...
[OK]          server connection         36   test upgrades.
[OK]          server connection         37   test upgrade where server does...
[OK]          server connection         38   test upgrades.
[OK]          server connection         39   test upgrade where server does...
[OK]          server connection         40   upgrade.
[OK]          server connection         41   upgrade where server does not ...
[OK]          server connection         42   upgrade with initial data.
[OK]          server connection         43   upgrade with bad body length.
[OK]          server connection         44   asynchronous upgrade.
[OK]          server connection         45   upgrade interrupted by shutdown.


Full test results in `/src/_build/default/lib_test/_build/_tests/h1 unit tests'.
Test Successful in 0.192s. 74 tests run.
2025-07-01 10:51.26 ---> saved as "9fae33914f856222f393e377221048d272dd00c836419a95286572f2223c2736"
Job succeeded
2025-07-01 10:51.26: Job succeeded