Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--integration actix-web flag causes perseus deploy to fail #125

Closed
phaleth opened this issue Feb 13, 2022 · 13 comments
Closed

--integration actix-web flag causes perseus deploy to fail #125

phaleth opened this issue Feb 13, 2022 · 13 comments
Labels
A-deployment Area: deployment C-bug Category: bug tribble-reported This issue was reported through Tribble.

Comments

@phaleth
Copy link
Contributor

phaleth commented Feb 13, 2022

Perseus 0.3.2 has a problem with actix-web integration. Seems like there is already a fix on the main branch. Mind doing a 0.3.3 patch release? Bellow is the end of the trace.

No clue how to disable the hydrate feature. I guess it's not related.

...
   Compiling zstd v0.9.2+zstd.1.5.1
   Compiling actix-http v3.0.0-beta.16
   Compiling sycamore-reactive v0.7.1
   Compiling sycamore v0.7.1
   Compiling actix-web v4.0.0-beta.15
   Compiling sycamore-router v0.7.1
   Compiling perseus v0.3.2
error: could not compile `actix-web` due to 7 previous errors
warning: build failed, waiting for other jobs to finish...
error: build failed
The command '/bin/sh -c perseus deploy --integration actix-web' returned a non-zero code: 1

The steps to reproduce this issue are as follows:

Call perseus deploy --integration actix-web

A minimum reproducible example is available at <>.

  • Hydration-related: false
  • The author is willing to attempt a fix: false
Tribble internal data

dHJpYmJsZS1yZXBvcnRlZCxDLWJ1ZyxBLWRlcGxveW1lbnQ=

@github-actions github-actions bot added A-deployment Area: deployment C-bug Category: bug tribble-reported This issue was reported through Tribble. labels Feb 13, 2022
@arctic-hen7
Copy link
Member

Ah okay. Thanks for letting me know about this, I'll try to get a patch done in the next day or so.

arctic-hen7 added a commit that referenced this issue Feb 15, 2022
@phaleth
Copy link
Contributor Author

phaleth commented Feb 15, 2022

Thanks. Locally the deployment with 0.3.3 now works, but on a VM I get error with ton of JSON during perseus deploy --integration actix-web.

Would you mind adding snoop to the perseus deploy command? I remember only build and serve have the snoop thing.

In case you wanna try bellow is the Dockerfile I use for deployment on the VM, but the thing is that locally it might not fail for you.

# get the base image
FROM rust:1.58-slim AS build

# install build dependencies
RUN apt update \
  && apt install -y --no-install-recommends lsb-release apt-transport-https \
  build-essential curl wget

# vars
ENV PERSEUS_VERSION=0.3.3 \
  EXAMPLE_SUBPATH=tiny \
  WEE_ALLOC_VERSION=0.4 \
  ESBUILD_VERSION=0.14.21 \
  BINARYEN_VERSION=105

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the src dir
RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/v${PERSEUS_VERSION} | tar -xz --strip=2 perseus-${PERSEUS_VERSION}/examples/${EXAMPLE_SUBPATH}

# go to src dir
WORKDIR /app/${EXAMPLE_SUBPATH}

# install perseus-cli
RUN cargo install perseus-cli --version $PERSEUS_VERSION

# specify deps in app config, deactivate live reloading and HSR
RUN sed -i s"/perseus = .*/perseus = { version = \"${PERSEUS_VERSION}\", default-features = false }/" ./Cargo.toml \
  && sed -i "/\[dependencies\]/a wee_alloc = \"${WEE_ALLOC_VERSION}\"" ./Cargo.toml \
  && cat ./Cargo.toml

# modify and prepend lib.rs
RUN echo '#[global_allocator] \n\
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; \n\
' | cat - ./src/lib.rs > ./src/lib.rs.tmp \
  && mv ./src/lib.rs.tmp ./src/lib.rs \
  && cat ./src/lib.rs

# clean, prep and eject app
RUN perseus clean && perseus prep && perseus eject

# adjust and append perseus config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" .perseus/Cargo.toml \
  && echo ' \n\n\
[profile.release] \n\
codegen-units = 1 \n\
opt-level = "s" \n\
lto = true ' >> .perseus/Cargo.toml \
  && cat .perseus/Cargo.toml

