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

Crash on create, no HTTP response #241

Open
ForestJohnson opened this issue Nov 20, 2023 · 6 comments
Open

Crash on create, no HTTP response #241

ForestJohnson opened this issue Nov 20, 2023 · 6 comments

Comments

@ForestJohnson
Copy link

Describe the bug
When we try to POST a paste, we get no HTTP response from server :(

To Reproduce
Steps to reproduce the behavior:

try to post paste at https://paste.cyberia.club/

Expected behavior
HTTP error response and meaningful error log message printed

Screenshots

thread 'actix-rt|system:0|arbiter:0' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', src/endpoints/create.rs:77:41

image

Add any other context about the problem here.

its panicking on this line: https://github.com/szabodanika/microbin/blob/master/src/endpoints/create.rs#L77

@reeseovine
Copy link

^ The microbin server is version 2.0.4 and managed with docker-compose.

@ForestJohnson
Copy link
Author

please wait.......

image

@ForestJohnson
Copy link
Author

ForestJohnson commented Nov 22, 2023

Here is my chat log from how i figured out how to workaround this bug:

https://picopublish.sequentialread.com/files/matrix_export_microbin_debug/

The jist is, deleting the previous database json file seemed to fix it:

mv /var/lib/docker/volumes/microbin_microbin-data/_data/database.json /var/lib/docker/volumes/microbin_microbin-data/_data/database_backup.json

and then restarting microbin.

I don't want to post the database_backup.json publicly but I will say I did do some basic analysis on it using jq and it looks legit afaik:

database_backup.json is the original one that caused it to crash, presumably from a different microbin version.

database.json is the new one it created just now, where I was able to paste a single new pasta 🍝

$ cat /var/lib/docker/volumes/microbin_microbin-data/_data/database.json | jq keys
[
  0
]
$ cat /var/lib/docker/volumes/microbin_microbin-data/_data/database_backup.json | jq keys
[
  0,
  1,
  2,
  3,
  4
]
$ cat /var/lib/docker/volumes/microbin_microbin-data/_data/database.json | jq '.[0] | keys'
[
  "burn_after_reads",
  "content",
  "created",
  "editable",
  "encrypt_client",
  "encrypt_server",
  "encrypted_key",
  "expiration",
  "extension",
  "file",
  "id",
  "last_read",
  "pasta_type",
  "private",
  "read_count",
  "readonly"
]
$ cat /var/lib/docker/volumes/microbin_microbin-data/_data/database_backup.json | jq '.[0] | keys'
[
  "burn_after_reads",
  "content",
  "created",
  "editable",
  "encrypt_client",
  "encrypt_server",
  "encrypted_key",
  "expiration",
  "extension",
  "file",
  "id",
  "last_read",
  "pasta_type",
  "private",
  "read_count",
  "readonly"
]
$ ls -lah /var/lib/docker/volumes/microbin_microbin-data/_data/
total 56K
drwxr-xr-x 3 root root 4.0K Nov 22 21:17 .
drwx-----x 3 root root 4.0K Jan  5  2023 ..
-rw-r--r-- 1 root root  307 Nov 22 21:18 database.json
-rw-r--r-- 1 root root  37K Nov 20 18:17 database_backup.json

@ForestJohnson
Copy link
Author

@szabodanika if you would like I would be willing to share database_backup.json with you privately so you can reproduce the issue, just let me know 👍 thanks for making this nice software :)

@ForestJohnson
Copy link
Author

Just a thought, maybe the app should try to load the DB when it starts up, and if it can't, then it should fail to start and print a helpful error message.

@verymilan
Copy link

+1 for that issue, happened here after a few months as well. a restart appears to be a temp workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants