Comments (5)
bitlbee-discord also has a lot of debug messages when BITLBEE_DEBUG env var is set, so running biltlbee like BITLBEE_DEBUG=1 bitlbee -Dnv
might give you a better idea of what is going on at the time of timeout. It might be so that doing 130 requests in a loop is enough slowdown to trigger a timeout. In that case the fix will need to be on bitlbee's side but I am not sure whether it will be worth it as that many joined channels is hardly a normal usecase, I think most users don't use bitlbee-discord in auto_join mode and only add a couple of dozens channels they are interested in.
from bitlbee-discord.
Thanks for the writeup. I wonder where exactly it get's stuck. bitlbee-discord only calls discord_http_get_backlog() on channel join. Now the joins are handled by bitlbee itself in irc_channel_auto_joins() and that is a tight loop, but discord_http_get_backlog() only sends a request and handles the reply in a callback so it should not be blocking, I think.
from bitlbee-discord.
Hmm, good question. I didn't see any obvious blocking either, though I didn't look thoroughly.
From a combination of the Bitlbee wiki and an Internet search, it looks like I might be able to run something likeβ¦
sudo --user bitlbee valgrind --log-file=valgrind.log --tool=callgrind bitlbee -Dnv
Or using perf
, perhaps:
sudo --user bitlbee perf record bitlbee -Dnv
I'll try to test this soon (part of this comment is a note to myself). I'm wondering if it's possible to recreate this more easily by artificially slowing network requests, or if my assumption is off base (it might not be network related).
from bitlbee-discord.
Good news-ish - I'm able to re-enable backlog fetching now that I actually need it after recent Discord changes to reset passwords of accounts using bitlbee-discord
/etc. There's a bunch of 403 errors, but I always had that, so maybe it partially fetches..?
I'm not sure if we should close this issue for now - I could always re-open it later?
from bitlbee-discord.
I haven't been able to recreate this issue in day-to-day use for the past few months, so I think I can just close this.
Feel free to re-open (or others ask me to re-open) if others run into it!
from bitlbee-discord.
Related Issues (20)
- Add variable auto_join_whitelist ?
- discord - Login error: Connection timeout HOT 2
- Https links appear in the wrong query HOT 1
- Embeds not showing
- Using CFLAGS and LDFLAGS on command line to find bitlbee includes and libs HOT 6
- Threads support HOT 3
- Login in is broken with glib2 >2.68 HOT 11
- Failed to switch to websocket mode HOT 2
- token location described in README out of date HOT 3
- Status aliases broken - "/away DND - some text" works, "/away Busy - some text" does not HOT 4
- Will bitlbee-discord work with a big account? HOT 3
- No incoming messages HOT 7
- Provide way to manually request backlog HOT 3
- Seeing own messages after change to new usernames HOT 1
- joining a discord channel doesn't show anyone else messages HOT 1
- Crashes on discord_parse_message
- discord - Login error: Failed to switch to websocket mode (and 400 bad request from cloudflare) HOT 3
- Add support for turning custom stickers into URLs (e.g. larger custom emoji)
- All requests result in 403 errors in sessions after account is added
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bitlbee-discord.