# single-threaded perseus CLI mode required for low memory environments
ENV PERSEUS_CLI_SEQUENTIAL=true

# deploy app
RUN perseus deploy --integration actix-web

# move example dir
RUN mv /app/${EXAMPLE_SUBPATH} /app/example

# go back to app dir
WORKDIR /app

# download and unpack esbuild
RUN curl -O https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-${ESBUILD_VERSION}.tgz \
  && tar xf esbuild-linux-64-${ESBUILD_VERSION}.tgz \
  && ./package/bin/esbuild --version

# run esbuild against bundle.js
RUN ./package/bin/esbuild ./example/pkg/dist/pkg/perseus_engine.js --minify --target=es6 --outfile=./example/pkg/dist/pkg/perseus_engine.js --allow-overwrite \
  && ls -lha ./example/pkg/dist/pkg

# download and unpack binaryen
RUN wget -nv https://github.com/WebAssembly/binaryen/releases/download/version_${BINARYEN_VERSION}/binaryen-version_${BINARYEN_VERSION}-x86_64-linux.tar.gz \
  && tar xf binaryen-version_${BINARYEN_VERSION}-x86_64-linux.tar.gz \
  && ./binaryen-version_${BINARYEN_VERSION}/bin/wasm-opt --version

# run wasm-opt against bundle.wasm
RUN ./binaryen-version_${BINARYEN_VERSION}/bin/wasm-opt -Os ./example/pkg/dist/pkg/perseus_engine_bg.wasm -o ./example/pkg/dist/pkg/perseus_engine_bg.wasm \
  && ls -lha ./example/pkg/dist/pkg

# prepare deployment image
FROM debian:stable-slim

WORKDIR /app

COPY --from=build /app/example/pkg /app/

ENV HOST=0.0.0.0

CMD ["./server"]

Note that the default-features option of Perseus doesn't seem to have any effect on the size of the bundle.wasm yet.

Also note that when perseus deploy --integration actix-web runs there is an obsolete warning about it being in beta.

@arctic-hen7
Copy link
Member

Any JSON errors observed during deployment should also occur with perseus snoop serve, and there they should be non-JSON.

Also, that warning is still needed because the new Actix Web version is still in beta. I'll remove it once it reaches v4.0.0 proper.

@phaleth
Copy link
Contributor Author

phaleth commented Feb 15, 2022

Ok, Here is the trace.

Trace
...
Step 14/26 : ENV PERSEUS_CLI_SEQUENTIAL=true
 ---> Running in 641864c1bbaa
Removing intermediate container 641864c1bbaa
 ---> fcf16c6ef7c9
Step 15/26 : RUN perseus snoop serve --integration actix-web
 ---> Running in ac2da8d1aa96
Note: the Perseus CLI is running in single-threaded mode, which is less performant on most modern systems. You can switch to multi-threaded mode by unsetting the 'PERSEUS_CLI_SEQUENTIAL' environment variable. If you've deliberately enabled single-threaded mode, you can safely ignore this.
Updating crates.io index

