# Https://www.swi-prolog.org/pack/query is down a

**URL:** <https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238>\
**Category:** SWI-Prolog web site and services\
**Created:** [February 14, 2024, 5:54am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238 "2024-02-14T05:54:44Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![logicmoo](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/logicmoo/32/193_2.png) [@logicmoo](https://swi-prolog.discourse.group/u/logicmoo)\
**Post date:** [February 14, 2024, 5:54am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/1 "2024-02-14T05:54:44Z")

</div>

[https://www.swi-prolog.org/pack/query](https://www.swi-prolog.org/pack/query) is down

 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/4/49ab2a9ade7dc9cea6976ac31985a570d9f15caa.png)

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [February 14, 2024, 9:30am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/2 "2024-02-14T09:30:16Z")

</div>

Thanks. Issue due to all website reorganization. Fixed.

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [February 14, 2024, 9:43am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/3 "2024-02-14T09:43:45Z")

</div>

I am also seeing this error. Just checked after noted fixed.

```plaintext
# Internal server error

url `'https://eu.swi-prolog.org/pack/query'' does not exist (status(500,Internal Server Error))
In:
[20] throw(error(existence_error(url,'https://eu.swi-prolog.org/pack/query'),context(_774,...)))
[18] http_open:try_http_proxy(direct,[uri('https://eu.swi-prolog.org/pack/query'),...|...],_810,[method(get),...|...]) at /usr/lib/swipl/library/ext/http/http/http_open.pl:505
[16] plweb_proxy:proxy(get,"https://eu.swi-prolog.org",[protocol(http),...|...],[request_headers(...)]) at /srv/plweb/proxy.pl:80
[13] pack:pack_query([protocol(http),...|...]) at /srv/plweb/pack.pl:82
[12] http_dispatch:call_action(pack:pack_query,[protocol(http),...|...]) at /usr/lib/swipl/library/ext/http/http/http_dispatch.pl:1043
[10] time:run_alarm_goal('$alarm'(94353470318704),http_dispatch:call_action(...,...,...)) at /usr/lib/swipl/library/ext/clib/time.pl:163
[9] setup_call_cleanup(time:alarm(300,...,...,...),time:run_alarm_goal(...,...),time:remove_alarm_notrace(...)) at /usr/lib/swipl/boot/init.pl:682
[5] httpd_wrapper:call_handler(http_dispatch:time_limit_action(...,...,...),160860,-) at /usr/lib/swipl/library/ext/http/http/http_wrapper.pl:323
[4] catch(httpd_wrapper:call_handler(...,160860,-),error(existence_error(url,'https://eu.swi-prolog.org/pack/query'),context(_1228,...)),httpd_wrapper:true) at /usr/lib/swipl/boot/init.pl:565
[3] httpd_wrapper:handler_with_output_to(http_dispatch:time_limit_action(...,...,...),160860,-,current_output,error(existence_error(url,'https://eu.swi-prolog.org/pack/query'),context(_1304,...))) at /usr/lib/swipl/library/ext/http/http/http_wrapper.pl:308

Note: some frames are missing due to last-call optimization.
Re-run your program in debug mode (:- debug.) to get more detail.

[SWI-Prolog](http://www.swi-prolog.org/) httpd at 2cf4018713c9

```

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [February 14, 2024, 11:11am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/4 "2024-02-14T11:11:19Z")

</div>

Everything is fine now (as far as I can tell). You still get this. `/pack/query` uses `Content-type: x-prolog` and is used by pack\_install/2, etc. The only problem is that it should reply with a _bad request_ status if you try to query it from a browser.

Where were still some pending errors from the CDN cache. These should disappear completely in the next hour. Using the current git version you can do

```
 swipl pack find --server=eu.swi-prolog.org <string-to-find>

```

Or `us.swi-prolog.org`, which proxies back to `eu.swi-prolog.org` or `www.swi-prolog.org`, which causes the CDN to query one of the two backends.

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [February 14, 2024, 11:39am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/5 "2024-02-14T11:39:23Z")

</div>

> [@jan](#):
>
> `swipl pack find --server=eu.swi-prolog.org <string-to-find>`

That works as expected.

```plaintext
C:\Users\Groot>swipl pack find --server=eu.swi-prolog.org matrix
% Contacting server at https://www.swi-prolog.org/pack/query ... ok
p ffimatrix@0.1.0 - Operations with matrices using Prolog and C
U matrix@1.0(2.0) - Operations with matrices
p matrix_utls@1.1 - Matrix utilities: Kronecker (Tensor), Hadamard, and matrices creation/multiplications

C:\Users\Groot>

```

However the other two currently return error. I’ll try again after an hour. 🙂

```plaintext
C:\Users\Groot>swipl pack find --server=us.swi-prolog.org matrix
% Contacting server at https://www.swi-prolog.org/pack/query ...
ERROR: c:/program files/swipl/app/pack.pl:39: user:main url `'https://www.swi-prolog.org/pack/query'' does not exist (status(500,Internal Server Error))

```

```plaintext
C:\Users\Groot>swipl pack find --server=www.swi-prolog.org matrix
% Contacting server at https://www.swi-prolog.org/pack/query ...
ERROR: c:/program files/swipl/app/pack.pl:39: user:main url `'https://www.swi-prolog.org/pack/query'' does not exist (status(500,Internal Server Error))

```

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [February 14, 2024, 11:54am UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/6 "2024-02-14T11:54:34Z")

</div>

> [@EricGT](#):
>
> `swipl pack find --server=us.swi-prolog.org matrix`

Works for me. Note that in your examples they all address [www.swi-prolog.org](http://www.swi-prolog.org) as the release still ignores this option. You need to build from the current git source.

---

<div class="post-metadata">

**Author:** ![pjadata](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pjadata](https://swi-prolog.discourse.group/u/pjadata)\
**Post date:** [February 14, 2024, 1:46pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/7 "2024-02-14T13:46:37Z")

</div>

Still chopy . One time it fails ; one time it works.

 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/9/9d0dad5114d3e9ddfc3027aa68e60465e8381442.png)

---

<div class="post-metadata">

**Author:** ![pjadata](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pjadata](https://swi-prolog.discourse.group/u/pjadata)\
**Post date:** [February 14, 2024, 1:50pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/8 "2024-02-14T13:50:57Z")

</div>

And impossible to load the real and b\_real packs.

 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/a/a75d60395ec6babc6c5f3d108c46002ae52a52d9.jpeg)

How can I manage SSL erro : certificate verify failed ?  
I am running on Windows11 with the latest Swipl 9.3 64bts  
Thank you in advance  
JAcques

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [February 14, 2024, 1:58pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/9 "2024-02-14T13:58:49Z")

</div>

> [@pjadata](#):
>
> Still chopy . One time it fails ; one time it works.

Yes. Experienced the same installing some packs on one of the new servers ☹ Looks like some sort of issue talking to nginx HTTPS servers without `connection('Keep-alive')`.

> [@pjadata](#):
>
> How can I manage SSL erro : certificate verify failed ?

Use pack\_install/2 with the `insecure(true)` option. This is a problem with the upstream HTTPS server. Older versions did not check the certificate. I think we should check certificates these days.

---

<div class="post-metadata">

**Author:** ![pjadata](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pjadata](https://swi-prolog.discourse.group/u/pjadata)\
**Post date:** [February 14, 2024, 2:03pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/10 "2024-02-14T14:03:46Z")

</div>

Thank you Jan,  
I will check pack\_install/2 as soon the server is stable.  
Best regards, all the best and ‘Bravo’ for your work on Swipl  
Jacques

---

<div class="post-metadata">

**Author:** ![pjadata](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pjadata](https://swi-prolog.discourse.group/u/pjadata)\
**Post date:** [February 14, 2024, 2:16pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/12 "2024-02-14T14:16:54Z")

</div>

After some 4-5 attempts it worked.  
Thank you.

 ![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/6/6c441e8445354c6b1b92cc28bf676e0816eec006.png)

Remains now the connection between ‘real’ and ‘R’ which was allways complicated on windows…  
Thanks

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [February 14, 2024, 4:53pm UTC](https://swi-prolog.discourse.group/t/https-www-swi-prolog-org-pack-query-is-down-a/7238/13 "2024-02-14T16:53:33Z")

</div>

> [@pjadata](#):
>
> After some 4-5 attempts it worked

Better than never … Pushed some updates that might resolve this. At least, in a first sequence of trials all worked fine. The core fixes are in the HTTP client library. One is related to the possibility to generate an exception on Keep-alive connections and the other is to avoid TLS handshake issues by reading Content-length bytes and then simply close, ignoring any error. It seems some servers do the same, so hoping on a clean TLS EOF handshake is not a good idea.

> [@anon95304481](#):
>
> So how free is it?
> 
> Do you need the Nginx Plus subscription model for HTTP/2  
> (not the same as HTTPS but also interesting)?

Nginx still has an open source version that is in most Linux distros. For a comparison, see e.g. [Compare NGINX Open Source OS vs Plus - Free vs Paid - WorldTech IT](https://wtit.com/compare-nginx-models-nginx-open-source-os-vs-plus-free-vs-paid/) The SWI-Prolog web services are partly based on _virtual hosts_ and nginx is an excellent proxy server. All we need is a proxy server that scales well, can do load balancing (for next SWISH deployment), can do websockets and can handle Letsenscript! `certbot`. The standard Linux version of nginx does all that. If something goes wrong, there are probably alternatives.
