pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2020-03-15T11:16:09Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/10018Typechecking errors with large integers and sprintf("%c").2020-03-15T11:16:09ZHenrik (Grubba) GrubbströmTypechecking errors with large integers and sprintf("%c").The testsuite currently fails with:
```
Doing tests in testsuite (12091 tests, pid 29825)
Fri Mar 13 16:28:53 2020: Thread.Thread(0x7fced9367700) at 900
testsuite:2: Soft cast of string(1: -1412597613) to string(2147483647) isn't a valid...The testsuite currently fails with:
```
Doing tests in testsuite (12091 tests, pid 29825)
Fri Mar 13 16:28:53 2020: Thread.Thread(0x7fced9367700) at 900
testsuite:2: Soft cast of string(1: -1412597613) to string(2147483647) isn't a valid cast.
testsuite:2: Expected: string(2147483647).
testsuite:2: Got : string(1: -1412597613).
/lhome/build/Xenofarm/client/pike-devel/medaka.roxen.com/buildtmp/Pike-v8.1-snapshot/src/testsuite.in:14918: Test 11817 (CRNL) failed.
1: mixed a() { return "\25363274223"; }
2: mixed b() { return sprintf("%c", 0x1abcd7893) ; }
testsuite:2: Soft cast of string(1: 1412597613) to string(-2147483648) isn't a valid cast.
testsuite:2: Expected: string(-2147483648).
testsuite:2: Got : string(1: 1412597613).
/lhome/build/Xenofarm/client/pike-devel/medaka.roxen.com/buildtmp/Pike-v8.1-snapshot/src/testsuite.in:14919: Test 11818 (shift 1) (CRNL) failed.
1: mixed a() { return "\12414503555"; }
2: mixed b() { return sprintf("%c", -0x1abcd7893) ; }
Subresult: 41609 tests, 2 failed, 13 skipped
```
The cause is that the values `025363274223`, `0x1abcd7893`, `012414503555` and `-0x1abcd7893` all are out of the 32-bit signed range of the integer type.
The easiest fix is probably just to switch the type for large integers to the generic `int` type.Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/10016Stdio.Buffer.RewindKey has LFUNs that are declared private.2020-03-09T18:56:40ZHenrik (Grubba) GrubbströmStdio.Buffer.RewindKey has LFUNs that are declared private.Having `create()` and `_destruct()` being private is not a good idea. Change them to protected.Having `create()` and `_destruct()` being private is not a good idea. Change them to protected.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/8243Roxen error, possible search2018-10-23T08:51:16ZPeter BortasRoxen error, possible searchImported from https://youtrack.roxen.com/issue/PIKE-243
Reported by jonas.lonnberg <jonas.lonnberg@roxen.com>
Reported in [RT#31253](http://rt.roxen.com/rt3/Ticket/Display.html?id=31253).
A Roxen site not responding to requests. Versi...Imported from https://youtrack.roxen.com/issue/PIKE-243
Reported by jonas.lonnberg <jonas.lonnberg@roxen.com>
Reported in [RT#31253](http://rt.roxen.com/rt3/Ticket/Display.html?id=31253).
A Roxen site not responding to requests. Version 6.1.200 | rhel6_x86_64.
```
: Search: Notice: Starting database compactor with
Pike v8.0 release 408
: compact: OPTIMIZE TABLE deleted_document
: compact: OPTIMIZE TABLE document
: compact: OPTIMIZE TABLE field
: compact: OPTIMIZE TABLE lastmodified
: compact: OPTIMIZE TABLE link
: compact: OPTIMIZE TABLE metadata
: compact: OPTIMIZE TABLE queue
: compact: OPTIMIZE TABLE uri
: compact: OPTIMIZE TABLE word_hit
word 20724 (1884.4/s) "cashel"
First document id out of range: 0x83010358
Skipping this word.
word 21742 (1902.1/s) "coal"
First document id out of range: 0x9a38b939
Skipping this word.
word 22267 (1903.3/s) "conducted"
First document id out of range: 0x86000013
Skipping this word.
word 23775 (1911.9/s) "delays"
First document id out of range: 0xff3fff00
Skipping this word.
*** glibc detected *** /roxen/roxen/server-6.1.200/bin/roxen:
munmap_chunk(): invalid pointer: 0x000000000229f220 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3da9075dee]
/roxen/roxen/server-6.1.200/pike/lib/modules/_WhiteFish.so(+0x74af)[0x7fb72d7fd4af]
/roxen/roxen/server-6.1.200/bin/roxen[0x42bc81]
/roxen/roxen/server-6.1.200/bin/roxen[0x42c7cd]
[0x7fb72d789aff]
======= Memory map: ========
00400000-00671000 r-xp 00000000 fd:00 288096 /roxen/roxen/server-6.1.200/bin/roxen
00870000-00873000 rw-p 00270000 fd:00 288096 /roxen/roxen/server-6.1.200/bin/roxen
00873000-008d2000 rw-p 00000000 00:00 0
01d40000-02423000 rw-p 00000000 00:00 0 [heap]
3da8c00000-3da8c20000 r-xp 00000000 fd:00 56 /lib64/ld-2.12.so
3da8e20000-3da8e21000 r--p 00020000 fd:00 56 /lib64/ld-2.12.so
3da8e21000-3da8e22000 rw-p 00021000 fd:00 56 /lib64/ld-2.12.so
3da8e22000-3da8e23000 rw-p 00000000 00:00 0
3da9000000-3da918a000 r-xp 00000000 fd:00 78 /lib64/libc-2.12.so
3da918a000-3da938a000 ---p 0018a000 fd:00 78 /lib64/libc-2.12.so
3da938a000-3da938e000 r--p 0018a000 fd:00 78 /lib64/libc-2.12.so
3da938e000-3da9390000 rw-p 0018e000 fd:00 78 /lib64/libc-2.12.so
3da9390000-3da9394000 rw-p 00000000 00:00 0
3da9400000-3da9417000 r-xp 00000000 fd:00 772 /lib64/libpthread-2.12.so
3da9417000-3da9617000 ---p 00017000 fd:00 772 /lib64/libpthread-2.12.so
3da9617000-3da9618000 r--p 00017000 fd:00 772 /lib64/libpthread-2.12.so
3da9618000-3da9619000 rw-p 00018000 fd:00 772 /lib64/libpthread-2.12.so
```https://git.lysator.liu.se/pikelang/pike/-/issues/8239Issue with reused HTTPClient.SessionQuery objects2018-12-06T11:37:21ZPeter BortasIssue with reused HTTPClient.SessionQuery objectsImported from https://youtrack.roxen.com/issue/PIKE-239
Reported by Martin Karlgren <marty@roxen.com>
Related to [PIKE-148](#8148)
There seems to be issues with reused HTTPClient.SessionQuery objects. I suspect that `source_stream` wa...Imported from https://youtrack.roxen.com/issue/PIKE-239
Reported by Martin Karlgren <marty@roxen.com>
Related to [PIKE-148](#8148)
There seems to be issues with reused HTTPClient.SessionQuery objects. I suspect that `source_stream` was set in an earlier request and not properly reset.
Also, keep [PIKE-148](#8148) in mind. Perhaps the connection reuse handling should be revamped there.
```
String data not allowed in streaming mode.
6:02:52 1m 8.9s : etc/modules/HTTPClient.pmod:683: HTTPClient.Session()->SessionQuery(201 Created.)->async_request("roxen-appl-community-test-archive.roxen.com",80,"POST /rest/rep.shaw.story/_search HTTP/1.1",mapping[7],,,0)
6:02:52 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:256: Request("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search" - connected - 0 bytes received)->do_async(({"roxen-appl-community-test-archive.roxen.com",80,"POST /rest/rep.shaw.story/_search HTTP/1.1",@0=mapping[7],,,0}))
6:02:52 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:886: HTTPClient.Session()->async_do_method_url("POST",URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),UNDEFINED,,,5)
6:02:52 : etc/modules/HTTPClient.pmod:536: HTTPClient.Session()->async_do_method_url("POST",@2=URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),UNDEFINED,,,5)
6:02:52 : etc/modules/HTTPClient.pmod:166: HTTPClient.do_safe_method("POST",@6=URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),HTTPClient.Arguments(),0,HTTPClient.Session())
6:02:52 1m 8.9s : etc/modules/HTTPClient.pmod:65: HTTPClient.sync_post(@6,@7=HTTPClient.Arguments(),@8=HTTPClient.Session())
```https://git.lysator.liu.se/pikelang/pike/-/issues/8227DO_PIKE_CLEANUP frees ADT.List nodes that are still in use at exit.2020-03-05T18:05:47ZPeter BortasDO_PIKE_CLEANUP frees ADT.List nodes that are still in use at exit.Imported from https://youtrack.roxen.com/issue/PIKE-227
Reported by @grubba
`free_all_pike_list_node_blocks()` is called before `do_gc(1)`. This causes stale pointers to be followed be the gc, causing various failures.Imported from https://youtrack.roxen.com/issue/PIKE-227
Reported by @grubba
`free_all_pike_list_node_blocks()` is called before `do_gc(1)`. This causes stale pointers to be followed be the gc, causing various failures.https://git.lysator.liu.se/pikelang/pike/-/issues/8224describe_backtrace() argument shorting sometimes extends the argument.2020-03-05T18:05:00ZPeter Bortasdescribe_backtrace() argument shorting sometimes extends the argument.Imported from https://youtrack.roxen.com/issue/PIKE-224
Reported by @grubba
From Roxen 6.3.333 selftest:
```
>> ### Thread 0x8 - Handle Thread [4] - busy for 602.854s:
>> pike/lib/master.pike:1838: file_stat("/var/tmp/dist-test/roxen-6...Imported from https://youtrack.roxen.com/issue/PIKE-224
Reported by @grubba
From Roxen 6.3.333 selftest:
```
>> ### Thread 0x8 - Handle Thread [4] - busy for 602.854s:
>> pike/lib/master.pike:1838: file_stat("/var/tmp/dist-test/roxen-6.3.333-nb-ep-sol11_x86_64.sh/roxen/var/rep_test_repository/Test_REP.sb/print/db/spool/testdir3/test_x_put_copy_mo"+[-9]+"t_copy_move_delete/Cyrillic-Ñ\204Ñ\211Ñ\212Ã\202Ã\203Ã\204Ã\211Ã\226",UNDEFINED)
>> pike/lib/modules/Stdio.pmod/module.pmod:2830: Stdio.exist("/var/tmp/dist-test/roxen-6.3.333-nb-ep-sol11_x86_64.sh/roxen/var/rep_test_repository/Test_REP.sb/print/db/spool/testdir3/test_x_put_copy_move_delete/Cyrillic-Ñ\204Ñ\211Ñ\212Ã\202Ã\203Ã\204Ã\211Ã\226")
```
Note the `[-9]` in the attempt to shorten the argument to `file_stat()`.
Observed in Pike 8.0.888.https://git.lysator.liu.se/pikelang/pike/-/issues/8221las.c:get_name_of_function() on a constant function in a destructed placehold...2020-03-05T18:04:12ZPeter Bortaslas.c:get_name_of_function() on a constant function in a destructed placeholder object dereferences NULL.Imported from https://youtrack.roxen.com/issue/PIKE-221
Reported by @grubba
This crashes the compiler.
Observed in Pike 8.0.Imported from https://youtrack.roxen.com/issue/PIKE-221
Reported by @grubba
This crashes the compiler.
Observed in Pike 8.0.https://git.lysator.liu.se/pikelang/pike/-/issues/8204Count memory used by Image.Image objects.2020-03-06T10:52:19ZPeter BortasCount memory used by Image.Image objects.Imported from https://youtrack.roxen.com/issue/PIKE-204
Reported by @grubba
Image.Image does not have a `gc_recurse` callback, and thus `Pike.count_memory()` will not count the memory used to store the actual image.Imported from https://youtrack.roxen.com/issue/PIKE-204
Reported by @grubba
Image.Image does not have a `gc_recurse` callback, and thus `Pike.count_memory()` will not count the memory used to store the actual image.https://git.lysator.liu.se/pikelang/pike/-/issues/8198Protocols.HTTP.do_async_proxied_method() does not check for HTTP failures for...2020-03-05T17:58:07ZPeter BortasProtocols.HTTP.do_async_proxied_method() does not check for HTTP failures for the CONNECT method.Imported from https://youtrack.roxen.com/issue/PIKE-198
Reported by @grubbaImported from https://youtrack.roxen.com/issue/PIKE-198
Reported by @grubbahttps://git.lysator.liu.se/pikelang/pike/-/issues/8196Testsuite sometimes hangs during termination2020-03-10T09:25:01ZPeter BortasTestsuite sometimes hangs during terminationImported from https://youtrack.roxen.com/issue/PIKE-196
Reported by @grubba
The main `test_pike` process waits on the watchdog to die after having closed stdout, but the watchdog has already closed its stdin, so the correspponding clos...Imported from https://youtrack.roxen.com/issue/PIKE-196
Reported by @grubba
The main `test_pike` process waits on the watchdog to die after having closed stdout, but the watchdog has already closed its stdin, so the correspponding close callback will not be triggered.https://git.lysator.liu.se/pikelang/pike/-/issues/8185Protocols.DNS complains when an ephemeral port fails to open with EACCES.2020-03-05T17:54:42ZPeter BortasProtocols.DNS complains when an ephemeral port fails to open with EACCES.Imported from https://youtrack.roxen.com/issue/PIKE-185
Reported by @grubba
```
Running test packages/sitebuilder/test/tests/RoxenTest_acauth_cookie.pike
Protocols.DNS: Binding of UDP port failed with errno 13: Permission denied
Intern...Imported from https://youtrack.roxen.com/issue/PIKE-185
Reported by @grubba
```
Running test packages/sitebuilder/test/tests/RoxenTest_acauth_cookie.pike
Protocols.DNS: Binding of UDP port failed with errno 13: Permission denied
Internal server error: ################ Background failure
Stdio.UDP->bind: failed to bind to port 2049
-:1: Stdio.UDP()->bind(2049,"::",1)
pike/lib/modules/Protocols.pmod/DNS.pmod:267: Protocols.DNS.safe_bind(Stdio.UDP(),2049,"::")
```
`EACCES` indicates that the port is privileged.https://git.lysator.liu.se/pikelang/pike/-/issues/8173Bad assignment in Protocols.HTTP.Server.Request2019-03-06T10:05:51ZPeter BortasBad assignment in Protocols.HTTP.Server.RequestImported from https://youtrack.roxen.com/issue/PIKE-173
Reported by @grubba
`low_make_response_header()` attempts to assign a non-existent variable `error` in a `Stdio.Buffer` object.Imported from https://youtrack.roxen.com/issue/PIKE-173
Reported by @grubba
`low_make_response_header()` attempts to assign a non-existent variable `error` in a `Stdio.Buffer` object.https://git.lysator.liu.se/pikelang/pike/-/issues/8148Race condition in Protocols.HTTP.Session2020-03-05T18:08:10ZPeter BortasRace condition in Protocols.HTTP.SessionImported from https://youtrack.roxen.com/issue/PIKE-148
Reported by Martin Karlgren <marty@roxen.com>
Related to [PIKE-239](#8239)
It seems there's some kind of race condition in Protocols.HTTP.Session, related to reused SessionQuery ...Imported from https://youtrack.roxen.com/issue/PIKE-148
Reported by Martin Karlgren <marty@roxen.com>
Related to [PIKE-239](#8239)
It seems there's some kind of race condition in Protocols.HTTP.Session, related to reused SessionQuery objects. The `KeptConnection` class is probably involved.
Maybe the connection reuse handling should be revamped, also considering the issue in WS-389. Seems somewhat redundant (and error-prone) to keep entire Query objects around, why not just keep the `q->con` (i.e. Stdio.File or similar) in the cache?
```
Indexing the NULL value.
6:03:07 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:667: HTTPClient.Session()->give_me_connection(URI("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg"))
6:03:07 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:83: Request("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg" - no connection)->prepare_method("PUT",@0=URI("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg"),UNDEFINED,mapping[2],,,0)
6:03:07 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:885: HTTPClient.Session()->async_do_method_url("PUT",@1=URI("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg"),UNDEFINED,,,5)
6:03:07 : etc/modules/HTTPClient.pmod:536: HTTPClient.Session()->async_do_method_url("PUT",@5=URI("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg"),UNDEFINED,,,5)
6:03:07 1m24.1s : etc/modules/HTTPClient.pmod:166: HTTPClient.do_safe_method("PUT",@10=URI("http://roxen-appl-community-test-archive.roxen.com/storage/rxnfs/community45/92/09/318e-0a91-41c1-9088-26ccbb35ba9f/pp.jpg"),HTTPClient.Arguments(),1,HTTPClient.Session())
6:03:07 : etc/modules/HTTPClient.pmod:110: HTTPClient.async_put(@10,@11=HTTPClient.Arguments(),@12=HTTPClient.Session())
```https://git.lysator.liu.se/pikelang/pike/-/issues/8141Backtrace formatting forgetting to define @12020-03-05T17:43:12ZPeter BortasBacktrace formatting forgetting to define @1Imported from https://youtrack.roxen.com/issue/PIKE-141
Reported by Jonas Walldén <jonasw@roxen.com>
I got a backtrace in 6.2.202 referencing `@1` in different frames, but there was not any `@1=...` entry that defines the shared item.
...Imported from https://youtrack.roxen.com/issue/PIKE-141
Reported by Jonas Walldén <jonasw@roxen.com>
I got a backtrace in 6.2.202 referencing `@1` in different frames, but there was not any `@1=...` entry that defines the shared item.
```
12:56:46 6d 2h 5m : Internal server error: Cannot index the NULL value with "site".
12:56:46 : packages/sitebuilder/modules/ac/acauth_jwt.pike (a0b9c1c2):434: RoxenModule(EP/acauth_jwt#0)->set_entities(Context())
12:56:46 : etc/modules/RXML.pmod/module.pmod (b3546505):1202: RXMLTagSet(EP,rxml_tag_set)->call_prepare_funs(@0=Context())
12:56:46 : etc/modules/RXML.pmod/module.pmod (b3546505):1040: RXMLTagSet(EP,rxml_tag_set)->new_context(,,,0)
12:56:46 : etc/modules/RXML.pmod/module.pmod (b3546505):1053: RXMLTagSet(EP,rxml_tag_set)->get_parser(RXML.t_html(text/html, xml),,,1)
12:56:46 6d 2h 5m : base_server/rxml.pike (fdac9c13):259: Configuration(EP)->parse_rxml("<return code='401' /><nooutput><emit source=values scope=ef variable='modvar.site.401-files'>\n <if not='' variable='ef.value is '>\n "+[466]+"modvar.site.401-message:none;</eval></else>",@1,0,UNDEFINED)
12:56:46 : etc/modules/Roxen.pmod (82018255):747: Roxen.http_rxml_answer("<return code='401' /><nooutput><emit source=values scope=ef variable='modvar.site.401-files'>\n <if not='' variable='ef.value is '>\n "+[468]+"modvar.site.401-message:none;</eval></else>",@1,0,"text/html")
12:56:46 : base_server/configuration.pike (75b20724):3077: Configuration(EP)->auth_failed_file(@1,UNDEFINED)
12:56:46 : etc/modules/Roxen.pmod (82018255):1587: Roxen.http_auth_required("Platform",UNDEFINED,@1)
12:56:46 : packages/sitebuilder/modules/ac/acauth_httpbasic.pike (9f04e4fc):299: RoxenModule(EP/acauth_httpbasic#0)->active_auth(ProtPoint[38](RoxenModule(EP/sitebuilder#0), "file:/roxen-files/print/external-plugins/drpublish"),@1,"Platform",UNDEFINED)
12:56:46 6d 2h 5m : packages/sitebuilder/modules/ac/pike-modules/AC.pmod (d6ee5e8e):8165: AC_DB[3:89]->active_auth(@2=ProtPoint[38](RoxenModule(EP/sitebuilder#0), "file:/roxen-files/print/external-plugins/drpublish"),@1,UNDEFINED,"Platform",0)
12:56:46 : packages/sitebuilder/modules/ac/pike-modules/AC.pmod (d6ee5e8e):6454: ModuleAC(RoxenModule(EP/sitebuilder#0))->access_throw(38,@1,UNDEFINED,UNDEFINED)
12:56:46 : packages/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike (7fd66d22):2820: Workarea(EP:)->access_throw(@1,UNDEFINED)
12:56:46 : packages/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike (7fd66d22):4971: Workarea(EP:)->wa_find_file("roxen-files/print/external-plugins/drpublish/",0,1,RoxenModule(EP/insite_editor#0),@1,0)
12:56:46 : packages/sitebuilder/modules/manager/workarea.pike (993e1caf):1090: RoxenModule(EP/insite_editor#0)->find_file("roxen-files/print/external-plugins/drpublish/",@1)
12:56:46 6d 2h 5m : packages/sitebuilder/modules/manager/insite_editor.pike (90e8cd20):1381: RoxenModule(EP/insite_editor#0)->find_file("roxen-files/print/external-plugins/drpublish/",@1)
12:56:46 : base_server/configuration.pike (75b20724):2499: Configuration(EP)->low_get_file(@1,UNDEFINED)
12:56:46 : base_server/configuration.pike (75b20724):2763: Configuration(EP)->get_file(@1,UNDEFINED,UNDEFINED)
12:56:46 : base_server/configuration.pike (75b20724):2738: Configuration(EP)->handle_request(@1,UNDEFINED)
12:56:46 : protocols/http.pike (bda6e7bd):3322: RequestID(/roxen-files/print/external-plugins/drpublish/?language=en&skin=light&publicationId=3&publicationName=NTB&app=pp-preview&title=Paper%20Preview&url=https%3A%2F%2Fep-test-2.roxen.com%2Froxen-files%2Fprint%2Fexternal-plugins%2Fdrpublish%2F&required=false&configUrl=&config=false&hidden=false&authMethod=JWT&hasJwtSecret=true&publicationAccesslevel=&isAuth=true&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcHRvbWEiLCJpYXQiOjE1NDAzNzg2MDYsImV4cCI6MTU0MDQwNzQwNiwic3ViIjoicm94ZW4ifQ.HI882tsxgfbZGCeQcyqhLwlWyWit733VxKpTGpuJkjo&appName=pp-preview&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcHRvbWEiLCJpYXQiOjE1NDAzNzg2MDYsImV4cCI6MTU0MDQwNzQwNiwic3ViIjoicm94ZW4ifQ.HI882tsxgfbZGCeQcyqhLwlWyWit733VxKpTGpuJkjo&permissionLevel=limited)->handle_request()
12:56:46 6d 2h 5m : protocols/http.pike (bda6e7bd):3214: RequestID(/roxen-files/print/external-plugins/drpublish/?language=en&skin=light&publicationId=3&publicationName=NTB&app=pp-preview&title=Paper%20Preview&url=https%3A%2F%2Fep-test-2.roxen.com%2Froxen-files%2Fprint%2Fexternal-plugins%2Fdrpublish%2F&required=false&configUrl=&config=false&hidden=false&authMethod=JWT&hasJwtSecret=true&publicationAccesslevel=&isAuth=true&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcHRvbWEiLCJpYXQiOjE1NDAzNzg2MDYsImV4cCI6MTU0MDQwNzQwNiwic3ViIjoicm94ZW4ifQ.HI882tsxgfbZGCeQcyqhLwlWyWit733VxKpTGpuJkjo&appName=pp-preview&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcHRvbWEiLCJpYXQiOjE1NDAzNzg2MDYsImV4cCI6MTU0MDQwNzQwNiwic3ViIjoicm94ZW4ifQ.HI882tsxgfbZGCeQcyqhLwlWyWit733VxKpTGpuJkjo&permissionLevel=limited)->handle_request_from_queue()
12:56:46 : base_server/roxen.pike (b33c7b81):763: roxen()->handler_thread(6)
```https://git.lysator.liu.se/pikelang/pike/-/issues/8137combine_path() on relative paths with initial '.' fails under some circumstan...2018-10-22T12:47:54ZPeter Bortascombine_path() on relative paths with initial '.' fails under some circumstances.Imported from https://youtrack.roxen.com/issue/PIKE-137
Reported by @grubba
Example:
```
Pike v8.0 release 702 running Hilfe v3.5 (Incremental Pike Frontend)
> combine_path("./../foo");
(1) Result: "foo"
```
The expected result is `".....Imported from https://youtrack.roxen.com/issue/PIKE-137
Reported by @grubba
Example:
```
Pike v8.0 release 702 running Hilfe v3.5 (Incremental Pike Frontend)
> combine_path("./../foo");
(1) Result: "foo"
```
The expected result is `"../foo"`.https://git.lysator.liu.se/pikelang/pike/-/issues/8122Inconsistent visibility for symbol low_clone() in Parser.XML.Tree.*Node.2020-03-05T17:38:07ZPeter BortasInconsistent visibility for symbol low_clone() in Parser.XML.Tree.*Node.Imported from https://youtrack.roxen.com/issue/PIKE-122
Reported by @grubba
The function `low_clone()` is declared visible in `AbstractSimpleNode`, `AbstractNode` and `SimpleNode`, but declared `protected` in most other {*Node}} classe...Imported from https://youtrack.roxen.com/issue/PIKE-122
Reported by @grubba
The function `low_clone()` is declared visible in `AbstractSimpleNode`, `AbstractNode` and `SimpleNode`, but declared `protected` in most other {*Node}} classes. This causes type-checking errors in `strict_types`.https://git.lysator.liu.se/pikelang/pike/-/issues/8120RACE: call_with_interpreter() can lose track of the Pike_interpreter_pointer.2020-03-05T17:37:35ZPeter BortasRACE: call_with_interpreter() can lose track of the Pike_interpreter_pointer.Imported from https://youtrack.roxen.com/issue/PIKE-120
Reported by @grubba
`call_with_interpreter()` clears `Pike_interpreter_pointer` without holding the interpreter lock.
This may cause other threads to lose their interpreter state...Imported from https://youtrack.roxen.com/issue/PIKE-120
Reported by @grubba
`call_with_interpreter()` clears `Pike_interpreter_pointer` without holding the interpreter lock.
This may cause other threads to lose their interpreter state.
Note that this is only an issue with pike binaries compiled {{--with-debug}}.https://git.lysator.liu.se/pikelang/pike/-/issues/8084destroy() in Protocols.HTTP.Query causes ABS restart.2020-03-05T17:28:51ZPeter Bortasdestroy() in Protocols.HTTP.Query causes ABS restart.Imported from https://youtrack.roxen.com/issue/PIKE-84
Reported by Marcus Wellhardh <wellhard@roxen.com>
A production CMS is restarted about once a day caused by a blocked backend thread. The entire debug log is attached. The ABS tread...Imported from https://youtrack.roxen.com/issue/PIKE-84
Reported by Marcus Wellhardh <wellhard@roxen.com>
A production CMS is restarted about once a day caused by a blocked backend thread. The entire debug log is attached. The ABS tread dump contains the following interesting parts, the rest of the threads are idle:
```
3:15:33 : Pike version: Pike v8.0 release 482
3:15:33 : Product version: Roxen CMS 6.1.224-r3
3:15:33 0m 0.0s : Operating system: Linux 2.6.32-642.11.1.el6.x86_64 (x86_64)
3:15:33 : Starting MySQL ... Was running 10.1.12-MariaDB [6.9ms]
[...]
3:15:33 : 2018-01-26T144820
[...]
21:38:34 : **** Tue Mar 27 21:38:34 2018: ABS engaged!
21:38:34 1d19h38m : Waited more than 10 minute(s).
21:38:34 :
21:38:34 : Trying to dump backlog:
21:38:34 : ###### Describing all 80 pike threads:
21:38:34 : >>
21:38:34 1d19h38m : >> ### Thread 0x7f8c6bf10700 - Backend - busy for 611.284s:
21:38:34 : >> -:1: Thread.Thread(0x7f8c6bf10700)->backtrace()
21:38:34 : >> base_server/roxen.pike (6a418c49):6098: roxen()->describe_thread(Thread.Thread(0x7f8c6bf10700))
21:38:34 : >> base_server/roxen.pike (6a418c49):6152: roxen()->describe_all_threads(UNDEFINED,UNDEFINED)
21:38:34 : >> base_server/roxen.pike (6a418c49):3667: roxen()->engage_abs(14)
21:38:34 1d19h38m : >> -:1: Pike.Backend(26958)->`()(0)
21:38:34 : >> pike/lib/modules/SSL.pmod/File.pike:284: SSL.File(Stdio.File("socket", "31.13.69.228:443", 777 /* fd=119 */), SSL.ClientConnection(local_closed))->backend_once(0)
21:38:34 : >> pike/lib/modules/SSL.pmod/File.pike:1963: SSL.File(Stdio.File("socket", "31.13.69.228:443", 777 /* fd=119 */), SSL.ClientConnection(local_closed))->direct_write()
21:38:34 : >> pike/lib/modules/SSL.pmod/File.pike:678: SSL.File(Stdio.File("socket", "31.13.69.228:443", 777 /* fd=119 */), SSL.ClientConnection(local_closed))->close(UNDEFINED,UNDEFINED,UNDEFINED)
21:38:34 : >> pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:187: Protocols.HTTP.Query(404 Not Found)->close_connection()
21:38:34 1d19h38m : >> pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1234: Protocols.HTTP.Query(404 Not Found)->close()
21:38:34 : >> pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1227: Protocols.HTTP.Query(404 Not Found)->destroy()
21:38:34 : >> base_server/roxenloader.pike (06a2c389):254: Protocols.HTTP.Query(301 Moved Permanently)->clean_async_dns->`()()
21:38:34 : >> -:1: Pike.Backend(0)->`()(3600.0)
21:38:34 : >>
```
#### Attachments:
- [default.3](/uploads/102d7a1db3dbfce82291d536e6442d9f/default.3 "default.3")https://git.lysator.liu.se/pikelang/pike/-/issues/8078Pike hangs on exit when compiled --with-cleanup-on-exit.2018-02-26T17:12:30ZPeter BortasPike hangs on exit when compiled --with-cleanup-on-exit.Imported from https://youtrack.roxen.com/issue/PIKE-78
Reported by @grubba
Blocking [PIKE-62](#8062)
LysLysKOM 22448381:
```
22448381 igår 06:32 /23 rader/ Martin Nilsson (Coppermist)
Mottagare: Henrik Grubbström (Lysator) <15078>
Mot...Imported from https://youtrack.roxen.com/issue/PIKE-78
Reported by @grubba
Blocking [PIKE-62](#8062)
LysLysKOM 22448381:
```
22448381 igår 06:32 /23 rader/ Martin Nilsson (Coppermist)
Mottagare: Henrik Grubbström (Lysator) <15078>
Mottagare: Martin Nilsson (Coppermist) <16144>
Ärende: trådlås
------------------------------------------------------------
Pike kompilerad med --with-dmalloc hänger i exit.
(gdb) bt
1. 0 __lll_lock_wait () at
../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
1. 1 0x00007ffff7232b70 in pthread_cond_broadcast@@GLIBC_2.3.2 ()
at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S:133
1. 2 0x00000000005728bd in unlock_pike_compiler ()
at /home/nilsson/pike/src/pike_compiler.cmod:69
1. 3 0x00000000005d7b1a in exit_threads_disable (o_UNUSED=0x0)
at /home/nilsson/pike/src/threads.c:1028
1. 4 exit_interleave_mutex (im# im@entry
0xa4fa20 <mc_mutex>)
at /home/nilsson/pike/src/threads.c:1086
1. 5 0x00000000004d116a in exit_mc () at
/home/nilsson/pike/src/gc.c:6342
1. 6 0x0000000000683733 in exit_builtin_modules ()
at /home/nilsson/pike/src/pike_modules.c:137
1. 7 0x0000000000684d92 in exit_modules ()
at /home/nilsson/pike/src/pike_modules.c:533
1. 8 0x000000000051cc28 in pike_do_exit (num=0)
at /home/nilsson/pike/src/pike_embed.c:436
1. 9 0x0000000000414a22 in main (argc# 2, argv
0x7fffffffe3f8)
at /home/nilsson/pike/src/main.c:682
(22448381) /Martin Nilsson (Coppermist)/------------
```https://git.lysator.liu.se/pikelang/pike/-/issues/8076Fix insufficient character decoding in Web.decode_jwt2020-03-05T18:07:39ZPeter BortasFix insufficient character decoding in Web.decode_jwtImported from https://youtrack.roxen.com/issue/PIKE-76
Reported by Martin Karlgren <marty@roxen.com>
Blocking [PIKE-237](#8237)
`Web.decode_jwt` doesn't seem to decode UTF-8 characters correctly. `Web.decode_jws` should probably use `...Imported from https://youtrack.roxen.com/issue/PIKE-76
Reported by Martin Karlgren <marty@roxen.com>
Blocking [PIKE-237](#8237)
`Web.decode_jwt` doesn't seem to decode UTF-8 characters correctly. `Web.decode_jws` should probably use `Standards.JSON.decode_utf8`.