Comments (3)
Tips for fixing:
- Interesting, so this one seems like it might be due to us having unclean socket shutdown code when the incoming socket terminates before generating the response.
- Specifically, it seems like we're calling
onPortRequestComplete()
on a socket that had already been closed. - That happens here
- Now, we try to cancel commands queued by sockets that die. However, there is a complex edge case here where we are actively processing a command at the time the socket dies.
- It seems like normal Bedrock handles this case fine with this line which confirms the socket exists before delivering a response
- However, it looks like there is no corresponding check here.
- To fix I'd suggest adding
if (s)
inside theif (plugin)
check, with some helpful warning message likeSWARN("Cannot deliver response from plugin
" << plugin->getName() << "' for request '" << response["request.methodLine"] << "' #" << requestCount)`
Any volunteers?
from bedrock.
FYI, added an Upwork project here if anybody wants to fix this and earn a quick $500: https://www.upwork.com/jobs/~0117b61ddf80095260
from bedrock.
This should be fixed in HEAD; reassigning to @righdforsa until deployed.
from bedrock.
Related Issues (20)
- Failed to open TCP port 'localhost:9999': couldn't bind(errno=98 'Address already in use') HOT 2
- Failed to open TCP port 'localhost:3306': couldn't bind(errno=98 'Address already in use') HOT 2
- yaourt is no longer maintaned, should be replaced in the installation guide
- Formal Protocol Description? HOT 2
- Jobs plugin: NACK?
- macOS Monterey Build Failure HOT 2
- Last release in late 2020... is this project still a priority for Expensify? HOT 3
- Blocking queries until a write operation has synchronized across the cluster?
- Which units are used for peekTime, totalTime, etc...?
- Beginner experience needs polish.
- MySQL Plugin is broken HOT 2
- `test/test` looks for `bedrock` in the `PATH` HOT 4
- Can this project work in collaboration with https://github.com/tursodatabase/libsql ? HOT 1
- Probably a missconfig HOT 1
- Official Bedrock Docker image HOT 1
- MySQL plugin is not processing command line arguments HOT 1
- libstuff/libstuff.h:5:10: fatal error: arpa/inet.h: No such file or directory HOT 1
- Make generate_series() available HOT 5
- controlport CLI param missing from help and causing address in use error
- --
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 bedrock.