Downloading crates ...
Downloaded actix-web-codegen v0.5.0-rc.2
Downloaded actix-utils v3.0.0
Downloaded ahash v0.7.6
Downloaded actix-http v3.0.0-rc.2
Downloaded darling_macro v0.13.1
Downloaded futures-io v0.3.21
Downloaded local-waker v0.1.2
Downloaded wasm-bindgen-shared v0.2.79
Downloaded actix-macros v0.2.3
Downloaded wasm-bindgen-macro v0.2.79
Downloaded parking_lot v0.11.2
Downloaded firestorm v0.5.0
Downloaded signal-hook-registry v1.4.0
Downloaded mio v0.8.0
Downloaded html-escape v0.2.9
Downloaded wee_alloc v0.4.5
Downloaded utf8-width v0.1.5
Downloaded bumpalo v3.9.1
Downloaded cookie v0.16.0
Downloaded paste v1.0.6
Downloaded zstd v0.10.0+zstd.1.5.2
Downloaded wasm-bindgen-macro-support v0.2.79
Downloaded time v0.3.7
Downloaded zstd-safe v4.1.4+zstd.1.5.2
Downloaded wasm-bindgen v0.2.79
Downloaded lexical-parse-float v0.8.2
Downloaded wasm-bindgen-futures v0.4.29
Downloaded js-sys v0.3.56
Downloaded futures-executor v0.3.21
Downloaded actix-rt v2.6.0
Downloaded actix-router v0.5.0-rc.3
Downloaded time-macros v0.2.3
Downloaded static_assertions v1.1.0
Downloaded urlencoding v2.1.0
Downloaded sycamore-router v0.7.1
Downloaded sycamore-router-macro v0.7.1
Downloaded semver v1.0.5
Downloaded wasm-bindgen-backend v0.2.79
Downloaded jobserver v0.1.24
Downloaded lexical-write-integer v0.8.0
Downloaded lexical-util v0.8.1
Downloaded perseus v0.3.3
Downloaded sycamore-reactive v0.7.1
Downloaded language-tags v0.3.2
Downloaded web-sys v0.3.56
Downloaded console_error_panic_hook v0.1.7
Downloaded zstd-sys v1.6.3+zstd.1.5.2
Downloaded actix-web v4.0.0-rc.3
Downloaded http-range v0.1.5
Downloaded brotli v3.3.3
Downloaded lexical-core v0.8.2
Downloaded darling_core v0.13.1
Downloaded lexical-write-float v0.8.2
Downloaded lexical-parse-integer v0.8.0
Downloaded lexical v6.0.1
Downloaded sycamore-macro v0.7.1
Downloaded perseus-actix-web v0.3.3
Downloaded sycamore v0.7.1
Downloaded perseus-macro v0.3.3
Downloaded memory_units v0.4.0
Downloaded minimal-lexical v0.2.1
Downloaded nom v7.1.0
Downloaded futures v0.3.21
Downloaded derive_more v0.99.17
Downloaded darling v0.13.1
Downloaded brotli-decompressor v2.3.2
Downloaded async-trait v0.1.52
Downloaded actix-files v0.6.0-beta.16
Downloaded actix-codec v0.4.2
Downloaded askama_escape v0.10.2
Downloaded rustc_version v0.4.0
Downloaded parking_lot_core v0.8.5
Downloaded num_threads v0.1.3
Downloaded local-channel v0.1.2
Downloaded instant v0.1.12
Downloaded ident_case v1.0.1
Downloaded futures-macro v0.3.21
Downloaded convert_case v0.4.0
Downloaded bytestring v1.0.0
Downloaded alloc-stdlib v0.2.1
Downloaded alloc-no-stdlib v2.0.3
Downloaded actix-service v2.0.2
Downloaded actix-server v2.0.0
Compiling proc-macro2 v1.0.36
Compiling unicode-xid v0.2.2
Compiling libc v0.2.118
Compiling syn v1.0.86
Compiling cfg-if v1.0.0
Compiling version_check v0.9.4
Compiling log v0.4.14
Compiling memchr v2.4.1
Compiling autocfg v1.1.0
Compiling itoa v1.0.1
Compiling serde_derive v1.0.136
Compiling serde v1.0.136
Compiling lazy_static v1.4.0
Compiling futures-core v0.3.21
Compiling pin-project-lite v0.2.8
Compiling smallvec v1.8.0
Compiling once_cell v1.9.0
Compiling serde_json v1.0.79
Compiling wasm-bindgen-shared v0.2.79
Compiling ryu v1.0.9
Compiling bytes v1.1.0
Compiling parking_lot_core v0.8.5
Compiling futures-sink v0.3.21
Compiling scopeguard v1.1.0
Compiling bumpalo v3.9.1
Compiling futures-channel v0.3.21
Compiling fnv v1.0.7
Compiling futures-task v0.3.21
Compiling futures-util v0.3.21
Compiling static_assertions v1.1.0
Compiling wasm-bindgen v0.2.79
Compiling slab v0.4.5
Compiling futures-io v0.3.21
Compiling pin-utils v0.1.0
Compiling hashbrown v0.11.2
Compiling typenum v1.15.0
Compiling paste v1.0.6
Compiling ident_case v1.0.1
Compiling strsim v0.10.0
Compiling percent-encoding v2.1.0
Compiling utf8-width v0.1.5
Compiling crc32fast v1.3.2
Compiling zstd-safe v4.1.4+zstd.1.5.2
Compiling minimal-lexical v0.2.1
Compiling tinyvec_macros v0.1.0
Compiling local-waker v0.1.2
Compiling matches v0.1.9
Compiling alloc-no-stdlib v2.0.3
Compiling adler v1.0.2
Compiling regex-syntax v0.6.25
Compiling ppv-lite86 v0.2.16
Compiling httparse v1.6.0
Compiling async-trait v0.1.52
Compiling encoding_rs v0.8.30
Compiling convert_case v0.4.0
Compiling num_threads v0.1.3
Compiling unicode-bidi v0.3.7
Compiling bitflags v1.3.2
Compiling cpufeatures v0.2.1
Compiling mime v0.3.16
Compiling firestorm v0.5.0
Compiling time-macros v0.2.3
Compiling base64 v0.13.0
Compiling language-tags v0.3.2
Compiling fmterr v0.1.1
Compiling wee_alloc v0.4.5
Compiling urlencoding v2.1.0
Compiling httpdate v1.0.2
Compiling cfg-if v0.1.10
Compiling memory_units v0.4.0
Compiling askama_escape v0.10.2
Compiling http-range v0.1.5
Compiling instant v0.1.12
Compiling ahash v0.7.6
Compiling generic-array v0.14.5
Compiling nom v7.1.0
Compiling unicase v2.6.0
Compiling cookie v0.16.0
Compiling indexmap v1.8.0
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling miniz_oxide v0.4.4
Compiling tracing-core v0.1.22
Compiling bytestring v1.0.0
Compiling lock_api v0.4.6
Compiling http v0.2.6
Compiling lexical-util v0.8.1
Compiling html-escape v0.2.9
Compiling tinyvec v1.5.1
Compiling actix-utils v3.0.0
Compiling form_urlencoded v1.0.1
Compiling alloc-stdlib v0.2.1
Compiling tracing v0.1.30
Compiling lexical-write-integer v0.8.0
Compiling lexical-parse-integer v0.8.0
Compiling unicode-normalization v0.1.19
Compiling brotli-decompressor v2.3.2
Compiling quote v1.0.15
Compiling getrandom v0.2.4
Compiling signal-hook-registry v1.4.0
Compiling jobserver v0.1.24
Compiling time v0.1.43
Compiling time v0.3.7
Compiling socket2 v0.4.4
Compiling num_cpus v1.13.1
Compiling mio v0.7.14
Compiling mio v0.8.0
Compiling aho-corasick v0.7.18
Compiling actix-service v2.0.2
Compiling lexical-write-float v0.8.2
Compiling lexical-parse-float v0.8.2
Compiling idna v0.2.3
Compiling brotli v3.3.3
error: could not compile brotli
Caused by:
process didn't exit successfully: rustc --crate-name brotli /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/brotli-3.3.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="alloc-stdlib"' --cfg 'feature="default"' --cfg 'feature="ffi-api"' --cfg 'feature="std"' -C metadata=cb0bbf380db98e92 -C extra-filename=-cb0bbf380db98e92 --out-dir /app/tiny/.perseus/server/target/debug/deps -L dependency=/app/tiny/.perseus/server/target/debug/deps --extern alloc_no_stdlib=/app/tiny/.perseus/server/target/debug/deps/liballoc_no_stdlib-09cd98f19cff6ed2.rmeta --extern alloc_stdlib=/app/tiny/.perseus/server/target/debug/deps/liballoc_stdlib-c2745035964e80c0.rmeta --extern brotli_decompressor=/app/tiny/.perseus/server/target/debug/deps/libbrotli_decompressor-d362a27cfc3879bb.rmeta --cap-lints allow (signal: 9, SIGKILL: kill)
warning: build failed, waiting for other jobs to finish...
error: build failed
ERROR: Service 'perseus' failed to build : The command '/bin/sh -c perseus snoop serve --integration actix-web' returned a non-zero code: 101

