Lemmy is written in rust, that’s a java error so the issue lies with the app you’re using not Lemmy itself (maybe)
The cause is a 502 from lemmy.
Jerboa’s handling of that error is also terrible but that’s another issue.
Memmy doesn’t do well with it either.
Of course it doesn’t bode well for the instance itself that it’s throwing so many…but it’s unclear if that’s an operator problem or a code base problem.
It could also just be a server load issue.
Lemmy.world, the community the instance is hosted on, has been having a few issues between the 0.18.1 update, and the amount of users on the platform.
Mostly the user count at this point, although things have become more stable the last few hours
Yeah, I’ve only experienced this issue when dealing with Lemmy.world. Building my own client, and I get the same issue all the time.
Is there a good Lenny app because so far wefwef hasn’t been great for me.
Jerboa or just in the browser. Honestly though most people’s issues are likely to be because they joined a huge instance which is falling over due to load. Consider making a new account on a smaller instance.
Wefwef has been the best for me so far. I’m a previous Boost for Reddit user, so I’m still waiting for their official Lemmy release and then I’ll switch.
What’s so bad with wefwef? I’m using it righty now and enjoying it.
(Also, Memmy is another great Apollo-based app.)
Liftoff is the best I’ve found so far. Waiting for Sync to come though
Same. RIP sync, long live sync!
Hopefully it doesn’t take long. These other apps aren’t bad but they aren’t great either.
I am using Memmy at the moment and it’s well decent
Can you explain why? Are you using wefwef on Android?
I’m using it on iOS and don’t get me wrong the app looks beautiful. I’m finding issues with communities not loading posts, comments or general sync issues. I have an issue where trying to reply to a comment would overlay the comments over the textfield.
I’m finding issues with communities not loading posts, comments or general sync issues.
Lemmy’s Rust code uses an ORM called Diesel that masks the SQL statements and you really have to watch the PostgreSQL server independently to verify that the SQL isn’t doing wild things like loading thousands of records when you only needed 3. Just today people are finally sharing some information out of the big servers (lemmy.world) as to what PostgreSQL side says is actually happening. Hopefully the biggest mistakes are going to get cleaned up quickly.
That sounds like a server issue. Try a smaller server
Can I change servers without changing my account?
At this time, no. This is a limitation on lemmy’s side though
You know at least it printed an error. I hate when things silently swallow errors.
I’m looking at you, Python programmers:
try: <100 lines of nonsense> except: pass
We are not savages now we use
with suppress(Exception): > 100 lines nonsense
I’ve seen this more times than my own family
Afaik this is not an error from Lemmy but from nginx, which is not able to relay the request to Lemmy and therefore returns a 502 bad gateway response. Imo this just means the servers are over capacity, so most likely a scaling/infrastructure issue.
I had a quick read of the code and it looks pretty solid to me. Not the most “enterprise” code imaginable, but definitely no code smell or quick hacking job.
I read a couple PRs and it seems like the are rejecting the more hacky stuff.
Value <html> of type java.lang.String cannot be converted to JSONObject
that’s Jerboa issue but probably because It received something from the server that it shouldn’t
No, the server gave a 502 instead of a JSON and Jerboa doesn’t handle that gracefully.
Seems like the 4 apps I use all have the same issue though which makes me wonder if it’s something in Lemmy causing the issue (not the apps).
Well, Lemmy shouldn’t 502 in the first place. That’s the root cause. The apps should handle that gracefully though, especially given how commonly Lemmy throws a 502.
deleted by creator
Is it a lemmy issue or a jerboa issue?
Serious Answer: This is a Jerboa issue. Lemmy is written in Rust. The error message is a Java error which is what native Android apps use.
I think it’s both, actually. Lemmy is often giving html where json is expected, and Jerboa isn’t handling the error well.
🤔 The server spits out html when it cannot reach the backend. So one could argue it’s a configuration issue because the admin didn’t provide enough capacity / didn’t set up a proper generic json error for backend failures.
FWIW, Liftoff doesn’t handle these super gracefully either.
At any rate I think it’s kinda awesome that we get to witness these kinds of infancy problems.
Well, what should Jerboa do? Pretend it received content?
Take it as an error, tell the user about it and then retry with exponential back-off.
It should display a human-readable error message instead of the raw one.
No, this is a lemmy issue. The API specification specifies a JSON response, and the server randomly provides HTML, this is a bug in the server. I agree that Jebora should retry in the case of a network failure (timeout, 4xx staus codes…) but it should not have to retry in a case of a server that is not folowing the standard.
I would say Lemmy issue. This is probably a default 502 internal sever error response (which I’ve been getting repeatedly from lemmy.world). Jerboa (I don’t use it btw) is only trying to parse the expected json response. Yes the app could handle the error more gracefully but if Lemmy didn’t respond with an error jerboa wouldn’t need to.
[This comment has been deleted by an automated system]
Yeah this makes more sense than my original comment
personally I’d say it’s a Jerboa thing. the app should retry loading because sometimes I refresh after this happening and it immediately loads the proper content.
with all the different instances this sort of thing has to be kept in mind
Just retry is usually a bad ideia, specially that this problem is probably an overload, just adding retries can makes the problem.even worse with the app ddosing the server