Comments (6)
Closing as I am 99% sure this isn't a dexador problem. Please re-open if you can pin it down more.
from dexador.
That's not good! I was careful to try and preserve the ability to do external connection pooling, but it's possible I made a mistake or wrong assumption. Do you know the assumptions you are making about passing in streams / returning streams? Of course better would be a real stack trace!
from dexador.
Hi, I was not performing any manual connection pooling, I was use using :use-connection-pool nil as an argument in order to prevent the weird bugs that were present before you fixed it. Unfortunately I do not have access to a full stack trace :(
from dexador.
Ah, OK. The message usually indicates a proxy issue or an issue with self signed certificates in the chain somewhere. Unfortunately I think I'd need some more info to debug :(
from dexador.
Error code: "unhandled"
Error value: #1#
Description: "A request was made that generated a condition which
has returned an unknown condition."
Args: (#1=Condition CL+SSL::SSL-ERROR was signalled.)
[Condition of type API-ERROR]
Restarts:
0: [RETRY] Retry calling the generic function.
1: [TRY-AGAIN] Try again?
2: [RETRY] Retry SLY mREPL evaluation request.
3: [*ABORT] Return to SLY's top level.
4: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {1001808333}>)
Backtrace:
0: ((:METHOD NO-APPLICABLE-METHOD ((EQL (FUNCTION %CALL-CONDITION-HANDLER)))) #<unused argument> #<CL+SSL::SSL-ERROR {100F914763}>) [fast-method]
Locals:
ARGS = (#<CL+SSL::SSL-ERROR {100F914763}>)
1: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION LUNAMECH-MATRIX-API/V2:%CALL-CONDITION-HANDLER (3)> (#<CL+SSL::SSL-ERROR {100F914763}>))
Locals:
ARGS = (#<CL+SSL::SSL-ERROR {100F914763}>)
GF = #<STANDARD-GENERIC-FUNCTION LUNAMECH-MATRIX-API/V2:%CALL-CONDITION-HANDLER (3)>
2: ((LAMBDA NIL :IN EXECUTE-API-CALL))
[No Locals]
3: ((LABELS TRY-AGAIN-RESTART :IN EXECUTE-API-CALL) #<FUNCTION (LAMBDA NIL :IN EXECUTE-API-CALL) {100F91217B}>)
Locals:
FUN = #<FUNCTION (LAMBDA () :IN EXECUTE-API-CALL) {100F91217B}>
```
This is one error I found.
I will keep looking
```lisp
Connection Timeout.
Message: No network. Socket-condition.
Original condition: The condition Name service error in "getaddrinfo": -11 (System error) occurred with errno: 0.
[Condition of type API-NO-CONNECTION]
Restarts:
0: [TRY-AGAIN] Try again?
1: [RETRY] Retry SLY mREPL evaluation request.
2: [*ABORT] Return to SLY's top level.
3: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {1001808333}>)
Backtrace:
0: ((:METHOD %CALL-CONDITION-HANDLER (USOCKET:SOCKET-CONDITION)) #<USOCKET:UNKNOWN-ERROR {10101B0AA3}>) [fast-method]
1: ((LAMBDA NIL :IN EXECUTE-API-CALL))
[No Locals]
2: ((LABELS TRY-AGAIN-RESTART :IN EXECUTE-API-CALL) #<FUNCTION (LAMBDA NIL :IN EXECUTE-API-CALL) {10101B059B}>)
Locals:
FUN = #<FUNCTION (LAMBDA () :IN EXECUTE-API-CALL) {10101B059B}>
3: ((:METHOD CALL-API (API)) #<SYNC ..) [fast-method]
Locals:
API = #<SYNC
```
from dexador.
Maybe the reason it is more stable with use-connection-pool t is because you are hitting the DNS and opening new connections less often. One question is whether dexador should arbitrarily retry things for all possible network errors. What do you think? I don't know why it would be less stable then before unless I deleted a big retry on all possible errors in dexador, but I don't see that I did that (though the control flow of the code is... unnecessarily complex... and hard to reason about).
With regards to getting ESYSTEM plus ERRNO = 0 in the dns call, this is a big can of worms. I don't think ERRNO is well defined in the lisp context, because you can get interrupted by gcs which make system calls, etc, and I don't think implementations restore errno... but I'd have to look and see. I'd prefer is someone with more common lisp network experience would just tell me the answer though.
It may be that this should be handled by usocket.
from dexador.
Related Issues (20)
- Allow content for dex:delete HOT 2
- There is no character with name "NUL" HOT 3
- ERROR 12002: Timeout [Condition of type WINHTTP::WIN-ERROR]
- dex:fetch leaves files open HOT 6
- Potential issue with failing to close connections HOT 12
- The condition #<CHUNGA:INPUT-CHUNKING-UNEXPECTED-END-OF-FILE 4060090DA0> occurred HOT 4
- Is there a problem with the `dex:post` with an s-expression data on the body? HOT 2
- `ignore-and-continue` on `http-request-fail` HOT 3
- Failing when requesting localhost HOT 15
- Dex not restarting with SSL errors.
- Automatic URL parameter encoding for Content-Type: application/x-www-form-urlencoded breaks old code HOT 4
- Calling DEX::MAYBE-CLOSE with optional "close-if T" argument causes a CCL::BAD-SLOT-TYPE HOT 4
- Windows: Content-Type is replaced with "text/plain" when `:content` is present HOT 3
- Dexador started automatically retry bad requests, but previosly didn't HOT 3
- Keep alive stream prematurely EOFs HOT 3
- Retry on typical errors solution
- Specifying content types for parts of a post request HOT 1
- Name Conflict HOT 5
- Copying from KEEP-ALIVE-STREAM: The value NIL is not of type STREAM HOT 7
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 dexador.