EionRobb / pidgin-opensteamworks

Steam plugin for Pidgin/libpurple
153 stars 5 forks source link

Plugin fails silently #174

Open Klades opened 6 years ago

Klades commented 6 years ago

Running Windows 7, latest pidgin (2.12.0) and latest apparent version of the plugin (1.6.1), with steam running on the same computer. During normal use, the plugin will appear to lose connection to steam while appearing to be fine. My friends list will still be populated, and I can still attempt to send messages. However, these messages never reach anyone (and don't show up in steam itself), and any messages sent to me don't show up in pidgin (though they show up fine in steam itself). Disabling and re-enabling the account or restarting pidgin both usually fix the problem for some span of time, before it crops back up again minutes or hours later. Sometimes I also see odd message "batching", where I don't get any messages from someone for several minutes (even though they've been sending them) and then I suddenly get everything I missed at once, but this has been far less prevalent than it just stopping altogether.

EionRobb commented 6 years ago

Can you get a debug log from Help->Debug Window when it happens next?

Klades commented 6 years ago

https://drive.google.com/open?id=1foQCv3gkYWkEX3qcjmmdqrZKlhvu4ZYW Last message received through pidgin at this point was at 11:11:50, while on steam proper I got a message at 11:13. I attempted to send a message at 11:12:02 but it didn't make it to steam.

EionRobb commented 6 years ago

Well, that's a new error I've not seen before:

(11:11:53) steam: Error parsing response: <html>
<head>
<title>429 Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
</body>
</html>

After that, there's no responses from the server to the Poll request that we make (which is how we get the stream of new events, like messages, from the server).

Rate-limiting isn't a new thing on steam though, so I would have expected to see it happening more often. Does the same IP connect to multiple steam accounts or do a lot of other steam-related stuff that might cause it to be rate-limited?

Klades commented 6 years ago

As far as I know there shouldn't be anything unusual going on. The only connections I know I have to steam are through the regular steam client and pidgin on this computer, and then the steam mobile client on my phone. I'll let it run overnight with the steam client off and see if it acts up.

EionRobb commented 6 years ago

I have the same setup (desktop+pidgin+mobile) and don't get the same 429 rate limit :/

Klades commented 6 years ago

https://drive.google.com/open?id=1BTiueoBxM9gzz0MGgDBrxHe_JaT5aHmX I happened to check in on it just before this log ends and at that point it was already not working. I also ran wireshark with pidgin and steam off and it doesn't look like anything else was trying to connect to that IP, at least. I'm getting ready to try a reinstall to try to get another plugin to work (hangouts) so maybe that will cause something to occur.

Klades commented 6 years ago

I ended up completely clearing out my pidgin install, including getting rid of the .purple folder, and so far it looks like everything is... fine? I saw some 429 errors in the log but I can still send/receive. And the hangouts plugin works now too. I guess time will tell if this actually fixed it or not.

Klades commented 6 years ago

And it's back to not working again. Oddly, I can do a "search for friends" as long as that specific request doesn't hit a 429, but even though it seemed to recover from 429 errors earlier in the day, now I'm getting nothing again. A quick enable/disable in the account menu still fixes it, but it's still very temporary. I just had it last less than 30 seconds before a 429 occurred and it stopped working. Any ideas of what could be going on at all?

EionRobb commented 6 years ago

I should be adding in some retry stuff for 429's. Not sure how much work I want to do on this plugin though when there's the new steam chat to try to reverse, but we need something working in the mean time.

I'll have a look and see if it's straightforward to add a retry-on-429 and add it in if its a quickie.

EionRobb commented 6 years ago

Well, it turned out to not be as straightforward as I had hoped, but if you want to try with this dll :)

libsteam-debug.zip

Klades commented 6 years ago

This worked fine for a while, but then pidgin crashed. Like a proper windows dialog box crash. Afterwards, pidgin crashed immediately on startup until I reverted to the previous libstream dll I was using.

EionRobb commented 6 years ago

Can you supply your backtrace file from %appdata%\.purple\Pidgin.RPT?

Klades commented 6 years ago

pidgin.zip

jsnx11 commented 6 years ago

Seeing the same issues as original post. (Not new, have seen for 1+ years but didn't know about checking the debug console.)

(14:06:28) steam: Error parsing response: <html>
<head>
<title>429 Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
(13:13:28) steam: Error parsing response: <HTML><HEAD>
<TITLE>Service Unavailable</TITLE>
</HEAD><BODY>
<H1>Service Unavailable - Zero size object</H1>
The server is temporarily unable to service your request.  Please try again
later.<P>
Blorgx3 commented 6 years ago

hey ive been having this issue too with 1.6.1 and i dont know if the recent build from #173 fixed it because now pidgin is crashing every few hours and the backtrace indicates it's because of this plugin. would love to include a debug log as well but i can't get pidgin to create/write to a debug.log file in windows using the instructions on their site.

sorry about the backtraces going back to 2014, lol, just scroll to the bottom i guess. i've been transferring my .purple directory whenever i got a new computer.

also generally sorry to be a nag, i really appreciate all this unpaid labor you're doing and have already done on this. :/ pidgin.zip

Klades commented 5 years ago

I'm still getting this on and off. I saw that a change was made a few months ago with regard to rate limiting, but I don't see a build for it. Any chance we could get one, or maybe instructions for building this on Windows?