@arctic-hen7
Copy link
Member

arctic-hen7 commented Feb 16, 2022

Hmm, that doesn't look like a Perseus related issue, it seems like there's something wrong with compiling brotli.

I can point you in the direction of maybe trying to use that crate on its own in a project you try to compile on that server? Or maybe there are some missing system dependencies?

Given that this doesn't seem to be a Perseus problem, and the original Actix Web problem is fixed, I'll close this issue, but please open another if you think the other issues you're having are Perseus-related.

@phaleth
Copy link
Contributor Author

phaleth commented Feb 17, 2022

Yeah. I'm really not sure. I'm already adding the package build-essential to the Rust docker container.

Question to you is. Was brotli part of Perseus before version 0.3? Or did it get an update maybe? I'll try older version of Rust first and then I'll see.

@phaleth
Copy link
Contributor Author

phaleth commented Feb 17, 2022

Ok, after running sudo apt update && sudo apt -y upgrade on the debian 10 docker host the brotli package succesfully compiles.

Now what does not compile is perseus-engine-server. I'll try again and prolly open a new issue regarding that one. Thank you, @arctic-hen7.

@phaleth
Copy link
Contributor Author

phaleth commented Feb 17, 2022

Turns out that only perseus snoop serve --integration actix-web fails while perseus deploy --integration actix-web runs just fine.

