Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curl 8.1.0: tests 1467 1468 failing with 'socket path too long' #11152

Closed
citrus-it opened this issue May 19, 2023 · 0 comments
Closed

curl 8.1.0: tests 1467 1468 failing with 'socket path too long' #11152

citrus-it opened this issue May 19, 2023 · 0 comments
Assignees
Labels

Comments

@citrus-it
Copy link

When running the testsuite after updating from curl 8.0.1 to 8.1.0, tests 1467 and 1468 are failing, with this message on stderr:

curl: (6) Unix socket path too long: '/data/omnios-build/omniosorg/bloody/_build/curl-8.1.0/curl-8.1.0-build/build.i386/tests/log/server/socks.sock'

On my build system, that path is indeed > 107 characters (the size of sockaddr_un.sun_path being 108).

This seems to be a result of 89ede39

CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log
********* System characteristics ********
* curl 8.1.0 (x86_64-pc-solaris2.11)
* libcurl/8.1.0 OpenSSL/3.0.8 zlib/1.2.13 brotli/1.0.9 zstd/1.5.5 nghttp2/1.52.0
* Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets zstd
* Disabled: xattr
* Host: bloody
* System: SunOS bloody 5.11 omnios-master-42fe848aa52 i86pc i386 i86pc
* OS: solaris
* Env:
* Seed: 214771
* Servers: HTTP-IPv6 HTTP-unix FTP-IPv6
*****************************************
DISABLED: test 323
DISABLED: test 594
DISABLED: test 836
DISABLED: test 882
DISABLED: test 938
DISABLED: test 1182
DISABLED: test 1184
DISABLED: test 1209
DISABLED: test 1211
DISABLED: test 1307
DISABLED: test 1316
DISABLED: test 1510
DISABLED: test 1512
DISABLED: test 1801
DISABLED: test 2086
DISABLED: test 2043
startnew: perl -I../../../src/tests ../../../src/tests/http-server.pl --keepalive 30 --pidfile "log/server/http_server.pid" --logfile "log/http_server.log" --logdir "log" --portfile log/server/http_server.port --config log/ftpserver.cmd --ipv4 --port 0 --srcdir "../../../src/tests"
RUN: ../src/curl --max-time 13 --output log/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38366/verifiedserver" 2>log/http_verify.log
CMD (0): ../src/curl --max-time 13 --output log/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38366/verifiedserver" 2>log/http_verify.log
RUN: HTTP server is on PID 149 port 38366
* pid http => 149 149
startnew: server/socksd --pidfile log/server/socks2_server.pid --reqfile log/socksd-request.log --logfile log/socks2_server.log --unix-socket log/server/socks.sock --backend 127.0.0.1 --config log/ftpserver.cmd
RUN: SOCKS2 server is now running PID 158
* pid socks5unix => 158 158
test 1467...[HTTP GET via SOCKS5 proxy via unix sockets]
../src/curl --output log/curl1467.out  --include --trace-ascii log/trace1467 --trace-time --socks5 localhostlog/server/socks.sock http://127.0.0.1:38366/1467 > log/stdout1467 2> log/stderr1467
CMD (1536): ../src/curl --output log/curl1467.out  --include --trace-ascii log/trace1467 --trace-time --socks5 localhostlog/server/socks.sock http://127.0.0.1:38366/1467 > log/stdout1467 2> log/stderr1467

 1467: protocol FAILED!
 There was no content at all in the file log/server.input.
 Server glitch? Total curl failure? Returned: 6

 - abort tests
* kill pid for socks5unix => 158
* kill pid for http => 149
RUN: Process with pid 149 signalled to die
RUN: Process with pid 158 signalled to die

RUN: Process with pid 149 forced to die with SIGKILL
RUN: Process with pid 158 forced to die with SIGKILL
TESTDONE: 1 tests were considered during 2 seconds.
TESTDONE: 0 tests out of 1 reported OK: 0%

TESTFAIL: These test cases failed: 1467
bloody:omnios:% uname -a
SunOS bloody 5.11 omnios-master-42fe848aa52 i86pc i386 i86pc

bloody:omnios:% rg -A3 sockaddr_un /usr/include/sys/un.h
53:struct     sockaddr_un {
54-   sa_family_t     sun_family;             /* AF_UNIX */
55-   char            sun_path[108];          /* path name (gag) */
56-};
@bagder bagder added the tests label May 20, 2023
bagder added a commit that referenced this issue May 20, 2023
... instead of putting them in the regular pid directories. Simply
because system generally have strict length requirements on that path
name to be less than 107 bytes and we easily hit that boundary
otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes #11152
bagder added a commit that referenced this issue May 21, 2023
... instead of putting them in the regular pid directories. Simply
because system generally have strict length requirements on that path
name to be less than 107 bytes and we easily hit that boundary
otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes #11152
@bagder bagder self-assigned this May 22, 2023
bagder added a commit that referenced this issue May 31, 2023
... instead of putting them in the regular pid directories. Simply
because system generally have strict length requirements on that path
name to be less than 107 bytes and we easily hit that boundary
otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes #11152
Closes #11166
bagder added a commit that referenced this issue May 31, 2023
... instead of putting them in the regular pid directories because
systems generally have strict length requirements for the path name to
be shorter than 107 bytes and we easily hit that boundary otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes #11152
Closes #11166
bagder added a commit that referenced this issue Jun 2, 2023
... instead of putting them in the regular pid directories because
systems generally have strict length requirements for the path name to
be shorter than 107 bytes and we easily hit that boundary otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes #11152
Closes #11166
@bagder bagder closed this as completed in 8cf4189 Jun 2, 2023
bch pushed a commit to bch/curl that referenced this issue Jul 19, 2023
... instead of putting them in the regular pid directories because
systems generally have strict length requirements for the path name to
be shorter than 107 bytes and we easily hit that boundary otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes curl#11152
Closes curl#11166
ptitSeb pushed a commit to wasix-org/curl that referenced this issue Sep 25, 2023
... instead of putting them in the regular pid directories because
systems generally have strict length requirements for the path name to
be shorter than 107 bytes and we easily hit that boundary otherwise.

The new concept generates two random names: one for the socks daemon and
one for http.

Reported-by: Andy Fiddaman
Fixes curl#11152
Closes curl#11166
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging a pull request may close this issue.

2 participants