Skip to content
New issue

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

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

Already on GitHub? # to your account

Perseus Deploy fails to generate the app every time by following tutorial. #332

Open
strottos opened this issue Oct 26, 2024 · 5 comments
Open
Labels
A-cli Area: command line interface author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-bug Category: bug tribble-reported This issue was reported through Tribble.

Comments

@strottos
Copy link

strottos commented Oct 26, 2024

This issue is reporting a bug in the code of Perseus. Details of the scope will be available in issue labels.
The author described their issue as follows:

Every time I try and run perseus deploy of any variety it doesn't work but doesn't give much information. Firstly I'd like to know what failed and why, secondly I've followed the tutorial exactly so I'd expect it to compile. Wondering if it's some incompatibility with the latest cargo/rustc/etc maybe as I did do a rustup update recently before this, but it's the same for nightly and stable.

Output:

⢀ [1/4] 🔨 Generating your app...
⢀ [2/4] 🏗️  Building your app to Wasm...
⠠ [3/4] 📡 Building server...
    Blocking waiting for file lock on package cache
  [1/4] 🔨 Generating your app...❌
⠠ [2/4] 🏗️  Building your app to Wasm...
  [3/4] 📡 Building server...✅
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on build directory
    Finished `release` profile [optimized] target(s) in 0.20s
     Running `dist/target_engine/release/fe`
  [1/4] 🔨 Generating your app...❌
  [2/4] 🏗️  Building your app to Wasm...✅
  [3/4] 📡 Building server...✅

Exit code: 1

If I run the program it outputs I get:

thread 'main' panicked at /home/strotter/.cargo/registry/src/index.crates.io-6f17d22bba15001f/perseus-0.4.2/src/turbine/mod.rs:105:18:
you must provide your own error pages in production
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Also perceus build and perceus serve work fine.

The steps to reproduce this issue are as follows:

Simply followed the tutorial. Using Centos Linux with rustc/cargo 1.82.0,

Also happens if I use the latest code in git. Suspect it's specific to my system but the same happens in a docker ubuntu container.

A minimum reproducible example is available at .

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

dHJpYmJsZS1yZXBvcnRlZCxDLWJ1ZyxBLWNsaSxhdXRob3Itd2lsbGluZy10by1pbXBs

@github-actions github-actions bot added A-cli Area: command line interface author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-bug Category: bug tribble-reported This issue was reported through Tribble. labels Oct 26, 2024
@strottos
Copy link
Author

Actually looking into this even slightly, I see the error is coming from the following line:

            error_views: app
                .error_views
                .expect("you must provide your own error pages in production"),

Which makes it pretty clear it's something I've failed to do, however the CLI should really report what the error was and it doesn't. I think getting the CLI to output the error would be a big improvement and I would consider that sufficient for this issue.

@arctic-hen7
Copy link
Member

I think the CLI is reporting it, it's saying "you must provide your own error pages in production", and I'm pretty sure that's listed in the FAQ as well? What would have made it clearer? (Very happy to improve.)

@strottos
Copy link
Author

I don't think the CLI did report it, think that was literally the only thing from this. The error itself is actually very clear but I had to run the program itself.

@strottos
Copy link
Author

So this is the output from the CLI:
``` Finished release profile [optimized] target(s) in 0.20s
Running `dist/target_engine/release/fe`
[1/4] 🔨 Generating your app...❌

but it doesn't actually spit anything from stdout/stderr it looks like. 

@arctic-hen7
Copy link
Member

Oh I get it! Sorry, I was reading the output of the program itself. This will be to do with just stdout/stderr redirection probably, let me take a look at how we're doing this internally. In the mean time, --verbose should make this error appear.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-cli Area: command line interface author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-bug Category: bug tribble-reported This issue was reported through Tribble.
Projects
None yet
Development

No branches or pull requests

2 participants