The above Dockerfile is still valid.

4hg9f7h89gf

@arctic-hen7
Copy link
Member

Ah! Glad it works now! That's weird about the engine server though...mind posting a trace?

@phaleth
Copy link
Contributor Author

phaleth commented Feb 18, 2022

Today, I get the same error as before.

error: could not compile brotli

I have no clue as to why would brotli compile yesterday. So, the docker build didn't get to compile perseus-engine-server cause brotli compilation happens before that.

@arctic-hen7, do you think there's any way for me or you to either lower the version of brotli or remove it completely? I don't think brotli is doing anything anyway in production. In particular, for me HAProxy does the gzipping of bundle.wasm before sending it to browser.

Trace
Step 14/26 : ENV PERSEUS_CLI_SEQUENTIAL=true
 ---> Running in 3cce4aa3bc1b
Removing intermediate container 3cce4aa3bc1b
 ---> 2bd2fb4fdf24
Step 15/26 : RUN perseus snoop serve --integration actix-web
 ---> Running in 9e206a4c2629
Note: the Perseus CLI is running in single-threaded mode, which is less performant on most modern systems. You can switch to multi-threaded mode by unsetting the 'PERSEUS_CLI_SEQUENTIAL' environment variable. If you've deliberately enabled single-threaded mode, you can safely ignore this.
Updating crates.io index

