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

Regular USP files don't work when --enable-captive-portal is set #80

Open
talawahtech opened this issue Apr 27, 2020 · 3 comments
Open

Comments

@talawahtech
Copy link

talawahtech commented Apr 27, 2020

Hi,

I have been playing around with ULib after seeing how impressive the performance was on the Techempower benchmarks, and I was trying to see what the performance is like while using a more standard .usp file instead of the hyper-optimized version used in the Techempower tests. However when I try it using the same docker configuration used in the Techempower test, my simple .usp file does not work e.g.

<!--#header
Content-Type: text/plain
-->
Hello, World!

Then I run curl against the endpoint this is the response that I get:

root@ip-xxx-xxx-xxx-xxx:/# curl -v http://server/plain
*   Trying xxx.xxx.xxx.xxx...
* TCP_NODELAY set
* Connected to server (xxx.xxx.xxx.xxx) port 8080 (#0)
> GET /plain HTTP/1.1
> Host: server:8080
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Mon, 27 Apr 2020 01:27:23 GMT
< Server: ULib
< Content-Type: text/plain
* no chunk, no close, no size. Assume close to signal end
<

And the body is not returned. I looked at the code and played around with the feature flags until I realized which one was causing the problem. When --enable-captive-portal is used, simple .usp files no longer work, but the techempower optimized ones do. Is this a bug?

This is the configure command that I used in my test:

RUN ./configure --prefix=$ULIB_ROOT \
    --disable-static --disable-examples --disable-plugins \
    --disable-log --disable-alias --enable-captive-portal \
    --without-ssl --without-pcre --without-expat \
    --without-libz --without-libuuid --without-magic --without-libares \
    --without-libzopfli --without-libbrotli \
	--enable-static-server-plugin=http

When I remove --enable-captive-portal from the configure command, .usp files work again, but performance of the optimized json and plaintext examples drops by about 30%

@talawahtech talawahtech changed the title USP files don't work when --enable-captive-portal is set Regular USP files don't work when --enable-captive-portal is set Apr 27, 2020
@stefanocasazza
Copy link
Owner

Yes, it is a bug...

@talawahtech
Copy link
Author

@stefanocasazza ok thanks for confirming. Are you able to provide a some insight as to what the issue is? Why is --enable-captive-portal required and why does it affect the performance like that?

@stefanocasazza
Copy link
Owner

stefanocasazza commented May 24, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants