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.
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.
Thunder but features aren’t all there
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.
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 might be a server issue. Lemmy.world is still having performance issues and just like the picture in this post we are all seeing many errors often.
I appreciate the explanation.
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
I am quite liking liftoff. It has a slightly different layout to wefwef and you can customize it a bit if you don’t like the default colours.
@Binderfullofpizza In my opinion, Memmy is the best native app at the moment (for iOS).
Thanks I’ll give that a shot.
What’s so bad with wefwef? I’m using it righty now and enjoying it.
(Also, Memmy is another great Apollo-based app.)
I’ve seen this more times than my own family
Dad, please come back. Mom is hoarding all the meth and Beth new boyfriend isn’t even a cartel boss. He’s a an accountant for god sake ! AN ACCOUNTANT !
Dad, please come back. Mom is hoarding all the meth and Beth new boyfriend isn’t even a cartel boss. He’s a an accountant for god sake ! AN ACCOUNTANT !
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 am in the process of fixing a bug at work where pretty much every method has a try(Exception e){…}catch{LOGGER.error(…)}. The method calling my team’s method needs to know when an interrupted exception is thrown. So far I have fixed this in 10 different methods, and we keep finding more. It’s like playing whack-a-mole.
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.
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.
Actually i was trying to say similar issue
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
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?
It should display a human-readable error message instead of the raw one.
Take it as an error, tell the user about it and then retry with exponential back-off.
No, it’s probably when the app is expecting a json but the server returns an html, which usually happens in case of 502 errors.
You really shouldn’t be expecting any content type when you get any code but a 200. If anything you should expect HTML, then, possibly plain text.
If it’s Jerboa/Android app issue, why do I get JSON errors using Lemmy on my desktop PC with Firefox? Forgive me if this is a dumb question, I have very little programming knowledge.
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.
lemmy does not return 502 error codes because 502 means “bad gateway” and lemmy is not acting as a gateway, nginx is. An nginx sends the html. All apps should check the status code for codes like this one that don’t come from apps.
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.
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
just adding retries can makes the problem.even worse with the app ddosing the server
Twitter has some experience with that
true
Lemmy realy should not randomly emit errors for no reason, there should be no need for retries in this case. If the specification specifies a JSON response, and the server randomly provides HTML, that is a bug in the server.
When you get a 502 error, that’s not coming from lemmy, it’s coming from nginx. If you’re saying that nginx should send any error data along with the status in json if the accept headers require it, that’s a task for nginx but it wouldn’t happen in this case anyway since the json wouldn’t be what they were expecting anyway. The app should be handling non success responses better is the point being made here.
deleted by creator
Yeah this makes more sense than my original comment
Lemmy realy should not randomly emit errors for no reason, there should be no need for retries in this case. If the specification specifies a JSON response, and the server randomly provides HTML, that is a bug in the server.
The error is not being emitted by Lemmy though. The 502 error message is returned to the client by nginx when the Lemmy server doesn’t respond within the a certain time.
Well in that case the instance is broken.
Definitely jerboa
deleted by creator
deleted by creator
Value <html> of type java.lang.String cannot be converted to JSONObject
I’ve seen this on both Jerboa and Connect. And even just now
Lmao I got a 504 when trying to open this post
imo wefwef is the best lemmy client app for iOS/android