Downloading crates ...
Downloaded actix-files v0.6.0-beta.16
Downloaded bytestring v1.0.0
Downloaded actix-router v0.5.0-rc.3
Downloaded alloc-no-stdlib v2.0.3
Downloaded actix-web-codegen v0.5.0-rc.2
Downloaded futures-io v0.3.21
Downloaded semver v1.0.5
Downloaded urlencoding v2.1.0
Downloaded lexical-core v0.8.2
Downloaded lexical-write-float v0.8.2
Downloaded sycamore-router v0.7.1
Downloaded futures-macro v0.3.21
Downloaded paste v1.0.6
Downloaded zstd v0.10.0+zstd.1.5.2
Downloaded wasm-bindgen v0.2.79
Downloaded js-sys v0.3.56
Downloaded wasm-bindgen-macro v0.2.79
Downloaded wee_alloc v0.4.5
Downloaded memory_units v0.4.0
Downloaded async-trait v0.1.52
Downloaded language-tags v0.3.2
Downloaded darling v0.13.1
Downloaded firestorm v0.5.0
Downloaded nom v7.1.0
Downloaded zstd-sys v1.6.3+zstd.1.5.2
Downloaded console_error_panic_hook v0.1.7
Downloaded brotli v3.3.3
Downloaded alloc-stdlib v0.2.1
Downloaded lexical-util v0.8.1
Downloaded sycamore v0.7.1
Downloaded perseus-macro v0.3.3
Downloaded zstd-safe v4.1.4+zstd.1.5.2
Downloaded wasm-bindgen-shared v0.2.79
Downloaded time-macros v0.2.3
Downloaded wasm-bindgen-macro-support v0.2.79
Downloaded jobserver v0.1.24
Downloaded web-sys v0.3.56
Downloaded darling_core v0.13.1
Downloaded http-range v0.1.5
Downloaded cookie v0.16.0
Downloaded actix-server v2.0.0
Downloaded actix-macros v0.2.3
Downloaded actix-codec v0.4.2
Downloaded bumpalo v3.9.1
Downloaded actix-web v4.0.0-rc.3
Downloaded ahash v0.7.6
Downloaded actix-service v2.0.2
Downloaded actix-rt v2.6.0
Downloaded html-escape v0.2.9
Downloaded askama_escape v0.10.3
Downloaded actix-http v3.0.0-rc.2
Downloaded utf8-width v0.1.5
Downloaded sycamore-router-macro v0.7.1
Downloaded sycamore-reactive v0.7.1
Downloaded ident_case v1.0.1
Downloaded convert_case v0.4.0
Downloaded actix-utils v3.0.0
Downloaded wasm-bindgen-futures v0.4.29
Downloaded wasm-bindgen-backend v0.2.79
Downloaded time v0.3.7
Downloaded static_assertions v1.1.0
Downloaded minimal-lexical v0.2.1
Downloaded derive_more v0.99.17
Downloaded darling_macro v0.13.1
Downloaded futures-executor v0.3.21
Downloaded futures v0.3.21
Downloaded sycamore-macro v0.7.1
Downloaded perseus-actix-web v0.3.3
Downloaded perseus v0.3.3
Downloaded lexical-write-integer v0.8.0
Downloaded lexical-parse-integer v0.8.0
Downloaded lexical-parse-float v0.8.2
Downloaded lexical v6.0.1
Downloaded signal-hook-registry v1.4.0
Downloaded rustc_version v0.4.0
Downloaded num_threads v0.1.3
Downloaded local-waker v0.1.2
Downloaded local-channel v0.1.2
Downloaded brotli-decompressor v2.3.2
Compiling proc-macro2 v1.0.36
Compiling unicode-xid v0.2.2
Compiling syn v1.0.86
Compiling libc v0.2.118
Compiling cfg-if v1.0.0
Compiling version_check v0.9.4
Compiling log v0.4.14
Compiling memchr v2.4.1
Compiling autocfg v1.1.0
Compiling itoa v1.0.1
Compiling serde_derive v1.0.136
Compiling serde v1.0.136
Compiling lazy_static v1.4.0
Compiling pin-project-lite v0.2.8
Compiling futures-core v0.3.21
Compiling smallvec v1.8.0
Compiling once_cell v1.9.0
Compiling serde_json v1.0.79
Compiling bytes v1.1.0
Compiling wasm-bindgen-shared v0.2.79
Compiling ryu v1.0.9
Compiling futures-sink v0.3.21
Compiling parking_lot_core v0.9.1
Compiling futures-channel v0.3.21
Compiling bumpalo v3.9.1
Compiling fnv v1.0.7
Compiling futures-task v0.3.21
Compiling scopeguard v1.1.0
Compiling futures-util v0.3.21
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.21
Compiling slab v0.4.5
Compiling wasm-bindgen v0.2.79
Compiling static_assertions v1.1.0
Compiling hashbrown v0.11.2
Compiling typenum v1.15.0
Compiling paste v1.0.6
Compiling strsim v0.10.0
Compiling percent-encoding v2.1.0
Compiling ident_case v1.0.1
Compiling tinyvec_macros v0.1.0
Compiling utf8-width v0.1.5
Compiling alloc-no-stdlib v2.0.3
Compiling matches v0.1.9
Compiling minimal-lexical v0.2.1
Compiling crc32fast v1.3.2
Compiling zstd-safe v4.1.4+zstd.1.5.2
Compiling local-waker v0.1.2
Compiling ppv-lite86 v0.2.16
Compiling httparse v1.6.0
Compiling adler v1.0.2
Compiling async-trait v0.1.52
Compiling encoding_rs v0.8.30
Compiling regex-syntax v0.6.25
Compiling num_threads v0.1.3
Compiling bitflags v1.3.2
Compiling time-macros v0.2.3
Compiling unicode-bidi v0.3.7
Compiling convert_case v0.4.0
Compiling cpufeatures v0.2.1
Compiling firestorm v0.5.0
Compiling mime v0.3.16
Compiling language-tags v0.3.2
Compiling base64 v0.13.0
Compiling httpdate v1.0.2
Compiling urlencoding v2.1.0
Compiling wee_alloc v0.4.5
Compiling fmterr v0.1.1
Compiling memory_units v0.4.0
Compiling cfg-if v0.1.10
Compiling askama_escape v0.10.3
Compiling http-range v0.1.5
Compiling ahash v0.7.6
Compiling generic-array v0.14.5
Compiling nom v7.1.0
Compiling unicase v2.6.0
Compiling cookie v0.16.0
Compiling indexmap v1.8.0
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling miniz_oxide v0.4.4
Compiling tracing-core v0.1.22
Compiling bytestring v1.0.0
Compiling http v0.2.6
Compiling lock_api v0.4.6
Compiling lexical-util v0.8.1
Compiling tinyvec v1.5.1
Compiling html-escape v0.2.9
Compiling alloc-stdlib v0.2.1
Compiling form_urlencoded v1.0.1
Compiling actix-utils v3.0.0
Compiling tracing v0.1.31
Compiling lexical-write-integer v0.8.0
Compiling lexical-parse-integer v0.8.0
Compiling unicode-normalization v0.1.19
Compiling brotli-decompressor v2.3.2
Compiling quote v1.0.15
Compiling getrandom v0.2.4
Compiling signal-hook-registry v1.4.0
Compiling socket2 v0.4.4
Compiling jobserver v0.1.24
Compiling time v0.1.43
Compiling time v0.3.7
Compiling num_cpus v1.13.1
Compiling mio v0.8.0
Compiling aho-corasick v0.7.18
Compiling actix-service v2.0.2
Compiling lexical-write-float v0.8.2
Compiling lexical-parse-float v0.8.2
Compiling idna v0.2.3
Compiling brotli v3.3.3
error: could not compile brotli
Caused by:
process didn't exit successfully: rustc --crate-name brotli /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/brotli-3.3.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="alloc-stdlib"' --cfg 'feature="default"' --cfg 'feature="ffi-api"' --cfg 'feature="std"' -C metadata=cb0bbf380db98e92 -C extra-filename=-cb0bbf380db98e92 --out-dir /app/tiny/.perseus/server/target/debug/deps -L dependency=/app/tiny/.perseus/server/target/debug/deps --extern alloc_no_stdlib=/app/tiny/.perseus/server/target/debug/deps/liballoc_no_stdlib-09cd98f19cff6ed2.rmeta --extern alloc_stdlib=/app/tiny/.perseus/server/target/debug/deps/liballoc_stdlib-c2745035964e80c0.rmeta --extern brotli_decompressor=/app/tiny/.perseus/server/target/debug/deps/libbrotli_decompressor-d362a27cfc3879bb.rmeta --cap-lints allow (signal: 9, SIGKILL: kill)
warning: build failed, waiting for other jobs to finish...
error: build failed
ERROR: Service 'perseus' failed to build : The command '/bin/sh -c perseus snoop serve --integration actix-web' returned a non-zero code: 101

@arctic-hen7
Copy link
Member

Unfortunately, brotli is an indirect dependency, I have no control over it. This very much sounds like an issue with your server though, maybe some system library that's magically out of date again? Rust version perhaps?

@phaleth
Copy link
Contributor Author

phaleth commented Feb 18, 2022

Ok, cool. Then I guess I'll have to try again after I manage to upgrade the server OS to debian 11.

It's not the Rust version, you can try the Dockerfile above and it'll work fine, but don't worry about that now. Thank you.

@arctic-hen7
Copy link
Member

Yeah alright. Sorry I couldn't be of more help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-deployment Area: deployment C-bug Category: bug tribble-reported This issue was reported through Tribble.
Projects
None yet
Development

No branches or pull requests

2 participants