pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2013-07-09T18:06:46Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/6847Protocols.HTTP.Query.PseudoFile loses Query object2013-07-09T18:06:46ZPeter BortasProtocols.HTTP.Query.PseudoFile loses Query objectImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6847
Reported by Martin Karlgren <marty@roxen.com>
When a PseudoFile object is instantiated from a Protocols.HTTP.Query object, it doesn't keep a reference to its parent ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6847
Reported by Martin Karlgren <marty@roxen.com>
When a PseudoFile object is instantiated from a Protocols.HTTP.Query object, it doesn't keep a reference to its parent .Query object. The result is that if all other references to the .Query object are lost, the .Query.PseudoFile will fail since .Query closes the connection when destroyed.
Sample program showing the problem attached.
Proposed solution: keep a reference to the instantiating .Query object in .PseudoFile.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6941Type system resolves 0 into string.2015-03-27T17:39:40ZPeter BortasType system resolves 0 into string.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6941
Reported by Martin Nilsson <nilsson@opera.com>
Type system issue:
```
Pike v7.9 release 11 running Hilfe v3.5 (Incremental Pike Frontend)
> typeof(max(0,0));
(1) Re...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6941
Reported by Martin Nilsson <nilsson@opera.com>
Type system issue:
```
Pike v7.9 release 11 running Hilfe v3.5 (Incremental Pike Frontend)
> typeof(max(0,0));
(1) Result: string
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6958SSL warnings for WebDAV in debug mode2013-12-20T16:35:00ZPeter BortasSSL warnings for WebDAV in debug modeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6958
Reported by Jonas Wallden <jonasw@roxen.com>
I get frequent SSL warnings when accessing an EP WebDAV volume over HTTPS:
```
Internal server error: In callback mode...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6958
Reported by Jonas Wallden <jonasw@roxen.com>
I get frequent SSL warnings when accessing an EP WebDAV volume over HTTPS:
```
Internal server error: In callback mode in a different backend.
Stream is open
User callbacks: a=0 r=0 w=Stdio.Sendfile()->write_cb c=0
Internal callbacks: r=0 w=SSL.sslfile(Fd(131))->ssl_write_callback c=0
Backend: Pike.Backend(0) This thread: Thread.Thread(4429115392) Other thread: Thread.Thread(140735135998736)
Other thread backtrace:
-:1: Pike.Backend(0)->`()(3600.0)
----------
/Users/jonasw/hacks/Pike/pike/lib/modules/SSL.pmod/sslfile.pike (76a600ff):250: SSL.sslfile(Fd(131))->thread_error("In callback mode in a different backend.\n",Thread.Thread(140735135998736))
/Users/jonasw/hacks/Pike/pike/lib/modules/SSL.pmod/sslfile.pike (76a600ff):738: SSL.sslfile(Fd(131))->destroy()
packages/sitebuilder/modules/ac/pike-modules/AC.pmod (379eaf77):9082: AC_DB[1:2]->`->("passive_auth")
packages/sitebuilder/modules/ac/pike-modules/AC.pmod (379eaf77):6432: ModuleAC(RoxenModule(ep52/sitebuilder#0))->access_try("print-webdav",RequestID(/rep-webdav/feeds/photos/volvo-7.jpg),UNDEFINED)
modules/print/modules/rep-webdav.pike (818dd584):584: RoxenModule(ep52/rep-webdav#0)->authenticate("feeds/photos/volvo-7.jpg",@0=RequestID(/rep-webdav/feeds/photos/volvo-7.jpg))
modules/print/modules/rep-webdav.pike (818dd584):842: RoxenModule(ep52/rep-webdav#0)->handle_resource("feeds/photos/volvo-7.jpg",@0,0,1)
modules/print/modules/rep-webdav.pike (818dd584):756: RoxenModule(ep52/rep-webdav#0)->find_file("feeds/photos/volvo-7.jpg",@0)
base_server/configuration.pike (72099b9e):2263: Configuration(ep52)->low_get_file(@0,UNDEFINED)
base_server/configuration.pike (72099b9e):2521: Configuration(ep52)->get_file(@0,UNDEFINED,UNDEFINED)
base_server/configuration.pike (72099b9e):2496: Configuration(ep52)->handle_request(@0,UNDEFINED)
protocols/http.pike (60909d3c):3067: RequestID(/rep-webdav/feeds/photos/volvo-7.jpg)->handle_request()
protocols/http.pike (60909d3c):3010: RequestID(/rep-webdav/feeds/photos/volvo-7.jpg)->handle_request_from_queue()
base_server/roxen.pike (abfcfcaf):912: roxen()->handler_thread(3)
```
This is a fresh Roxen/5.4 with newly recompiled Pike 7.8.805. Is this due to the sslfile.pike disclaimer about false alarms or a real problem?
// FIXME: Looks like the following check can give false alarms since
// an fd object can lose all refs even if some callbacks still are
// registered.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7055Backport clang bignum fixes to 7.82014-03-12T13:57:42ZPeter BortasBackport clang bignum fixes to 7.8Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7055
Reported by Jonas Wallden <jonasw@roxen.com>
See InfoKOM 767805 for discussion.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7055
Reported by Jonas Wallden <jonasw@roxen.com>
See InfoKOM 767805 for discussion.Pike 7.8https://git.lysator.liu.se/pikelang/pike/-/issues/7057Checksum calculation in tarfilter.pike on Linux/x86 broken.2014-03-13T17:53:14ZPeter BortasChecksum calculation in tarfilter.pike on Linux/x86 broken.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7057
Reported by @grubba
From Distmaker:
Building export Pike-v7.8.844-Linux-2.6.18-348.12.1.el5-i686
Finalizing: lib/master.pike.in
Finalizing: lib/master.pike.in done
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7057
Reported by @grubba
From Distmaker:
Building export Pike-v7.8.844-Linux-2.6.18-348.12.1.el5-i686
Finalizing: lib/master.pike.in
Finalizing: lib/master.pike.in done
CHECKSUM ERROR on input (got 0, expected 8859(021233? ))!
50 69 6b 65 2d 76 37 2e 38 2e 38 34 34 2d 4c 69
6e 75 78 2d 32 2e 36 2e 31 38 2d 33 34 38 2e 31
32 2e 31 2e 65 6c 35 2d 69 36 38 36 2e 64 69 72
2f 62 69 6e 2f 69 6e 73 74 61 6c 6c 2e 70 69 6b
65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 30 30 30 30 36 36 34 00 30 30 31 31
36 32 31 00 30 30 31 31 36 32 31 00 30 30 30 30
30 32 33 35 34 30 36 00 31 32 32 34 33 34 31 34
34 36 31 00 20 20 20 20 20 20 20 20 30 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 75 73 74 61 72 20 20 00 64 69 73 74 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 64 69 73 74 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
make: *** [bin_export] Error 1
*** pike.rhel5_x86 FAILED ***
The above seems to bre triggered from the following code fragment in bin/tarfilter.pike:
```
s=s[..147]+" "+s[156..];
if(`+(@values(s[..511])) != csum) {
werror("CHECKSUM ERROR on input (got %d, expected %d(%s))!\n",
`+(@values(s[..511])), csum, a[6]);
werror("%{ %{%02x %}\n%}", ({(((array)s)/16)[*]}));
exit(1);
}
```
Some simple checks in a working Pike give that the checksum in the file was correct:
```
Pike v7.8 release 481 running Hilfe v3.5 (Incremental Pike Frontend)
> 021233;
(1) Result: 8859
> string s = "50 69 6b 65 2d 76 37 2e 38 2e 38 34 34 2d 4c 696e 75 78 2d 32 2e 36 2e 31 38 2d 33 34 38 2e 3132 2e 31 2e 65 6c 35 2d 69 36 38 36 2e 64 69 72 2f 62 69 6e 2f 69 6e 73 74 61 6c 6c 2e 70 69 6b6530 30 30 30 36 36 34 00 30 30 31 3136 32 31 00 30 30 31 31 36 32 31 00 30 30 30 3030 32 33 35 34 30 36 00 31 32 32 34 33 34 31 3434 36 31 00 20 20 20 20 20 20 20 20 30 00 75 73 74 61 72 20 20 00 64 69 73 74 00 00 0000 00 00 00 00 00 00 00 00 64 69 73 74 00 00 00 " - " ";
> string s2 = Gmp.bignum(s, 16)->digits(256);
> s2;
(2) Result: "Pike-v7.8.844-Linux-2.6.18-348.12.1.el5-i686.dir/bin/install.pike0000664\0""0011621\0""0011621\0""00000235406\0""12243414461\0 0\0ustar \0dist\0\0\0\0\0\0\0\0\0\0\0\0dist\0\0\0"
> `+(0, @values(s2));
(3) Result: 8859
```
So a reasonable conclusion is that the splice operator is broken.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7063The kqueue backend doesn't support out of band data.2020-03-01T15:39:35ZPeter BortasThe kqueue backend doesn't support out of band data.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7063
Reported by @grubba
The socktest.pike test "Testing out-of-band data" times out when waiting for the sent out of band data to arrive.
With OOB_DEBUG enabled on a pi...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7063
Reported by @grubba
The socktest.pike test "Testing out-of-band data" times out when waiting for the sent out of band data to arrive.
With OOB_DEBUG enabled on a pike compiled with BACKEND_DEBUG, the following is output:
```
Child: Testing out-of-band data
originator: Stdio.File("socket", "127.0.0.1:62128", 777 /* fd=9 */)
loopback: Stdio.File("socket", "127.0.0.1 62129", 777 /* fd=10 */)
[2085229328]BACKEND[0]: hook_fd_callback_box: fd 9, events 0xc, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 0, 12):
[2085229328]BACKEND[0]: fd:9 READ, ADD, [OOBAND]
[2085229328]BACKEND[0]: fd:9 WRITE, ADD
BACKEND: EV_ADD fd:9, filter:-2
BACKEND: EV_ENABLE fd:9, filter:-2
[2085229328]BACKEND[0]: hook_fd_callback_box: fd 10, events 0x4, object 0x1008227a0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 10, 0, 4):
[2085229328]BACKEND[0]: fd:10 READ, ADD, [OOBAND]
[2085229328]BACKEND[0]: Doing poll on fds:
=> 1 (timeout was: 3600)
[2085229328]BACKEND[0]: fd:9 filter:-2 flags:0x00000001 EVFILT_WRITE(146988)
[2085229328]BACKEND[0]: POLLWRBAND on 9
[2085229328]BACKEND[0]: POLLOUT on 9
[2085229328]BACKEND[0]: hooking in box for fd 9
[2085229328]BACKEND[0]: Examining box for fd 9 revents:0x000a
[2085229328]BACKEND[0]: write_oob_callback(9, 0x1008227d0)
[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0xc to 0x4, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 12, 4):
[2085229328]BACKEND[0]: fd:9 WRITE, DISABLE
BACKEND: EV_DISABLE fd:9, filter:-2
S[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0x4 to 0xc, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 4, 12):
[2085229328]BACKEND[0]: fd:9 WRITE, ADD
BACKEND: EV_ADD fd:9, filter:-2
BACKEND: EV_ENABLE fd:9, filter:-2
[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0xc to 0x4, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 12, 4):
[2085229328]BACKEND[0]: fd:9 WRITE, DISABLE
BACKEND: EV_DISABLE fd:9, filter:-2
[2085229328]BACKEND[0]: set_fd_callback_events: fd 10, events from 0x4 to 0x4, object 0x1008227a0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 10, 4, 4):
[2085229328]BACKEND[0]: Examining box for fd -1 revents:0x0000
[2085229328]BACKEND[0]: Doing poll on fds:
[*timeout*]^C
What we can see above is that a single byte is sent on fd #9 ("S" above), but not notified on fd #10 even though it has PIKE_BIT_FD_READ_OOB (4) set.
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7066The SSL.sslfile destruct callback can hang the backend thread.2014-03-27T12:07:51ZPeter BortasThe SSL.sslfile destruct callback can hang the backend thread.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7066
Reported by @grubba
In a clean Roxen 5.4.66 installation:
```
: ###### Describing all 11 pike threads:
: >>
15:44:27 : >> ### Thread 0x1 - Back...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7066
Reported by @grubba
In a clean Roxen 5.4.66 installation:
```
: ###### Describing all 11 pike threads:
: >>
15:44:27 : >> ### Thread 0x1 - Backend:
1d 1h 4m : >> -:1: Thread.Thread(1)->backtrace()
: >> base_server/roxen.pike:5820: roxen()->describe_all_threads(3,_static_modules.Builtin()->threads_disabled())
: >> -:1: Pike.Backend(13)->`()(0)
: >> pike/lib/modules/SSL.pmod/sslfile.pike:1568: SSL.sslfile(Fd(31))->direct_write()
: >> pike/lib/modules/SSL.pmod/sslfile.pike:609: SSL.sslfile(Fd(31))->close(0,0,1)
15:44:27 : >> pike/lib/modules/SSL.pmod/sslfile.pike:755: SSL.sslfile(Fd(31))->destroy()
1d 1h 4m : >> -:1: Pike.Backend(0)->`()(3600.0)
: >> pike/lib/master.pike:3908: master()->_main(({"/home/www/pike/roxen/server-5.4.66/bin/roxen","-DRAM_CACHE","-DNEW_RAM_CACHE","-DHTTP_COMPRESSION","-DENABLE_THREADS","-M/home/www/pike/roxen/server-5.4.66/etc/modules",,,7}))
```
The server has so far stayed up since the tentative patch (2014-03-23 12:25):
```
$ diff -U3 sslfile.pike.orig sslfile.pike
--- sslfile.pike.orig Thu Mar 20 14:37:12 2014
+++ sslfile.pike Sun Mar 23 12:24:22 2014
@@ -597,7 +597,9 @@
RETURN (0);
}, 0);
- if (close_packet_send_state == CLOSE_PACKET_NOT_SCHEDULED)
+ if (dont_throw) {
+ close_packet_send_state = CLOSE_PACKET_MAYBE_IGNORED_WRITE_ERROR;
+ } else if (close_packet_send_state == CLOSE_PACKET_NOT_SCHEDULED)
close_packet_send_state = CLOSE_PACKET_SCHEDULED;
// Even in nonblocking mode we call direct_write here to try to
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7126Intermittent issue fetching https urls2014-05-21T14:23:27ZPeter BortasIntermittent issue fetching https urlsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7126
Reported by Tobias Liin <liin@roxen.com>
For some https urls, intermittently, Protocols.HTTP.Query.async_fetch() fails to fetch them:
```
Failed to close SSL connec...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7126
Reported by Tobias Liin <liin@roxen.com>
For some https urls, intermittently, Protocols.HTTP.Query.async_fetch() fails to fetch them:
```
Failed to close SSL connection: Broken pipe
tmp/pike/roxen/server-5.4.66/pike/lib/modules/SSL.pmod/sslfile.pike:619: SSL.sslfile(0)->close(UNDEFINED,UNDEFINED,UNDEFINED)
tmp/pike/roxen/server-5.4.66/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:169: Protocols.HTTP.Query(200 OK)->close_connection()
tmp/pike/roxen/server-5.4.66/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:385: Protocols.HTTP.Query(200 OK)->async_fetch_close()
-:1: Pike.Backend(0)->`()(3600.0)
```
The following test code can be used to trigger the problem. The same file when uploaded to kld-racing.se (roxen cms 5.0.449) works perfectly. With direktpress.roxen.com (roxen cms 5.4.66) fails pretty much on every attempt.
----------------
```
//string url = "https://www.kld-racing.se/atom.xml";
string url = "https://direktpress.roxen.com/atom.xml";
void http_ok(mixed con) {
write("http_ok()\n");
con->async_fetch(http_got_data);
}
void http_done() {
write("http_done()\n");
}
void http_got_data(mixed con) {
write("http_got_data()\n");
string data = con->data();
write("-------\n%O\n---------\n", data[sizeof(data)-10..]);
}
int main() {
mixed con = Protocols.HTTP.Query();
con->set_callbacks(http_ok, http_done, url);
Protocols.HTTP.do_async_method("GET", url, UNDEFINED, ([]), con);
return -1;
}
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7143Protocols.HTTP.Query: async request fails when keep-alive connection was closed2014-05-27T15:26:41ZPeter BortasProtocols.HTTP.Query: async request fails when keep-alive connection was closedImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7143
Reported by Martin Karlgren <marty@roxen.com>
If a Protocols.HTTP.Query instance is used with a keep-alive connection, async_request fails if the remote end closed t...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7143
Reported by Martin Karlgren <marty@roxen.com>
If a Protocols.HTTP.Query instance is used with a keep-alive connection, async_request fails if the remote end closed the connection.
Proposed fix attached.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7230Stdio.sendfile() fails with "Indexing the NULL value with \"call_out\".".2014-08-11T14:29:23ZPeter BortasStdio.sendfile() fails with "Indexing the NULL value with \"call_out\".".Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7230
Reported by @grubba
```
: Internal server error in FTP2
14:04:50 : Handling command "MLSD"
1m 9.6s : Indexing the NULL value with "call_out".
: /home/gr...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7230
Reported by @grubba
```
: Internal server error in FTP2
14:04:50 : Handling command "MLSD"
1m 9.6s : Indexing the NULL value with "call_out".
: /home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.3/lib/modules/Stdio.pmod/module.pmod:3176: object()->create(({""}),0,-1,-1,0,SSL.File(Stdio.File("socket", "212.247.28.152 64300", 777 /* fd=32 */), SSL.ServerConnection(ready)),/home/grubba/src/Roxen/devel/server/base_server/fastpipe()->sendfile_done)
: /home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.3/lib/modules/Stdio.pmod/module.pmod:2859: Stdio.nb_sendfile()
: /home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.3/lib/modules/Stdio.pmod/module.pmod:3327: Stdio.sendfile(@0=({""}),0,-1,-1,0,@1=SSL.File(Stdio.File("socket", "212.247.28.152 64300", 777 /* fd=32 */), SSL.ServerConnection(ready)),@2=/home/grubba/src/Roxen/devel/server/base_server/fastpipe()->sendfile_done)
: base_server/fastpipe.pike (bd74629d):36: /home/grubba/src/Roxen/devel/server/base_server/fastpipe()->output(@1)
14:04:50 : protocols/ftp.pike (4ac4dc02):2178: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->connected_to_send(@1,"",mapping[4],RequestID())
1m 9.6s : protocols/ftp.pike (4ac4dc02):1764: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->ftp_async_accept(/home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->connected_to_send,@3=mapping[4],@4=RequestID())
: protocols/ftp.pike (4ac4dc02):2274: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->connect_and_send(@3,@4)
: protocols/ftp.pike (4ac4dc02):2721: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->send_MLSD_response(([]),@4)
: protocols/ftp.pike (4ac4dc02):3612: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->ftp_MLSD("/htbug/")
: protocols/ftp.pike (4ac4dc02):4175: /home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->__lambda_66797_14_line_4172(/home/grubba/src/Roxen/devel/server/protocols/ftp()->FTPSession()->ftp_MLSD,0,"MLSD")
14:04:50 : base_server/roxen.pike (27d0541e):927: roxen()->handler_thread(10)
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7253Calendar.ISO.dwim_time() broken between 7.8.534 and 7.8.850.2014-09-26T16:00:30ZPeter BortasCalendar.ISO.dwim_time() broken between 7.8.534 and 7.8.850.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7253
Reported by @grubba
```
778999 idag 11:50 /16 rader/ Anders Johansson
Mottagare: Pike (-) Utvecklings- och Diskussionsforum <30573>
Ärende: Tras i Calendar
---------...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7253
Reported by @grubba
```
778999 idag 11:50 /16 rader/ Anders Johansson
Mottagare: Pike (-) Utvecklings- och Diskussionsforum <30573>
Ärende: Tras i Calendar
------------------------------------------------------------
Roxen 5.1 ok:
Pike v7.8 release 534 running Hilfe v3.5 (Incremental Pike Frontend)
> Calendar.dwim_time("20140827T000000");
(1) Result: Second(Wed 27 Aug 2014 0:00:00 CEST)
Roxen 5.2:
Pike v7.8 release 850 running Hilfe v3.5 (Incremental Pike Frontend)
> Calendar.dwim_time("20140827T000000");
Failed to dwim time from "20140827T000000"
/usr/local/backend/roxen/server-5.4.66/pike/lib/modules/Calendar.pmod/YMD.pike:3145: ISO->dwim_time("20140827T000000",UNDEFINED)
Båda:
> Calendar.ISO.parse("%h%m", "0000");
(1) Result: 0
> Calendar.ISO.parse("%h %m", "00 00");
(2) Result: Minute(Wed 27 Aug 2014 0:00 CEST)
(778999) /Anders Johansson/-------------------------
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7255REP search indexer fails with MySQL 5.5.2014-08-29T14:36:34ZPeter BortasREP search indexer fails with MySQL 5.5.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7255
Reported by @grubba
From the testsuite:
REP search indexer failed:
big_query(): Query failed (DELAYED option not supported for table 'metadata')
REP search indexer ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7255
Reported by @grubba
From the testsuite:
REP search indexer failed:
big_query(): Query failed (DELAYED option not supported for table 'metadata')
REP search indexer failed:
big_query(): Query "replace delayed into metadata (doc_id, name, value) values (2,'size','133'), (2,'story_uuid','58552264-f855-41ca-9037-2f3c1b11842a'), (2,'story_id','117'), (2,'story_item_uuid','270a482b-3d60-46fa-bf2e-05c0e729b22b'), (2,'story_item_version_uuid','3c8387ba-0123-4166-8a28-5a8061c3f2a8'), (2,'status','imported'), (2,'mtime','1409307926'), (2,'class','rep.image')" failed (DELAYED option not supported for table 'metadata')
REP search indexer failed:
big_query(): Query "replace delayed into metadata (doc_id, name, value) values (3,'size','132'), (3,'story_uuid','f7730d35-9fad-4032-867b-579b4a8e8368'), (3,'story_id','519'), (3,'story_item_uuid','49be424c-7fbd-49cd-a6ad-591dd378134c'), (3,'story_item_version_uuid','86310fe1-30b5-44b9-aadb-3d5dc2710941'), (3,'status','imported'), (3,'mtime','1409307935'), (3,'class','rep.image')" failed (DELAYED option not supported for table 'metadata')
Also:
REP search indexer failed:
big_query(): Query "insert delayed into deleted_document (doc_id) values (489)" failed (DELAYED option not supported for table 'deleted_document')Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7271Win32: ERROR_DIRECTORY should map to ENOTDIR2014-09-15T10:08:22ZPeter BortasWin32: ERROR_DIRECTORY should map to ENOTDIRImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7271
Reported by Martin Karlgren <marty@roxen.com>
The win32 ERROR_DIRECTORY (267) code should arguably map to ENOTDIR. _dosmaperr doesn't seem to care about ERROR_DIRECT...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7271
Reported by Martin Karlgren <marty@roxen.com>
The win32 ERROR_DIRECTORY (267) code should arguably map to ENOTDIR. _dosmaperr doesn't seem to care about ERROR_DIRECTORY for some reason, but it seems like a logical thing to do.
As an example, python does a corresponding remap since a couple of years, see http://bugs.python.org/issue12802
A remap could easily be performed in set_errno_from_win32_error.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7363Compat resolver related crash.2020-03-01T15:42:02ZPeter BortasCompat resolver related crash.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7363
Reported by Martin Nilsson <nilsson@opera.com>
Create a file with
```
#pike 8.1
inherit Crypto.BlockCipher;
class _Buffer {
inherit ::this_program;
}
```
as lib/...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7363
Reported by Martin Nilsson <nilsson@opera.com>
Create a file with
```
#pike 8.1
inherit Crypto.BlockCipher;
class _Buffer {
inherit ::this_program;
}
```
as lib/8.0/modules/Crypto.pmod/CompatProxy.pmod and run hilfe, you'll get the following crash.
```
Pike v8.1 release 0 running Hilfe v3.5 (Incremental Pike Frontend)
(running in Pike 8.0 compat mode)
> Crypto.CompatProxy;
Program received signal SIGSEGV, Segmentation fault.
low_clone (p=0xd46288) at /home/nilsson/pike/src/object.c:167
167 LOW_PARENT_INFO(o,p)->parent=0;
(gdb) bt
#0 low_clone (p=0xd46288) at /home/nilsson/pike/src/object.c:167
#1 0x00000000004bc16d in parent_clone_object (p=0xd46288,
parent=parent@entry=0x8be8f0,
parent_identifier=parent_identifier@entry=19, args=args@entry=0)
at /home/nilsson/pike/src/object.c:395
#2 0x000000000042b0f4 in lower_mega_apply (args=0, o=0x8be8f0, fun=19)
at /home/nilsson/pike/src/interpret.c:2196
#3 0x000000000042d674 in mega_apply_low (args=<optimized out>,
arg1=<optimized out>, arg2=<optimized out>)
at /home/nilsson/pike/src/interpret.c:2715
#4 0x00002aaaad13e241 in init_Nettle_BufferedCipher_struct ()
at /home/nilsson/pike/src/post_modules/Nettle/cipher.cmod:1036
#5 Nettle_BufferedCipher_event_handler (ev=0)
at /home/nilsson/pike/src/post_modules/Nettle/cipher.cmod:1048
#6 0x00000000004bb9d5 in call_c_initializers (o=0x8be8f0)
at /home/nilsson/pike/src/object.c:278
#7 0x00000000004e99dd in run_pass1 (c=0xae2970)
at /home/nilsson/pike/src/program.c:9143
#8 f_compilation_compile (args=<optimized out>)
at /home/nilsson/pike/src/program.c:9669
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7364Compat resolver can't handle module.pmod2014-11-21T16:43:17ZPeter BortasCompat resolver can't handle module.pmodImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7364
Reported by Martin Nilsson <nilsson@opera.com>
A very simple example is in the 8.0 compat code for Locale in 8.1. The Locale.pmod/module.pmod file essentially only c...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7364
Reported by Martin Nilsson <nilsson@opera.com>
A very simple example is in the 8.0 compat code for Locale in 8.1. The Locale.pmod/module.pmod file essentially only contains
```
#pike 8.1
inherit Locale;
object Charset = global.Charset;
```
but when accessed creates the following error
```
Pike v8.1 release 0 running Hilfe v3.5 (Incremental Pike Frontend)
(running in Pike 8.0 compat mode)
> Locale;
(1) Result: Locale
> indices(Locale);
Bad argument 1.
Unknown program: foreach(UNDEFINED)
master.pike:2233:
master()->joinnode(0).create(UNDEFINED,UNDEFINED,UNDEFINED,UNDEFINED)
-:1: PikeCompiler("", UNDEFINED, 8, -1, target, placeholder)->compile()
-:1:
DefaultCompilerEnvironment->compile(PikeCompiler("", UNDEFINED, 8, -1, tar
get, placeholder))
master.pike:675:
compile_string("#pike 8.1\n\ninherit Locale;\n\n//! @module Charset\n//!\n
//! This is the old loca"+[162],"/home/nilsson/pike/lib/8.0/modules/Loca
le.pmod/module.pmod",0,object_program(8.0::Locale),master()->joinnode(0),U
NDEFINED)
master.pike:1378:
master()->low_findprog("/home/nilsson/pike/lib/8.0/modules/Locale.pmod/mod
ule.pmod","",0,1)
master.pike:1501:
master()->findprog("/home/nilsson/pike/lib/8.0/modules/Locale.pmod/module.
pmod",".pmod",0,1)
master.pike:1535:
master()->low_cast_to_program("/home/nilsson/pike/lib/8.0/modules/Locale.p
mod/module",0,0,1)
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7384Broken "--" operator on mappings2014-12-05T16:42:44ZPeter BortasBroken "--" operator on mappingsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7384
Reported by Martin Karlgren <marty@roxen.com>
```
Pike v8.0 release 34 running Hilfe v3.5 (Incremental Pike Frontend)
> mapping m = ([ 4711: 5 ]);
> --m[4711];
(1) R...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7384
Reported by Martin Karlgren <marty@roxen.com>
```
Pike v8.0 release 34 running Hilfe v3.5 (Incremental Pike Frontend)
> mapping m = ([ 4711: 5 ]);
> --m[4711];
(1) Result: 4710
> m;
(2) Result: ([ /* 1 element */
4711: 5
])
Pike v7.8 release 883 running Hilfe v3.5 (Incremental Pike Frontend)
> mapping m = ([ 4711: 5 ]);
> --m[4711];
(1) Result: 4
> m;
(2) Result: ([ /* 1 element */
4711: 4
])
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7397Segfault after for clause compilation error2014-12-08T10:58:41ZPeter BortasSegfault after for clause compilation errorImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7397
Reported by Martin Karlgren <marty@roxen.com>
Test case:
```
$ bin/pike
Pike v8.0 release 35 running Hilfe v3.5 (Incremental Pike Frontend)
> for (i = 0; 1; i += 1)...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7397
Reported by Martin Karlgren <marty@roxen.com>
Test case:
```
$ bin/pike
Pike v8.0 release 35 running Hilfe v3.5 (Incremental Pike Frontend)
> for (i = 0; 1; i += 1) { }
Segmentation fault: 11
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7406Protocols.LDAP: Lock on AD-server (DNS round robin) until failover needed to ...2015-01-16T13:51:34ZPeter BortasProtocols.LDAP: Lock on AD-server (DNS round robin) until failover needed to avoid flip-flop.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7406
Reported by @grubba
```
[roxen.com #23861], [roxen.com #20751]:
```
If AD import is configured to an URL that resolves to several ip numbers the
user import may fai...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7406
Reported by @grubba
```
[roxen.com #23861], [roxen.com #20751]:
```
If AD import is configured to an URL that resolves to several ip numbers the
user import may fail.
This is due to the incremental update relying on uSNChanged, which is unique
for each of the LDAP servers in the cluster.
The Protocols.LDAP module should attempt to connect to the same server in the
cluster every time and only switch servers when the old one fails.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7426foreach/array indexing bug2015-02-19T13:45:59ZPeter Bortasforeach/array indexing bugImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7426
Reported by Martin Karlgren <marty@roxen.com>
$ pike -e 'foreach (({})[1..], mixed e) werror ("e: %O\n", e);'
e: 0.0
Segmentation fault: 11
Tested with Pike 8.0.36 ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7426
Reported by Martin Karlgren <marty@roxen.com>
$ pike -e 'foreach (({})[1..], mixed e) werror ("e: %O\n", e);'
e: 0.0
Segmentation fault: 11
Tested with Pike 8.0.36 on Mac OS X (x86_64) and 8.0.25 on Linux (x86_64).Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7427Address Sanitizer, Undefined Behaviour Sanitizer report2015-03-30T17:53:44ZPeter BortasAddress Sanitizer, Undefined Behaviour Sanitizer reportImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7427
Reported by <t@sharklasers.com>
Compiling the source of the 7.8.886 release with gcc's
-fsanitize=address -fsanitize=leak -fsanitize=undefined
and running the ver...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7427
Reported by <t@sharklasers.com>
Compiling the source of the 7.8.886 release with gcc's
-fsanitize=address -fsanitize=leak -fsanitize=undefined
and running the verbose_verify target has reported a possible address error and various possible signed integer overflow errors.
A cleaned up version of the report is attached. Duplicates have not been removed, as frequency of occurrence might be of interest.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7433SSL.Connection has a race condition on session reuse/invalidation.2015-04-09T15:17:14ZPeter BortasSSL.Connection has a race condition on session reuse/invalidation.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7433
Reported by @grubba
If a session is invalidated while it is being used for renegotiation it may cause the following backtrace:
```
2m14.7s : Internal server error...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7433
Reported by @grubba
If a session is invalidated while it is being used for renegotiation it may cause the following backtrace:
```
2m14.7s : Internal server error: [thr:140238989276928,fd:38] SSL.File->set_nonblocking (0, object()->write_cb, 0, 0, 0, 0)
Bad argument 1 to sizeof().
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:112: Crypto.SHA256.HMAC->State()->create(UNDEFINED,64)
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:95: Crypto.SHA256.HMAC->State()
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/__builtin.pmod/Nettle.pmod/Hash.pike:182: Crypto.SHA256.HMAC->`()(UNDEFINED,UNDEFINED)
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/SSL.pmod/Cipher.pmod:1303: SSL.Cipher.P_hash(Crypto.SHA256,UNDEFINED,"client finishedÈë;ÔOÙænK\233\20\36c\23ú\få.ª³\36\227_\t!»ùfÙ\ré\212",12)
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/SSL.pmod/Cipher.pmod:1355: SSL.Cipher.prf_tls_1_2(UNDEFINED,"client finished","Èë;ÔOÙænK\233\20\36c\23ú\få.ª³\36\227_\t!»ùfÙ\ré\212",12)
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/SSL.pmod/ServerConnection.pike:822: SSL.ServerConnection(handshaking)->handle_handshake(20,".\6\211\31\tP\4\211\222íH²","\24\0\0\f.\6\211\31\tP\4\211\222íH²")
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/SSL.pmod/Connection.pike:884: SSL.ServerConnection(handshaking)->got_data("")
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/SSL.pmod/File.pike:1839: SSL.File(Stdio.File("socket", "127.0.0.1 47856", 777 /* fd=39 */), SSL.ServerConnection(handshaking))->ssl_read_callback(Stdio.File("socket", "127.0.0.1 47856", 777 /* fd=39 */),"\24\3\3\0\1\1\26\3\3\0@Ùa²#i~\225|\231*á\231O\35C'\v÷G®åZÓUi\21ì|b`ø*@\0h+â\20OµìÑÜ*â\v\31\22\25\234\231¨.d\210¹¦\\b\21º0\31")
/home/grubba/src/Pike/8.0/build/medaka/test-install/pike/8.0.39/lib/modules/Stdio.pmod/module.pmod:1122: Stdio.File("socket", "127.0.0.1 47856", 777 /* fd=39 */)->__stdio_read_callback()
-:1: Pike.Backend(0)->`()(3600.0)
```
The problem is caused by SSL.Session()->master_session having been cleared by purge_session().
Note that it is unclear what the semantics are when a session is renegotiated while also being active in a different connection.
The best fix may be to only record sessions on successful close.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7460"Lookup in destructed object." in Protocols.DNS.2015-09-24T14:04:43ZPeter Bortas"Lookup in destructed object." in Protocols.DNS.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7460
Reported by @grubba
```
: Login attempt from 212.247.XXX.XXX
: Administrator logged on as XXX from 212.247.XXX.XXX (212.247.XXX.XXX).
: Internal ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7460
Reported by @grubba
```
: Login attempt from 212.247.XXX.XXX
: Administrator logged on as XXX from 212.247.XXX.XXX (212.247.XXX.XXX).
: Internal server error: Lookup in destructed object.
16:47:33 : RXML frame backtrace:
27m58.8s : | <cf-boxes>
: | <eval>
: | <colorscope bgcolor="#f2f1eb">
: | <contents>
: | <cset quote="none" variable="var.content">
16:47:33 : | <content>
27m58.8s : | <contents>
: | <gauge resultonly="yes" variable="var.time_parse_spent">
: | <nooutput>
: | <gauge resultonly="yes" variable="var.time_spent">
: | <tmpl title=" /">
16:47:33 : /web/frontend/roxen/server-6.0.30/pike/lib/modules/Protocols.pmod/DNS.pmod:1941: Protocols.DNS.async_client()->do_query("www.roxen.com",1,1,Protocols.DNS.async_client()->generic_get,-1,0,1,"a","www.roxen.com",function,function,80)
27m58.8s : /web/frontend/roxen/server-6.0.30/pike/lib/modules/Protocols.pmod/DNS.pmod:2022: Protocols.DNS.async_client()->host_to_ip("www.roxen.com",function,function,80)
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:541: unknown function("www.roxen.com",function,80)
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:822: unknown function("www.roxen.com",80,"GET /press-ir/news/index.xml?__xsl=printerfriendly.xsl HTTP/1.0","Host: www.roxen.com:80\r\nUser-agent: Roxen CMS/6.0.30\r\n",UNDEFINED)
: /web/frontend/roxen/server-6.0.30/config_interface/boxes/Box.pmod:109: Box.pmod().Fetcher()->start()
: /web/frontend/roxen/server-6.0.30/config_interface/boxes/Box.pmod:141: Box.pmod().Fetcher()->create(UNDEFINED,"www.roxen.com",80,"GET /press-ir/news/index.xml?__xsl=printerfriendly.xsl HTTP/1.0",RequestID(/))
16:47:33 : /web/frontend/roxen/server-6.0.30/config_interface/boxes/Box.pmod:75: Box.pmod().Fetcher()
27m58.8s : /web/frontend/roxen/server-6.0.30/config_interface/boxes/Box.pmod:160: Box.pmod().get_http_data("www.roxen.com",80,"GET /press-ir/news/index.xml?__xsl=printerfriendly.xsl HTTP/1.0",UNDEFINED)
: /web/frontend/roxen/server-6.0.30/config_interface/boxes/ris_news.pike:58: ris_news.pike().parse(@0=RequestID(/))
: /web/frontend/roxen/server-6.0.30/modules/configuration/config_tags.pike (ae991458):751: Frame(cf-boxes)->do_return(@0)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4968: Frame(cf-boxes)->_eval(Context(),RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),RXML.t_any_text(text/*, xml))
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagCFBoxes(cf-boxes)->_p_xml_handle_tag(@1=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),([]),"")
16:47:33 : /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <cf-boxes/>\n ")
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <cf-boxes/>\n ")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(eval)->_eval(@2=Context(),RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@3=RXML.t_any_text(text/*, xml))
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagEval(eval)->_p_xml_handle_tag(@4=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),([]),"\n <cf-boxes/>\n ")
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <eval>\n <cf-boxes/>\n </eval>\n ")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <eval>\n <cf-boxes/>\n </eval>\n ")
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(colorscope)->_eval(@2,RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@3)
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagColorScope(colorscope)->_p_xml_handle_tag(@5=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),mapping[1],"\n <eval>\n <cf-boxes/>\n </eval>\n ")
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-unit' width='40' height='1' alt='' />\n </td>\n"+[613])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-unit' width='40' height='1' alt='' />\n </td>\n"+[613])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: ExpansionFrame(contents in UserTag.Frame(content))->_eval(@2,RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@3)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):3909: Frame(contents)->_exec_array(@2,@6=RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),({ExpansionFrame(contents in UserTag.Frame(content))}),"do_return")
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4972: Frame(contents)->_eval(@2,@6,@3)
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: UserTagContents(contents)->_p_xml_handle_tag(@6,([]),"")
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<contents/>")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_any_text(text/*, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<contents/>")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(cset)->_eval(@2,RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),RXML.t_ignore(ignore, xml))
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagCSet(cset)->_p_xml_handle_tag(@7=RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),mapping[2],"<contents/>")
16:47:33 : /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<cset quote=\"none\" variable=\"var.content\"><contents/></cset>")
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<cset quote=\"none\" variable=\"var.content\"><contents/></cset>")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):3870: UserTag.Frame(content)->_exec_array(@2,RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),({"<cset quote=\"none\" variable=\"var.content\"><contents/></cset>"}),"do_return")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4972: UserTag.Frame(content)->_eval(@2,@8=RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@9=RXML.t_ignore(ignore, xml))
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: UserTag(content)->_p_xml_handle_tag(@8,([]),"\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-unit' width='40' height='1' alt='' />\n "+[619])
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-unit' width='"+[661])
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-unit' width='"+[661])
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: ExpansionFrame(contents in UserTag.Frame(tmpl))->_eval(@2,RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@9)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):3909: Frame(contents)->_exec_array(@2,@10=RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),({ExpansionFrame(contents in UserTag.Frame(tmpl))}),"do_return")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4972: Frame(contents)->_eval(@2,@10,@9)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: UserTagContents(contents)->_p_xml_handle_tag(@10,([]),"")
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <contents/>\n")
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <contents/>\n")
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(gauge)->_eval(@2,RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@9)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagGauge(gauge)->_p_xml_handle_tag(@11=RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),mapping[2],"\n <contents/>\n")
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variable=\"var.leftimage\"><img src=\"&usr.left-image;\" alt=\"\" /></define>\n <define preparse=\"1\" name=\"tab-frame-ima"+[354])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_ignore(ignore, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variable=\"var.leftimage\"><img src=\"&usr.left-image;\" alt=\"\" /></define>\n <define preparse=\"1\" name=\"tab-frame-ima"+[354])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(nooutput)->_eval(@2,RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),RXML.t_html(text/html, xml))
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagNoOutput(nooutput)->_p_xml_handle_tag(@12,([]),"\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variable=\"var.leftimage"+[445])
27m58.8s : /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n<nooutput>\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variable=\"var.leftimage\"><img src=\"&usr.left-image;\" alt=\"\" /></define>\n <define preparse=\"1\" name=\"ta"+[2003])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("\n<nooutput>\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variable=\"var.leftimage\"><img src=\"&usr.left-image;\" alt=\"\" /></define>\n <define preparse=\"1\" name=\"ta"+[2003])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4825: Frame(gauge)->_eval(@2,RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set)),@13=RXML.t_html(text/html, xml))
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: TagGauge(gauge)->_p_xml_handle_tag(@14,mapping[2],"\n<nooutput>\n <eval><insert file=\"/themes/&usr.theme;/theme\"/></eval>\n <define preparse=\"1\" variab"+[2100])
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n <trans-reg project=\"roxen_config\" />\n<html><head>\n<meta http-equiv=\"X-UA-Compatible\" conten"+[3345])
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_html(text/html, xml),RXML.CompositeTagSet(_user_tag+rxml_tag_set))->finish("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n <trans-reg project=\"roxen_config\" />\n<html><head>\n<meta http-equiv=\"X-UA-Compatible\" conten"+[3345])
27m58.8s : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):3870: UserTag.Frame(tmpl)->_exec_array(@2,RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Administration Interface,rxml_tag_set)),({"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/lo"+[3448]}),"do_return")
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):4972: UserTag.Frame(tmpl)->_eval(@2,@15=RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Administration Interface,rxml_tag_set)),@13)
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):485: UserTag(tmpl)->_p_xml_handle_tag(@15,mapping[1],"<topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n <img src='/internal-roxen-"+[674])
: /web/frontend/roxen/server-6.0.30/pike/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Administration Interface,rxml_tag_set))->finish("<use file='///template'/><tmpl title=' /'><topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n "+[710])
: /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/PXml.pike (f9f92d22):385: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Administration Interface,rxml_tag_set))->finish("<use file='///template'/><tmpl title=' /'><topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n "+[710])
16:47:33 : /web/frontend/roxen/server-6.0.30/etc/modules/RXML.pmod/module.pmod (52ac0660):5640: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Administration Interface,rxml_tag_set))->write_end("<use file='///template'/><tmpl title=' /'><topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <td width='40'>\n "+[710])
27m58.8s : /web/frontend/roxen/server-6.0.30/base_server/rxml.pike (dc14c35e):291: Configuration(Administration Interface)->parse_rxml("<use file='///template'/><tmpl title=' /'><topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n "+[732],@0,UNDEFINED,mapping[41])
: /web/frontend/roxen/server-6.0.30/etc/modules/Roxen.pmod (5f1debb8):650: Roxen.http_rxml_answer("<use file='///template'/><tmpl title=' /'><topmenu selected=\"hype\"/>\n\n<content>\n <img src=\"/internal-roxen-unit\" width=1 height=\"16\" alt=\"\" /><br />\n <table>\n <tr>\n <"+[730],@0,UNDEFINED,UNDEFINED)
: /web/frontend/roxen/server-6.0.30/modules/configuration/config_filesystem.pike (cc07faf6):383: RoxenModule(Administration Interface/config_filesystem#0)->find_file("index.html",@0)
: /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2266: Configuration(Administration Interface)->low_get_file(@0,UNDEFINED)
: /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2524: Configuration(Administration Interface)->get_file(@0,UNDEFINED,UNDEFINED)
16:47:33 : /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2499: Configuration(Administration Interface)->handle_request(@0,UNDEFINED)
27m58.8s : /web/frontend/roxen/server-6.0.30/modules/directories/indexfiles.pike (9f910dd2):59: RoxenModule(Administration Interface/indexfiles#0)->parse_directory(@0)
: /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2345: Configuration(Administration Interface)->low_get_file(@0,UNDEFINED)
: /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2524: Configuration(Administration Interface)->get_file(@0,UNDEFINED,UNDEFINED)
: /web/frontend/roxen/server-6.0.30/base_server/configuration.pike (64d5f09a):2499: Configuration(Administration Interface)->handle_request(@0,UNDEFINED)
: /web/frontend/roxen/server-6.0.30/protocols/http.pike (f046182d):3063: RequestID(/)->handle_request()
16:47:33 : /web/frontend/roxen/server-6.0.30/protocols/http.pike (f046182d):3006: RequestID(/)->handle_request_from_queue()
27m58.8s : /web/frontend/roxen/server-6.0.30/base_server/roxen.pike (3d2bd30b):923: roxen()->handler_thread(0)
:
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7469Warnings starting Roxen 6.0.30.2015-04-28T14:41:39ZPeter BortasWarnings starting Roxen 6.0.30.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7469
Reported by @grubba
Some warnings are left in Pike 8.0.66:
```
: Loading Pike modules ... pike/lib/modules/Crypto.pmod/RSA.pmod:212: Warning: Type mismatc...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7469
Reported by @grubba
Some warnings are left in Pike 8.0.66:
```
: Loading Pike modules ... pike/lib/modules/Crypto.pmod/RSA.pmod:212: Warning: Type mismatch in argument 2 to get_prime.
pike/lib/modules/Crypto.pmod/RSA.pmod:212: Warning: Expected: function(int : string(8bit)).
pike/lib/modules/Crypto.pmod/RSA.pmod:212: Warning: Got : function(int(0..2147483647) : string(8bit)).
pike/lib/modules/Crypto.pmod/RSA.pmod:213: Warning: Type mismatch in argument 2 to get_prime.
pike/lib/modules/Crypto.pmod/RSA.pmod:213: Warning: Expected: function(int : string(8bit)).
pike/lib/modules/Crypto.pmod/RSA.pmod:213: Warning: Got : function(int(0..2147483647) : string(8bit)).
pike/lib/modules/Crypto.pmod/DSA.pmod:135: Warning: An expression of type __attribute__("sprintf_result", string) cannot be assigned to a variable of type string(8bit).
Done [214.0ms]
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7482sscanf documentation error2015-04-30T10:12:19ZPeter Bortassscanf documentation errorImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7482
Reported by Erik Allemann <erik@roxen.com>
```
RT#25030
```
http://docs.roxen.com/pike/7.0/tutorial/strings/sscanf.xml has a bug here:
```
sscanf(the_string, "foo ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7482
Reported by Erik Allemann <erik@roxen.com>
```
RT#25030
```
http://docs.roxen.com/pike/7.0/tutorial/strings/sscanf.xml has a bug here:
```
sscanf(the_string, "foo %f fum dum %d", f, i);
```
which should be:
```
sscanf(the_string, "foo %f fum dum %d", &f, &i);
```Pike Nexthttps://git.lysator.liu.se/pikelang/pike/-/issues/7494Subtraction of multisets containing objects is broken in Pike 8.0.81.2015-05-11T17:32:36ZPeter BortasSubtraction of multisets containing objects is broken in Pike 8.0.81.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7494
Reported by @grubba
```
Pike v7.8 release 923 running Hilfe v3.5 (Incremental Pike Frontend)
> class Foo(int a) { int `<(mixed x) { return objectp(x) && (a < x->a); ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7494
Reported by @grubba
```
Pike v7.8 release 923 running Hilfe v3.5 (Incremental Pike Frontend)
> class Foo(int a) { int `<(mixed x) { return objectp(x) && (a < x->a); } }
> multiset m = (< @map(allocate(5), Foo) >);
> m - (< 0 >);
(1) Result: (< /* 5 elements */
HilfeInput()->Foo(),
HilfeInput()->Foo(),
HilfeInput()->Foo(),
HilfeInput()->Foo(),
HilfeInput()->Foo()
>)
Pike v8.0 release 81 running Hilfe v3.5 (Incremental Pike Frontend)
> class Foo(int a) { int `<(mixed x) { return objectp(x) && (a < x->a); } }
> multiset m = (< @map(allocate(5), Foo) >);
> m - (< 0 >);
(1) Result: (< >)
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7521Update Unicode support to Unicode 8.0.0.2015-06-24T21:05:29ZPeter BortasUpdate Unicode support to Unicode 8.0.0.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7521
Reference: http://www.unicode.org/versions/Unicode8.0.0/
Reported by @grubba
The latest revision of the Unicode standard was released 2015-06-20.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7521
Reference: http://www.unicode.org/versions/Unicode8.0.0/
Reported by @grubba
The latest revision of the Unicode standard was released 2015-06-20.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7552Potential bug in array append and/or recursion?2015-09-03T12:43:34ZPeter BortasPotential bug in array append and/or recursion?Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7552
Reported by Jonas Wallden <jonasw@roxen.com>
This is a infinite recursion issue seen with Pike 8.0 (b762abf98556 from July 23, 2015).
In the backtrace the code is ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7552
Reported by Jonas Wallden <jonasw@roxen.com>
This is a infinite recursion issue seen with Pike 8.0 (b762abf98556 from July 23, 2015).
In the backtrace the code is walking a tree structure, but the parameters indicate some weird parent/child loop. Since this was a freak occurrence that hasn't been reproduced I don't know if the tree construction (which is many years old) once in a blue moon can fail spectacularly and create that loop; another possibility is that the compilation/execution of the recursion fails in refcounts and/or recursion optimizations.
A simplified backtrace looks like this:
recurse( ({ @1 }) )
recurse(@2 = ({ @1 }) )
recurse(@2)
[...repeat...]
recurse(@2)
recurse(@3 = ({ Node_with_no_children, @1 }) )
Here is the full backtrace and the relevant code:
```
: Internal server error: Svalue stack overflow. (99624 of 100000 entries on stack, needed 256 more entries)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/FS.pmod/VCFile.pike (70c61484):380: VCFile(N/E:72:[Basic]::/cms-components.xsl)->update_state(0,0,0,0,0,1)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/FS.pmod/VCFile.pike (70c61484):318: VCFile(N/E:72:[Basic]::/cms-components.xsl)->init_state(UNDEFINED)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike (2ee0cf90):1304: Workarea(Basic:)->_sbobj(72,"cms-components.xsl",UNDEFINED,UNDEFINED)
16:44:13 : modules/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike (2ee0cf90):3056: Workarea(Basic:)->sbobj("cms-components.xsl",72,ProtocolCacheKey(inactive),UNDEFINED,UNDEFINED)
0d 1h55m : modules/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike (2ee0cf90):6050: Workarea(Basic:)->locate_file("cms-components.xsl",VCDir(E:72:[Basic]::/),"sitebuilder/xsl-template",,,0)
: modules/sitebuilder/modules/xsltransform/xsltransform.pike (2ea961c2):2412: RoxenModule(Basic/xsltransform#0)->get_xsl_path("cms-components.xsl",VCFile(E/E:72:[Basic]::/index.xml),0,@0=RequestID(/edit/__afs/compedit-get-fragments?path=%2Findex.xml&tag=2&sb_session_id=B96F7A67-1FEC-4A3C-86D8-846DE1C45BFD&rnd=1440773049777))
: modules/sitebuilder/modules/xsltransform/xsltransform.pike (2ea961c2):2497: RoxenModule(Basic/xsltransform#0)->do_xsltransform("xsltransform",mapping[1],"<content-box component-position='middle' height='"+[518],@0,0,/Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.__class_66926_7_line_3900(),UNDEFINED)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3905: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.get_component_transform(ComponentInstance(form2-component),0,0,@0,,,1)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3339: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.item_for_frag(/Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.EditorPageState(),@1=Editor.Fragment(bfe691ac7b0ae19830d2452b7334f0b1,"comp:000055988faf:0000000006:4cd3",1,1,ch#1),,,3)
16:44:13 : modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3382: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.recurse(({@1}))
0d 1h55m : modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3385: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.recurse(@2=({@1}))
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3385: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.recurse(@2)
: ... last 1 frames above repeated 8277 times ...
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3385: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.recurse(@3=({Editor.Fragment(bdda1d0df467a1ea7f4a8fcc71daa3bc,"comp:00003d89db82:0000000000:281e",1,1,ch#-1),@1}))
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3389: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.items_for_frags(@4=/Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.EditorPageState(),@3,@5=([]),UNDEFINED,UNDEFINED,@0)
16:44:13 : modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.pmod (01ee0491):3431: /Users/jonasw/Roxen/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/Editor.get_fragments(@6=VCFile(E/E:72:[Basic]::/index.xml),UNDEFINED,UNDEFINED,@0)
0d 1h55m : modules/sitebuilder/modules/manager/content_editor.pike (d10d5f89):6265: AFS.Action(compedit-get-fragments)->exec(@0,ClientSession("72-\"B96F7A67-1FEC-4A3C-86D8-846DE1C45BFD\"", 0, 61),mapping[12],"2")
: etc/modules/AFS.pmod/Filesystem.pike:330: RoxenModule(Basic/content_editor#0)->call_fs_action("compedit-get-fragments",@0,@7=ClientSession("72-\"B96F7A67-1FEC-4A3C-86D8-846DE1C45BFD\"", 0, 61),mapping[12])
: etc/modules/AFS.pmod/Filesystem.pike:374: RoxenModule(Basic/content_editor#0)->find_action("compedit-get-fragments",@0)
: modules/sitebuilder/modules/manager/content_editor.pike (d10d5f89):2562: RoxenModule(Basic/content_editor#0)->find_file("__afs/compedit-get-fragments",@0,UNDEFINED)
: base_server/configuration.pike (e4e92c15):2266: Configuration(Basic)->low_get_file(@0,UNDEFINED)
16:44:13 : base_server/configuration.pike (e4e92c15):2525: Configuration(Basic)->get_file(@0,UNDEFINED,UNDEFINED)
0d 1h55m : base_server/configuration.pike (e4e92c15):2500: Configuration(Basic)->handle_request(@0,UNDEFINED)
: protocols/http.pike (6608940b):3063: RequestID(/edit/__afs/compedit-get-fragments?path=%2Findex.xml&tag=2&sb_session_id=B96F7A67-1FEC-4A3C-86D8-846DE1C45BFD&rnd=1440773049777)->handle_request()
: protocols/http.pike (6608940b):3006: RequestID(/edit/__afs/compedit-get-fragments?path=%2Findex.xml&tag=2&sb_session_id=B96F7A67-1FEC-4A3C-86D8-846DE1C45BFD&rnd=1440773049777)->handle_request_from_queue()
: base_server/roxen.pike (a1029109):929: roxen()->handler_thread(14)
private array(mapping|array) items_for_frags(EditorPageState state,
array(Fragment) fragments,
mapping attrs,
string|void edit_sid,
string|void suppress_output_sid,
RequestID id)
{
// Iterate through nesting and accumulate all info. Children are
// output as a nested array following the parent component.
array(mapping|array) recurse(array(Fragment) child_frags) {
array(mapping|array) res = ({ });
foreach (child_frags, Fragment f) {
mapping item =
item_for_frag(state, f, attrs, edit_sid, suppress_output_sid, id);
res += ({ item });
if (item.is_group && f->children)
res += ({ recurse(f->children) });
}
return res;
};
return recurse(fragments);
}
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7578Filesystem.Monitor checks all monitors synchronously on startup2020-03-01T15:46:23ZPeter BortasFilesystem.Monitor checks all monitors synchronously on startupImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7578
Reported by Martin Karlgren <marty@roxen.com>
Filesystem.Monitor sometimes blocks the backend thread for quite a while on startup because eventstream_callback calls ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7578
Reported by Martin Karlgren <marty@roxen.com>
Filesystem.Monitor sometimes blocks the backend thread for quite a while on startup because eventstream_callback calls check_all() synchronously.
```
: >> ### Thread 0x7fff74f56300 - Backend:
8:04:21 : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:869: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)/pp_103729.jpg", 15, next: Wed Oct 21 08:04:21 2015, st: Stat(-rw-r--r-- 119226b))->check(UNDEFINED)
0d16h46m : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)/pp_103729.jpg", 15, next: Wed Oct 21 08:04:21 2015, st: Stat(-rw-r--r-- 119226b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 238b))->check(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 238b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 1768b))->check(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 1768b)),UNDEFINED)
8:04:21 : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN", 15, next: Sat Oct 17 08:04:08 2015, st: Stat(drwxr-xr-x 3570b))->check(UNDEFINED)
0d16h46m : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN", 15, next: Sat Oct 17 08:04:08 2015, st: Stat(drwxr-xr-x 3570b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1379: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_all(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:764: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->eventstream_callback("/Users/marty/projects/REP-5.2-test/roxen/backup/AT/2013-06-07/page_2A",1116416,7162257960850217034)
: >> -:1: Pike.Backend(0)->`()(3600.0)
: >> /Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/master.pike:3619: master()._main(({"/Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/pike","-DPRECOMPILED_SEARCH_MORE","-m/Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/master.pike","-DMODULE_DEBUG","-DRAM_CACHE",,,11}))
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7588Warning from Standards.PKCS with old Nettle.2015-11-11T17:41:38ZPeter BortasWarning from Standards.PKCS with old Nettle.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7588
Reported by @grubba
```
c:/disttest/install test/ep_6_0/server-6.0.74/pike/lib/modules/Standards.pmod/PKCS.pmod/module.pmod:75: Warning: ECDSA is private but not use...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7588
Reported by @grubba
```
c:/disttest/install test/ep_6_0/server-6.0.74/pike/lib/modules/Standards.pmod/PKCS.pmod/module.pmod:75: Warning: ECDSA is private but not used anywhere.
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7599Spurious crash in network code on OS X2015-11-30T15:03:11ZPeter BortasSpurious crash in network code on OS XImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7599
Reported by Jonas Wallden <jonasw@roxen.com>
Not sure if this can be used to pinpoint the cause. The server was started around 10.02 on a laptop with one network con...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7599
Reported by Jonas Wallden <jonasw@roxen.com>
Not sure if this can be used to pinpoint the cause. The server was started around 10.02 on a laptop with one network connection, and that laptop was put to sleep and later woken up on another network and used for ~28 minutes before dying at 10.43.
Pike was locally compiled from Pike/8.0: 2cf338966b. (Curiously it still reports as 8.0.97, but that must be a makefile issue since e.g. ADT.Heap()->remove is available and that is newer than 8.0.97.)
10:02:36 : Adding package packages/throttling.
0m 0.0s : -----------------------------------------------------------------
: Pike version: Pike v8.0 release 97
: Product version: Roxen CMS 6.0.80-git
: Operating system: Darwin 13.4.0 (x86_64)
[...]
: Start script terminating.
: Shutting down MySQL.151120 10:43:26 [Note] /scratch/mariadb-10.0.13-osx10.9-x86_64/bin/mysqld: Normal shutdown
---------
Crashed Thread: 7
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
[...]
```
Thread 7 Crashed:
0 libsystem_info.dylib 0x00007fff89dfc6ba mdns_addrinfo + 339
1 libsystem_info.dylib 0x00007fff89dfc537 search_addrinfo + 183
2 libsystem_info.dylib 0x00007fff89dfc2cc si_addrinfo + 1468
3 libsystem_info.dylib 0x00007fff89dfbc6b getaddrinfo + 171
4 pike 0x00000001001baede get_inet_addr + 430 (system.c:1974)
5 pike 0x00000001001a4318 port_bind + 280 (socket.c:271)
6 pike 0x0000000100014c96 lower_mega_apply + 1238 (interpret.c:2172)
7 pike 0x0000000100014e93 jump_opcode_F_CALL_LFUN_N + 67 (interpret_functions.h:2359)
8 ??? 0x00000001011c0401 0 + 4313580545
9 pike 0x000000010000d5ee catching_eval_instruction + 126 (interpret.c:2754)
10 pike 0x000000010000d439 inter_return_opcode_F_CATCH + 217 (interpret.c:1295)
11 ??? 0x000000010389f242 0 + 4354339394
```
[...]
Thread 7 crashed with X86 Thread State (64-bit):
rax: 0x000000010b5a24a0 rbx: 0x000000010b5a26a4 rcx: 0x0000000000001000 rdx: 0x0000000000000000
rdi: 0x00007fff72e36728 rsi: 0x0000000000000001 rbp: 0x000000010b5a2540 rsp: 0x000000010b5a2420
r8: 0x0000000000000000 r9: 0x0000000000000006 r10: 0x000000000000000a r11: 0x00000000000004e1
r12: 0x0000000000000001 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: 0x00007fff89dfc6ba rfl: 0x0000000000010202 cr2: 0x0000000000000000Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7615Weak type of multiset indexing2016-01-20T14:10:43ZPeter BortasWeak type of multiset indexingImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7615
Reported by Martin Nilsson <nilsson@fastmail.se>
```
Even though the type of indexing a multiset is int(0..1), (operators.c:5711: tFunc(tMultiset tMix, tInt01) ), t...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7615
Reported by Martin Nilsson <nilsson@fastmail.se>
```
Even though the type of indexing a multiset is int(0..1), (operators.c:5711: tFunc(tMultiset tMix, tInt01) ), the actual type is int.
> multiset m = (< 3,7,9 >);
> typeof(m[7]);
(1) Result: int
```
See also SSL.Context `encrypt_then_mac()Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7630Potential deadlock in Pike 8.0.1432020-03-01T15:48:03ZPeter BortasPotential deadlock in Pike 8.0.143Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7630
Reported by Martin Karlgren <marty@roxen.com>
My Roxen/EP (devel) process locked up. I haven't analysed the backtraces too much, but I'd expect a deadlock. Pike and ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7630
Reported by Martin Karlgren <marty@roxen.com>
My Roxen/EP (devel) process locked up. I haven't analysed the backtraces too much, but I'd expect a deadlock. Pike and C backtraces attached.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7644Feed Import stalled/stopped in Heap.pike2020-03-01T15:48:37ZPeter BortasFeed Import stalled/stopped in Heap.pikeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7644
Reported by Erik Allemann <erik@roxen.com>
```
RT#26577 & RT#26578
REP 6.0.92
```
Feed Import had stopped. Debug logged repeatedly reports:
```
2d 8h 8m : Feed Im...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7644
Reported by Erik Allemann <erik@roxen.com>
```
RT#26577 & RT#26578
REP 6.0.92
```
Feed Import had stopped. Debug logged repeatedly reports:
```
2d 8h 8m : Feed Import: periodic_scan threw an error:
: Indexing the NULL value with "value".
: pike/lib/modules/ADT.pmod/Heap.pike:198: ADT.Heap()->peek()
: pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1485: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,
: packages/feedimport/modules/feed-import.pike (564e550f):1508: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,@
12:09:10 : packages/feedimport/modules/feed-import.pike (564e550f):2231: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan()
2d 8h 8m : packages/feedimport/modules/feed-import.pike (564e550f):2281: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan_dispatch()
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7653_Roxen.http_decode_string leaves surrogate pairs in resulting string2016-03-02T16:25:53ZPeter Bortas_Roxen.http_decode_string leaves surrogate pairs in resulting stringImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7653
Reported by Martin Karlgren <marty@roxen.com>
_Roxen.http_decode_string claims to perform best-effort decoding of %XX and %uXXXX-encoded strings. However, surrogate ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7653
Reported by Martin Karlgren <marty@roxen.com>
_Roxen.http_decode_string claims to perform best-effort decoding of %XX and %uXXXX-encoded strings. However, surrogate pairs are passed as-is to the resulting Pike string.
Example:
```
> _Roxen.http_decode_string("%uD83D%uDE02");
(3) Result: "\ud83d\ude02"
```
Expected result: "\u1f602"
I guess an error should be thrown if an incomplete surrogate pair is encountered.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7664"Parent lost, cannot clone program." error in a complex Pike program2016-03-17T12:11:00ZPeter Bortas"Parent lost, cannot clone program." error in a complex Pike programImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7664
Reported by Per Cederqvist <ceder@lysator.liu.se>
I have a program (under NDA, so I cannot show it to you) that is 6244
lines long, consisting of 10 .pmod files and ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7664
Reported by Per Cederqvist <ceder@lysator.liu.se>
I have a program (under NDA, so I cannot show it to you) that is 6244
lines long, consisting of 10 .pmod files and one .pike file. Actually,
it includes even more Pike modules.
When run, it will after some time print this error message and exit:
Parent lost, cannot clone program.
There is also a backtrace.
```
I've been able to create a minimal testcase that reproduces my issue.
This is a set of just 5 files, for a total of 54 lines. Admittedly,
the test program looks strange with a lot of unused functions and methods;
in the real program they are actually used and do useful things.
```
When I run the minimized and sanitized file, I get this output:
```
$ pike main.pike
Parent lost, cannot clone program.
State.pmod:8: /home/cederp/sanitized/State.read_file()
main.pike:4: /main()->main()
$
```
I'll attach a shar archive of my test programs. Unpack it in en empty
directory.
This reproduces with a fresh Pike 8.0.182 compiled from source on
Ubuntu 14.04. (It also reproduces on a modified Pike 7.8).Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7671Implement support for JWT2017-07-07T11:25:12ZPeter BortasImplement support for JWTImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7671
Reported by Martin Karlgren <marty@roxen.com>
Implement Pike support for JSON Web Tokens (encoding and decoding), see http://jwt.io/ and RFC 7519.
The decode functi...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7671
Reported by Martin Karlgren <marty@roxen.com>
Implement Pike support for JSON Web Tokens (encoding and decoding), see http://jwt.io/ and RFC 7519.
The decode function should have support for specifying allowed algorithms, defaulting to some reasonable value (see discussion on possible vulnerabilities: https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/)Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7684Feed: Recursive mutex locks2022-11-06T09:16:07ZPeter BortasFeed: Recursive mutex locksImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7684
Reported by Marcus Wellhardh <wellhard@roxen.com>
Noticed this backtrace when debugging [RT 26947]:
```
: Server start command:
: /usr/local/...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7684
Reported by Marcus Wellhardh <wellhard@roxen.com>
Noticed this backtrace when debugging [RT 26947]:
```
: Server start command:
: /usr/local/roxen/server-6.0.130/bin/roxen
: -DLOG_GC_TIMESTAMPS
: -DINHIBIT_INOTIFY_MONITOR
: -DDEBUG_ADMANAGER
: -DRAM_CACHE
: -DHTTP_COMPRESSION
: -M/usr/local/roxen/server-6.0.130/etc/modules
: -M/usr/local/roxen/local/pike_modules
: -I/usr/local/roxen/server-6.0.130/etc/include
: -I/usr/local/roxen/server-6.0.130/base_server
: -P/usr/local/roxen/server-6.0.130/base_server
: -P/usr/local/roxen/server-6.0.130
: base_server/roxenloader.pike
: --pid-file=../configurations/_roxen_pid
pike/lib/modules/___Oracle.so:-: Warning: Failed to load library: libclntsh.so.12.1: kan inte öppna delad objektfil: Filen eller katalogen finns inte
pike/lib/modules/Odbc.so:-: Warning: Failed to load library: libodbc.so.2: kan inte öppna delad objektfil: Filen eller katalogen finns inte
5:00:02 : Support for IPv6 enabled.
0m 0.0s : Adding package /usr/local/roxen/local.
: Adding package packages/feedimport (Version 6.0.130).
: Adding package packages/imageproc (Version 6.0.130).
: Adding package packages/logview (Version 6.0.130).
: Adding package packages/print (Version 6.0.130).
5:00:02 : Adding package packages/search (Version 6.0.130).
0m 0.1s : Adding package packages/sitebuilder (Version 6.0.130).
: -----------------------------------------------------------------
: Pike version: Pike v8.0 release 232
: Product version: Roxen EP 6.0.130-r1
: Operating system: Linux 3.10.0-327.13.1.el7.x86_64 (x86_64)
5:00:02 : Starting MySQL ... Was running 10.1.12-MariaDB [10.1ms]
0m 0.1s : Installed patches:
: 2016-04-20T143129
: 2016-04-22T141034
: 2016-04-22T141702
: 2016-04-22T142057
5:00:02 : 2016-04-25T103337
0m 0.1s : 2016-04-25T112131
: 2016-04-25T112359
: 2016-04-28T160526
: 2016-04-29T103046
:
5:00:02 : Loading Pike modules ... Done [303.0ms]
0m 0.6s : Loading Roxen ...
: Server version ... 6.0.130
: Dist version ... 6.0.130
: Platform ... rhel7_x86_64
: Product code ... rep
5:00:03 : Done [522.3ms]
```
[...]
```
: GC runs at Sun May 8 09:11:12 2016
: GC done after 159117us
9:11:13 : Internal server error: Recursive mutex locks!
-:1: _static_modules.Builtin()->mutex()->lock()
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:221: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->unregister_path(1)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1100: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->unregister_path(1)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:722: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/2861ead4434a45ac83fbde5823204688", 7, next: Sun May 8 06:39:09 2016, st: 0)->destroy()
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:227: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->`>(1462716675)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:226: Monitor("/usr/local/roxen/feeds/wirefeeds/universal/XML/notas_N", 15, next: Sun May 8 09:11:15 2016, st: Stat(drwxr-xr-x 77824b))->`<(,,,0)
pike/lib/modules/ADT.pmod/Heap.pike:65: ADT.Heap(14618 elements, top: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/ebb750fff66e4d5ab3250f0ee50b48fc/80f3e1042f963517980f6a7067008cd4-6b2c1.jpg", 15, next: Sun May 8 09:11:06 2016, st: Stat(-rw-r--r--
783813b)))->adjust_down(1535)
pike/lib/modules/ADT.pmod/Heap.pike:143: ADT.Heap(14618 elements, top: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/ebb750fff66e4d5ab3250f0ee50b48fc/80f3e1042f963517980f6a7067008cd4-6b2c1.jpg", 15, next: Sun May 8 09:11:06 2016, st: Stat(-rw-r--r-
- 783813b)))->adjust(,,,0)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1233: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->adjust_monitor(@0)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:437: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->update(Stat(-rw-r--r-- 2698881b))
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:583: Monitor("/usr/local/roxen/feeds/wirefeeds/ap/PHOTOSTREAM - MX (MEXICO GROUP)/346a6eaebe9749a88c8ac6b4662ecb31/0db6bd0f667a476199d3f65d3c86957f-f9490.jpg", 15, next: Sun May 8 10:01:12 2016, st: Stat(-rw-r--r-- 2698881
b))->check(UNDEFINED)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1420: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check_monitor(@0,UNDEFINED)
pike/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1524: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,([]))
packages/feedimport/modules/feed-import.pike (ef807040):1508: RoxenModule(EP/feed-import#0)->feed_monitor->monitor->check(UNDEFINED,1000,@1=([]))
packages/feedimport/modules/feed-import.pike (ef807040):2245: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan()
packages/feedimport/modules/feed-import.pike (ef807040):2295: RoxenModule(EP/feed-import#0)->feed_monitor->periodic_scan_dispatch()
```Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7703Inheriting unfinished programs2020-03-01T15:50:14ZPeter BortasInheriting unfinished programsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7703
Reported by Martin Karlgren <marty@roxen.com>
It's currently not possible to inherit programs that aren't finished yet. This means that you often need to do run-time...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7703
Reported by Martin Karlgren <marty@roxen.com>
It's currently not possible to inherit programs that aren't finished yet. This means that you often need to do run-time indexing rather than compile-time ("Module["Submodule"]->function()" rather than "Module.Submodule.function()"). Also, proper variable typing is not always possible (you need to declare "object var" rather than "Module.Submodule.Type var").
From src/program.c:
```
if (!(p->flags & PROGRAM_FINISHED)) {
/* Require that the inherited program really is finished in pass
* 2. Otherwise we might not have all definitions when we
* fixate our program.
*
* FIXME: Maybe this can be relaxed by registering a dependency
* and delaying compilation here?
*/
yyerror ("Cannot inherit program in pass 2 "
"which is not fully compiled yet.");
yyerror ("(You probably have a cyclic symbol dependency that the "
"compiler cannot handle.)");
}
```
Is it plausible to do what the FIXME says to overcome this limitation? Time estimate?Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7712Stdio.Buffer()->add_int32(0xffffffff) does not work on 32-bit systems2016-06-09T18:12:45ZPeter BortasStdio.Buffer()->add_int32(0xffffffff) does not work on 32-bit systemsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7712
Reported by Per Cederqvist <ceder@lysator.liu.se>
The add_int32() method of Stdio.Buffer is supposed to accept any
32-bit number, in the range 0-0xffffffff. When Pi...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7712
Reported by Per Cederqvist <ceder@lysator.liu.se>
The add_int32() method of Stdio.Buffer is supposed to accept any
32-bit number, in the range 0-0xffffffff. When Pike is compiled
on a 64-bit system this works. But on a 32-bit i686 Debian 8 it fails:
```
Bad argument 1 to add_int32(). Expected int.
Unknown program: add_int32(4294967295)
-:1:
_static_modules._Stdio()->Buffer(0 bytes, read=[..-1] data=[0..-1] free=[0
..224] allocated)->add_int32(4294967295)
/home/minibuilder/buffer-fun.pike:6: /main()->main()
```
Test program:
```
#!/usr/bin/env pike8
int main()
{
Stdio.Buffer buffer = Stdio.Buffer();
buffer->add_int32(0xffffffff);
werror("%O\n", buffer->read());
return 0;
}
```
Tested with the current head of the 8.0 branch from the Git
repo.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7778HTTP Relay module requires ipv6 if remote server has ipv6.2020-03-01T15:51:42ZPeter BortasHTTP Relay module requires ipv6 if remote server has ipv6.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7778
Reported by Jonas Lönnberg <lonnberg@roxen.com>
The HTTP Relay module requires ipv6 if remote server has ipv6.
Example settings:
LOCATION /foo CALL http://www.rox...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7778
Reported by Jonas Lönnberg <lonnberg@roxen.com>
The HTTP Relay module requires ipv6 if remote server has ipv6.
Example settings:
LOCATION /foo CALL http://www.roxen.com/
LOCATION /googletest CALL http://www.google.com/
In both these examples the Relay module tries to use the ipv6 adress provided from the DNS. This will not work, when Roxen WebServer doesn't have ipv6 set up.
A typicall error in the browser reads:
504 Gateway Timeout: Connection to remote HTTP host failedPike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7783Cast to program is not thread-safe.2016-09-21T15:50:06ZPeter BortasCast to program is not thread-safe.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7783
Reported by @grubba
Running
```
string filename;
program p = (program)filename;
p(@args);
```
in two concurrent threads on the same filename may cause one of...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7783
Reported by @grubba
Running
```
string filename;
program p = (program)filename;
p(@args);
```
in two concurrent threads on the same filename may cause one of the threads to fail with eg "Attempting to clone an unfinished program".Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7820Calling function with wrong type of arg should generate run-time error!2016-11-02T12:57:21ZPeter BortasCalling function with wrong type of arg should generate run-time error!Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7820
Reported by Karl Gustav Sterneberg <kg@roxen.com>
Today I accidentally called a function taking a multiset with an array as argument. Got some strange behaviour. Whe...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7820
Reported by Karl Gustav Sterneberg <kg@roxen.com>
Today I accidentally called a function taking a multiset with an array as argument. Got some strange behaviour. When I found out my mistake I did the following experiment:
```
int main(int argc, array(string) argv)
{
object ref = Bar();
ref->my_function((<"Adam", "Bertil">));
ref->my_function(({"Adam", "Bertil"}));
return 0;
}
class Bar {
void my_function(multiset my_set) {
werror("multisetp(my_set): %O\n", multisetp(my_set));
werror("arrayp(my_set): %O\n", arrayp(my_set));
foreach(my_set; mixed entry;) {
werror("entry: %O\n", entry);
}
}
}
```
>pike arg-match.pike
multisetp(my_set): 1
arrayp(my_set): 0
entry: "Adam"
entry: "Bertil"
multisetp(my_set): 0
arrayp(my_set): 1
entry: 0
entry: 1
The problem as I see it is that this should blow up at runtime! As now it can give your system strange behaviour.
```
If I change "object ref = Bar();" to "Bar ref = Bar();" the compiler will complain:
>pike arg-match.pike
arg-match.pike:5:Bad argument 1 to my_function.
arg-match.pike:5:Expected: multiset.
arg-match.pike:5:Got : array(string(65..116)).
Pike: Failed to compile script.
```
By not using a properly typed object reference, it is understandable that the compiler might not be able to see the problem. Then however you should get a run-time error!Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7827Can't build Pike 8.0 in Distmaker2020-03-05T17:09:13ZPeter BortasCan't build Pike 8.0 in DistmakerImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7827
Reported by Jonas Wallden <jonasw@roxen.com>
Getting this on RHEL7_x86_64:
```
Linking VCDiff
vcdiff_wrapper.o: In function `__static_initialization_and_destruction...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7827
Reported by Jonas Wallden <jonasw@roxen.com>
Getting this on RHEL7_x86_64:
```
Linking VCDiff
vcdiff_wrapper.o: In function `__static_initialization_and_destruction_0':
/usr/include/c++/4.8.2/iostream:74: undefined reference to `__dso_handle'
/usr/bin/ld: vcdiff_wrapper.o: relocation R_X86_64_PC32 against undefined hidden symbol `__dso_handle' can not be used when making a shared object
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Linking failed:
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7828Loop documentation contains inappropriate examples2022-08-28T14:56:44ZPeter BortasLoop documentation contains inappropriate examplesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7828
Reference: http://pike.lysator.liu.se/docs/tutorial/statements/loops.xml
Reported by Daniel Wressle <wressle@roxen.com>
At http://pike.lysator.liu.se/docs/tutorial/...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7828
Reference: http://pike.lysator.liu.se/docs/tutorial/statements/loops.xml
Reported by Daniel Wressle <wressle@roxen.com>
At http://pike.lysator.liu.se/docs/tutorial/statements/loops.xml there is an example code snippet which reads as follows:
```
string answer;
write("Have you stopped beating your wife yet?\n");
do
{
write("Answer yes or no: ");
answer = Stdio.stdin->gets();
} while(answer != "yes" && answer != "no");
```
I don't think further comments are necessary. Alter or remove.Pike Nexthttps://git.lysator.liu.se/pikelang/pike/-/issues/7830Gdbm 1.13 breaks Pike 8.0 compilation under fedora 252017-05-23T11:20:59ZPeter BortasGdbm 1.13 breaks Pike 8.0 compilation under fedora 25Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7830
Reported by josef radinger <cheese@nosuchhost.net>
fedora has a problem with installation from sources of roxen webserver, because there is a incompatibility with gd...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7830
Reported by josef radinger <cheese@nosuchhost.net>
fedora has a problem with installation from sources of roxen webserver, because there is a incompatibility with gdbm 1.13 and the pike-sources. if i downgrade to gdbm 1.12 it works.
```
make[4]: Entering directory '/home/cheese/test/roxen-6.1.200-src/pike/src/modules/Gdbm'
make[5]: Entering directory '/home/cheese/test/roxen-6.1.200-src/pike/src/modules/Gdbm'
Compiling gdbmmod.c
Compiling object.c
Compiling stack_allocator.c
/home/cheese/test/roxen-6.1.200-src/pike/src/pike_error.h:54:34: error: expected ‘)’ before string constant
(fprintf(stderr,msg_fatal_error,__FILE__,(long)__LINE__),debug_fatal)
^
In file included from /home/cheese/test/roxen-6.1.200-src/pike/src/threads.h:11:0,
from gdbmmod.c:9:
/home/cheese/test/roxen-6.1.200-src/pike/src/pike_error.h:54:58: error: expected ‘)’ before ‘,’ token
(fprintf(stderr,msg_fatal_error,__FILE__,(long)__LINE__),debug_fatal)
^
Compilation command was:
/home/cheese/test/roxen-6.1.200-src/pike/src/smartlink gcc -I. -I/home/cheese/test/roxen-6.1.200-src/pike/src/modules/Gdbm -I/home/cheese/test/roxen-6.1.200-src/pike/src -I/home/cheese/test/roxen-6.1.200-src/pike/src -I/usr/local/include -DHAVE_CONFIG_H -g -ggdb -m64 -mrdrnd -fvisibility=hidden -O3 -pipe -fvar-tracking-assignments -funswitch-loops -W -Wall -Wno-unused -Wcomment -Wformat -Wimplicit-function-declaration -Wmultichar -Wunused-function -Wswitch -Wuninitialized -Wpointer-arith -Wchar-subscripts -Wno-long-long -Wdeclaration-after-statement -fPIC -DDYNAMIC_MODULE -c gdbmmod.c -o gdbmmod.o
Makefile:171: recipe for target 'gdbmmod.o' failed
make[5]: *** [gdbmmod.o] Error 1
make[5]: Leaving directory '/home/cheese/test/roxen-6.1.200-src/pike/src/modules/Gdbm'
Makefile:103: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/cheese/test/roxen-6.1.200-src/pike/src/modules/Gdbm'
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7831Unclear http headers case handling in Protocols.HTTP.do_async_method()2022-10-06T12:29:59ZPeter BortasUnclear http headers case handling in Protocols.HTTP.do_async_method()Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7831
Reported by Tobias Liin <liin@roxen.com>
`Protocols.HTTP.do_async_method()` provides default values for http headers `"user-agent"` and `"host"`, if not provided in ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7831
Reported by Tobias Liin <liin@roxen.com>
`Protocols.HTTP.do_async_method()` provides default values for http headers `"user-agent"` and `"host"`, if not provided in the request_headers variable.
However, it fails to consider the casing of those headers. Consider a call to `do_async_method()` with the following headers mapping:
```
([
"Host": "foo.com",
"User-Agent": "Firefox"
])
```
The mapping provided to `Protocols.HTTP.Query.async_request()` will be:
```
([
"Host": "foo.com",
"User-Agent": "Firefox"
"host": "<some-host-from-the-url>",
"user-agent": "Pike <some-version>",
])
```
The resulting host and user-agent will be random, as `Protocols.HTTP.Query.async_request()` lowercase the indices.
The solution is probably for `Protocols.HTTP.do_async_method()` to lowercase the headers mapping indices before checking for `"host"` and `"user-agent"`.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/1757Strange behaviour of combine_path on NT2009-04-16T14:11:39ZPeter BortasStrange behaviour of combine_path on NTImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=1757
Reported by Marcus Wellhardh <wellhard@roxen.com>
The Mysql template copy routine in roxenloader.pike uses Filesystem.Tar
to initialize the mysql tables. This fails ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=1757
Reported by Marcus Wellhardh <wellhard@roxen.com>
The Mysql template copy routine in roxenloader.pike uses Filesystem.Tar
to initialize the mysql tables. This fails because the first call from
Filesystem.Tar to combine_path differ from combine_path_unix:
combine_path("/", "mysql", "") ==> "C:/mysql/"
combine_path_unix("/", "mysql", "") ==> "/mysql/"
If I put a werror("", "bogus arg"); before the call to combine_path
then the two results become equal.Pike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2767Some sort of compiler bug2009-04-16T14:11:39ZPeter BortasSome sort of compiler bugImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2767
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The following code
```
mapping basun = ([ "foo":Image.Image(10,10) ]);
add_constant("basun", basun);
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2767
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The following code
```
mapping basun = ([ "foo":Image.Image(10,10) ]);
add_constant("basun", basun);
program p = compile_string("Image.Image i=basun.foo;\n"
"mixed x() { return basun; }", "-");
```
gives the following error
```
-:1:Couldn't store constant.
`==: illegal argument 2
Pike/7.3/build/sunos-5.8-i86pc/test-install/pike/7.3.16/lib/modules/Image.s
o.image:
Image.Image( 10 x 10 /* 0.3Kb */)->`==(mapping[1])
Pike/7.3/build/sunos-5.8-i86pc/test-install/pike/7.3.16/lib/master.pike:223
:
master()->compile_string("Image.Image i=basun.foo;\nmixed x() { return
basun; }","-",0)
```
If however the declaration of i is removed of the return is changed from
basun to i it works.Pike 7.6Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3193Tru64 cc compile error in Oracle module2009-04-16T14:11:39ZPeter BortasTru64 cc compile error in Oracle moduleImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3193
Reference: http://130.236.214.222/xenofarm_results/103_23/makelog.txt
Reported by Dan Nelson <dnelson_1901@yahoo.com>
A couple places in oracle.c, the code uses "co...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3193
Reference: http://130.236.214.222/xenofarm_results/103_23/makelog.txt
Reported by Dan Nelson <dnelson_1901@yahoo.com>
A couple places in oracle.c, the code uses "cond?true:false" constructs
with differing types for true and false. Tru64 cc seems to be overly
paranoid about this and errors out. For example: src/modules/Oracle/oracle.c:
```
static void push_inout_value(struct inout *inout, struct dbcon *dbcon) {
ub1 *bufp = 0;
cc: Error: src/modules/Oracle/oracle.c, line 1230: In the initializer for
_, a common type could not be determined for the 2nd and 3rd operands
("bufp" and """") of a conditional operator. (badcondit)
push_string(make_shared_binary_string(loblen ? bufp : "",loblen));
--------^
```
Fix:
Cast the offending types, I guess? There are multiple places cc prints the
same message; you can get the build log from Pikefarm, under
"dbsrv1.emsphone.com". Pick a red build.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3505Incorrect paths in dumped modules for .so libraries2022-08-28T16:00:50ZPeter BortasIncorrect paths in dumped modules for .so librariesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3505
Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=210743
Reported by Marek Habersack, The Caudium Group <grendel@caudium.net>
When building Pike in a fake...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3505
Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=210743
Reported by Marek Habersack, The Caudium Group <grendel@caudium.net>
When building Pike in a fakeroot the modules which reference other modules
implemented as .so libraries will have the full path of the fakeroot stored
in the resulting .o file when referencing the .so modules:
/usr/lib/pike/7.4.27/lib/modules/_Charset.pmod.o:-: Warning: Decode failed:
Failed to decode program
"/tmp/buildd/pike7.4-7.4.27/debian/pike7.4-core/usr/lib/pike/7.4.27/lib/modules/____Charset.so".
/usr/lib/pike/7.4.27/lib/modules/Regexp.pmod.o:-: Warning: Decode failed:
Failed to decode program
"/tmp/buildd/pike7.4-7.4.27/debian/pike7.4-core/usr/lib/pike/7.4.27/lib/modules/___Regexp.so".
The error is probably somewhere in the master resolver, but I'm not sure of
that.Pike 9.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3611ldaps throws error2009-04-16T14:11:39ZPeter Bortasldaps throws errorImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3611
Reported by Thomas Bopp, Uni-GH Paderborn <astra@upb.de>
I get a backtrace from sslfile when trying to establish ldaps connection:
```
object l = Protocols.LDAP.cli...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3611
Reported by Thomas Bopp, Uni-GH Paderborn <astra@upb.de>
I get a backtrace from sslfile when trying to establish ldaps connection:
```
object l = Protocols.LDAP.client("ldaps://shovel.uni-paderborn.de/");
Unknown program: 0(0)
/usr/local/pike/7.5.17/lib/modules/SSL.pmod/sslfile.pike:335:
SSL.sslfile(0)->create(Fd(9),SSL.context(),1,1)
/usr/local/pike/7.5.17/lib/modules/Protocols.pmod/LDAP.pmod/client.pike:412:
Protocols.LDAP.client("socket", "shovel.uni-paderborn.de:636", 777 /* fd=
9 */)->create("ldaps://shovel.uni-paderborn.de/",SSL.context())
Attempt to call the NULL-value
Unknown program: 0(0)
/usr/local/pike/7.5.17/lib/modules/SSL.pmod/sslfile.pike:1039:
SSL.sslfile(0)->update_internal_state(0)
/usr/local/pike/7.5.17/lib/modules/SSL.pmod/sslfile.pike:782:
SSL.sslfile(0)->set_blocking()
/usr/local/pike/7.5.17/lib/modules/SSL.pmod/sslfile.pike:506:
SSL.sslfile(0)->destroy()
```
It seems like the stream has no set_close_callback() and no set_id() function ?Pike 7.6https://git.lysator.liu.se/pikelang/pike/-/issues/6052Stdio.write_file return value handling broken2011-08-30T16:13:57ZPeter BortasStdio.write_file return value handling brokenImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6052
Reported by Per Cederqvist <ceder@lysator.liu.se>
Stdio.write_file is documented to return the number of bytes written. However, it actually returns the number of b...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6052
Reported by Per Cederqvist <ceder@lysator.liu.se>
Stdio.write_file is documented to return the number of bytes written. However, it actually returns the number of bytes written by the last call to File()->write.
The do...while loop is broken. It works fine on the first and second run, but on the third run it will write garbage to the file. This is the loop:
```
do {
ret=f->write(str[ret..]);
if (ret < 0)
error ("Couldn't write to %O: %s\n", filename, strerror (f->errno()));
} while (ret < sizeof (str));
```
Consider the case where str is 1000 bytes, and f->write() returns 100 on each call. On the first run, the first 100 bytes of str is written. On the next iteration, bytes 100..199 are written. On the third iteration, bytes 100..199 are written again. Not good. :-)
I doubt that this is much of a problem in practice. It could fail if the disk is full so that the first f->write() cannot write the entire string, but becomes free so that the second f->write() can write some data. Possible, but not very likely. At least on Linux signals seems to be blocked so that sending a SIGSTOP does not interrupt the write(2) system call. If that is not true on all platforms, there is a real problem here.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6104Search: Incorrect sub part key2011-10-18T10:59:17ZPeter BortasSearch: Incorrect sub part keyImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6104
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got this backtrace on a server that uses an old external MySQL server (4.0.27) that can't use indexes bigger then 2...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6104
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got this backtrace on a server that uses an old external MySQL server (4.0.27) that can't use indexes bigger then 255 characters:
```
big_query(): Query "
: create table IF NOT EXISTS queue (
8:42:49 : uri blob not null,
0d11h34m : uri_md5 char(32) not null default '',
: template varchar(255) not null default '',
: md5 char(32) not null default '',
: recurse tinyint not null,
: stage tinyint not null,
8:42:49 : UNIQUE(uri_md5),
0d11h34m : INDEX stage (stage),
: INDEX uri (uri(256))
: )
: " failed (Incorrect sub part key. The used key part isn't a string, the used length is longer than the key part or the table handler doesn'
t support unique sub keys)
: /space/local/backend/roxen/server-5.1.185/pike/lib/modules/Mysql.so:1: mysql(/*Localhost via UNIX socket*/)->big_query("\n create table IF N
OT EXISTS queue (\n uri blob not null,\n uri_md5 char(32) not null default '',\n\ttemplate varchar(255) not null default '',\n\tm
d5 char(32) not nu"+[151])
8:42:49 : /space/local/backend/roxen/server-5.1.185/pike/lib/modules/Sql.pmod/mysql.pike (e1bab684):728: mysql(/*Localhost via UNIX socket*/)->big_query(
"\n create table IF NOT EXISTS queue (\n uri blob not null,\n uri_md5 char(32) not null default '',\n\ttemplate varchar(255) n
ot null default '',\n\tmd5 "+[169],UNDEFINED,UNDEFINED)
0d11h34m : /space/local/backend/roxen/server-5.1.185/pike/lib/modules/Sql.pmod/Sql.pike (rev 1.100):547: Sql.mysql(/*Localhost via UNIX socket*/)->query("
\n create table IF NOT EXISTS queue (\n uri blob not null,\n uri_md5 char(32) not null default '',\n\ttemplate varchar(255) no
t null default '',\n\tmd5 char(32) not nu"+[151])
: /space/local/backend/roxen/server-5.1.185/pike/lib/modules/Search.pmod/Queue.pmod/MySQL.pike:50: Search.Queue.MySQL()->perhaps_create_table()
: /space/local/backend/roxen/server-5.1.185/pike/lib/modules/Search.pmod/Queue.pmod/MySQL.pike:32: Search.Queue.MySQL()->create(Web.Crawler.Stats
(),Web.Crawler.Policy(),"mysql://localhost/search_intranet2011_intranet2011","queue",UNDEFINED,UNDEFINED)
: modules/search/modules/search_sb_interface.pike (rev 1.353):2851: DatabaseProfile(1:intranet2011)->setup_queue()
: modules/search/modules/search_sb_interface.pike (rev 1.353):3025: DatabaseProfile(1:intranet2011)->crawl_url("sitebuilder://intranet2011/gemens
amt/kontor/vardomsorg/styrdokument-och-riktlinj/overgripande-styrdokument/ledningssystem-for-kvalit/Ledningssystem_slutversion-april-2011.pdf",UNDEFINED,UN
DEFINED,,,0)
8:42:49 : modules/search/modules/search_sb_interface.pike (rev 1.353):3052: DatabaseProfile(1:intranet2011)->crawl_sb_file("/gemensamt/kontor/vardomsorg/
styrdokument-och-riktlinj/overgripande-styrdokument/ledningssystem-for-kvalit/Ledningssystem_slutversion-april-2011.pdf",0)
0d11h34m : modules/search/modules/search_sb_interface.pike (rev 1.353):221: RoxenModule(intranet2011/search_sb_interface#0)->sb_index_file(Workarea(,Site(
intranet2011:/space/local/repository/intranet2011.sb/)),,,2)
: modules/search/modules/search_sb_interface.pike (rev 1.353):432: RoxenModule(intranet2011/search_sb_interface#0)->change_hook("file_change","ge
mensamt/kontor/vardomsorg/styrdokument-och-riktlinj/overgripande-styrdokument/ledningssystem-for-kvalit/Ledningssystem_slutversion-april-2011.pdf",0,"",,,0
)
: modules/search/modules/search_sb_interface.pike (rev 1.353):484: RoxenModule(intranet2011/search_sb_interface#0)->after_hook("file_change","gem
ensamt/kontor/vardomsorg/styrdokument-och-riktlinj/overgripande-styrdoku
```
---------------
```
diff --git a/lib/modules/Search.pmod/Queue.pmod/MySQL.pike b/lib/modules/Search.pmod/Queue.pmod/MySQL.pike
index 43bdeca..43a1922 100644 (file)
--- a/lib/modules/Search.pmod/Queue.pmod/MySQL.pike
+++ b/lib/modules/Search.pmod/Queue.pmod/MySQL.pike
@@ -44,9 +44,15 @@ static void perhaps_create_table( )
recurse tinyint not null,
stage tinyint not null,
UNIQUE(uri_md5),
- INDEX stage (stage)
+ INDEX stage (stage),
+ INDEX uri (uri(256))
)
");
+ if (!sizeof(db->query("SHOW INDEX FROM " + table +
+ " WHERE key_name = 'uri'"))) {
+ db->query("ALTER TABLE " + table +
+ " ADD INDEX uri (uri(256))");
+ }
}
```
Perhaps change "INDEX uri (uri(256)" to 255 instead?Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7826string_has_null() fails sometimes in Pike 8.0.28.2016-12-16T18:49:33ZPeter Bortasstring_has_null() fails sometimes in Pike 8.0.28.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7826
Reported by @grubba
mkdirhier in the build system fails:
```
int mkdirhier(string path, int|void mod)
{
werror("mkdirhier(%O, %O)...\n", path, mod);
werror("CWD...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7826
Reported by @grubba
mkdirhier in the build system fails:
```
int mkdirhier(string path, int|void mod)
{
werror("mkdirhier(%O, %O)...\n", path, mod);
werror("CWD: %O\n", getcwd());
werror("mkdir: %O [%O]\n", mkdir, function_object(mkdir));
trace(2);
string a = "";
int r = 1;
function m = mkdir;
if(Stdio.is_dir(path))
return query_num_arg() == 1 ? 1 : (chmod(path, mod),1);
foreach(path/"/", string d)
{
a += d + "/";
if(sizeof(d))
if(query_num_arg() == 1) {
werror("mkdir(%O)\n", a);
r = m(a);
} else {
werror("mkdir(%O, %O)\n", a, mod);
r = m(a, mod);
}
int e = errno();
werror("mkdir(%O, %O) ==> %O\n", a, mod, r);
if (!r) {
werror("Errno: %O: %s\n", e, strerror(e));
}
}
trace(0);
werror("get_dir: %O\n", get_dir());
return r || (query_num_arg() == 2 && (chmod(path, mod),1));
}
mkdirhier("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n", 493)...
CWD: "/home/dist/tmp/build/roxen-pkg-rhel6_x86_64"
mkdir: mkdir [0]
- -: 7ab230->is_dir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n")
- -: 7aaea0->__lambda_65641_1_line_1821("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\...
- module.pmod:2785: 7aaea0->__lambda_65641_1_line_1821() returns: 0
- mkpackage.pike:15: 7ab230->is_dir() returns: 0
- mkpackage.pike:18: program(home/per/src/pike80/src/iterators.cmod:1186)("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217c...
- -: 7ab5c0->create("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n",47)
- -: 7ab5c0->create() returns: 47
- mkpackage.pike:18: returns: object(home/per/src/pike80/src/iterators.cmod:1186)
- -: 7aad50->write("mkdir(%O, %O)\n","#!/",493)
mkdir("#!/", 493)
- mkpackage.pike:26: 7aad50->write() returns: 18
- mkpackage.pike:27: mkdir("#!/",493)
- mkpackage.pike:27: returns: 0
- -: 7aad50->write("mkdir(%O, %O) ==> %O\n","#!/",493,0)
mkdir("#!/", 493) ==> 0
- mkpackage.pike:30: 7aad50->write() returns: 24
- -: 7aad50->write("Errno: %O: %s\n",22,"Invalid argument")
Errno: 22: Invalid argument
- mkpackage.pike:32: 7aad50->write() returns: 28
- -: 7aad50->write("mkdir(%O, %O)\n","#!/bin/",493)
mkdir("#!/bin/", 493)
- mkpackage.pike:26: 7aad50->write() returns: 22
- mkpackage.pike:27: mkdir("#!/bin/",493)
- mkpackage.pike:27: returns: 0
- -: 7aad50->write("mkdir(%O, %O) ==> %O\n","#!/bin/",493,0)
mkdir("#!/bin/", 493) ==> 0
- mkpackage.pike:30: 7aad50->write() returns: 28
- -: 7aad50->write("Errno: %O: %s\n",2,"No such file or directory")
Errno: 2: No such file or directory
- mkpackage.pike:32: 7aad50->write() returns: 36
- -: 7aad50->write("mkdir(%O, %O)\n","#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./",493)
mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./", 493)
- mkpackage.pike:26: 7aad50->write() returns: 69
- mkpackage.pike:27: mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./",493)
- mkpackage.pike:27: returns: 0
- -: 7aad50->write("mkdir(%O, %O) ==> %O\n","#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./",493,0)
mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./", 493) ==> 0
- mkpackage.pike:30: 7aad50->write() returns: 75
- -: 7aad50->write("Errno: %O: %s\n",2,"No such file or directory")
Errno: 2: No such file or directory
- mkpackage.pike:32: 7aad50->write() returns: 36
- -: 7aad50->write("mkdir(%O, %O)\n","#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n...
mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n"
"/", 493)
- mkpackage.pike:26: 7aad50->write() returns: 103
- mkpackage.pike:27: mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n"
"/",493)
- mkpackage.pike:27: returns: 0
- -: 7aad50->write("mkdir(%O, %O) ==> %O\n","#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \...
mkdir("#!/bin/sh\n"
"tar xf \"$0\" StmP1217ce1.sh\n"
"exec ./StmP1217ce1.sh \"$0\" \"$@\"\n"
"/", 493) ==> 0
- mkpackage.pike:30: 7aad50->write() returns: 109
- -: 7aad50->write("Errno: %O: %s\n",2,"No such file or directory")
Errno: 2: No such file or directory
- mkpackage.pike:32: 7aad50->write() returns: 36
get_dir: ({ /* 9 elements */
"StmP17a29d9.sh",
"StmP4bdaf62.sh",
"StmP110dd7c.sh",
"StmP41b2c90.sh",
"StmP618f3c0.sh",
"StmP1217ce1.sh",
"StmPa4d952e.sh",
"StmP10191d8.sh",
"StmPd34cb29.sh"
})
chmod(): Failed: File not found
/home/dist/build/devel/archive/mkpackage.pike:38:
/main()->mkdirhier("#!/bin/sh\ntar xf \"$0\" StmP1217ce1.sh\nexec ./StmP12
17ce1.sh \"$0\" \"$@\"\n",493)
```
mkdir("#!/", 493) failing with errno 22 (EINVAL) indicates that string_has_null() has returned true (from efuns.c):
```
if (string_has_null(str)) {
/* Filenames with NUL are not supported. */
errno = EINVAL;
pop_n_elems(args);
push_int(0);
return;
}
```
string_has_null() is defined in stralloc.h as:
```
static INLINE int ATTRIBUTE((unused)) string_has_null( struct pike_string *x )
{
INT32 min;
if( !x->len ) return 0;
check_string_range(x,0,&min,0);
return min <= 0;
}
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/8003Backport support for decoding of JWK from Pike 8.1 to Pike 8.0.2017-09-15T14:40:31ZPeter BortasBackport support for decoding of JWK from Pike 8.1 to Pike 8.0.Imported from https://youtrack.roxen.com/issue/PIKE-3
Reported by @grubbaImported from https://youtrack.roxen.com/issue/PIKE-3
Reported by @grubbahttps://git.lysator.liu.se/pikelang/pike/-/issues/8004Standards.URI obsolete list of reserved characters2020-03-25T10:06:18ZPeter BortasStandards.URI obsolete list of reserved charactersImported from https://youtrack.roxen.com/issue/PIKE-4
Reported by Martin Karlgren <marty@roxen.com>
Standards.URI doesn't encode e.g. exclamation marks ("!"), as mandated by [RFC 3986](http://pike.lysator.liu.se/docs/ietf/rfc/39/rfc398...Imported from https://youtrack.roxen.com/issue/PIKE-4
Reported by Martin Karlgren <marty@roxen.com>
Standards.URI doesn't encode e.g. exclamation marks ("!"), as mandated by [RFC 3986](http://pike.lysator.liu.se/docs/ietf/rfc/39/rfc3986.xml). Indeed, Standards.pmod/URI.pike references the outdated [RFC 1738](http://pike.lysator.liu.se/docs/ietf/rfc/17/rfc1738.xml).Pike 8.0https://git.lysator.liu.se/pikelang/pike/-/issues/8005Image.PS.decode fails on WIN32.2020-03-06T10:51:28ZPeter BortasImage.PS.decode fails on WIN32.Imported from https://youtrack.roxen.com/issue/PIKE-5
Reported by @grubba
REP 6.1.198/Pike 8.0.408:
#### From REPs testsuite
```
Running test C:/disttest/install test/ep_6_1/server-6.1.198/packages/print/test/tests/RoxenTest_rep_imag...Imported from https://youtrack.roxen.com/issue/PIKE-5
Reported by @grubba
REP 6.1.198/Pike 8.0.408:
#### From REPs testsuite
```
Running test C:/disttest/install test/ep_6_1/server-6.1.198/packages/print/test/tests/RoxenTest_rep_imageproc.pike
################ Background failure
Image Processor: Pike Image Processor: image_resize failed to decode ([ /* 3 elements */
"filepath": "C:/disttest/install test/ep_6_1/server-6.1.198/packages/print/test/data/1163486.pdf",
"mimetype": "application/pdf",
"resize": ({ /* 1 element */
([ /* 2 elements */
"filepath": "/tmp/roxentest/output11268.jpg",
"mimetype": "image/jpeg"
])
})
]):
Failed to start process (3).
-:1: _static_modules.Builtin()->create_process()->create(({"/bin/sh -c gs ","-quiet","-sDEVICE=ppmraw","-r100","-dBATCH","-dNOPAUSE","-dUseCIEColor",,,3}),mapping[3])
c:/disttest/install test/ep_6_1/server-6.1.198/pike/lib/modules/_Image_PS.pmod:156: _Image_PS.decode(0,mapping[4])
C:/disttest/install test/ep_6_1/server-6.1.198/packages/imageproc/modules/image-pike.pike (602b93f3):166: RoxenModule(Test REP/image-pike#0)->do_image_resize(mapping[3])
C:/disttest/install test/ep_6_1/server-6.1.198/packages/imageproc/modules/image-pike.pike (602b93f3):126: RoxenModule(Test REP/image-pike#0)->image_resize(mapping[1])
C:/disttest/install test/ep_6_1/server-6.1.198/packages/imageproc/modules/image.pike (3b2788c1):525: RoxenModule(Test REP/image#0)->do_processing(,,,1)
C:/disttest/install test/ep_6_1/server-6.1.198/packages/imageproc/modules/image.pike (3b2788c1):474: RoxenModule(Test REP/image#0)->processor(RoxenModule(Test REP/image#0)->ThreadSafePrioQueue(),0)
| ################ C:/disttest/install test/ep_6_1/server-6.1.198/packages/print/test/tests/RoxenTest_rep_imageproc.pike:36: FAILED
| res
```https://git.lysator.liu.se/pikelang/pike/-/issues/8006Arg module broken2017-09-15T14:40:31ZPeter BortasArg module brokenImported from https://youtrack.roxen.com/issue/PIKE-6
Reported by Marcus Wellhardh <wellhard@roxen.com>
Installing patch "2017-02-01T151715: Pike 8.0: sizeof on Mysql.SqlTable, JWT & JWK" breaks the Arg module:
```
> apollo:roxen wel...Imported from https://youtrack.roxen.com/issue/PIKE-6
Reported by Marcus Wellhardh <wellhard@roxen.com>
Installing patch "2017-02-01T151715: Pike 8.0: sizeof on Mysql.SqlTable, JWT & JWK" breaks the Arg module:
```
> apollo:roxen wellhard$ ./server-6.0.130/bin/roxen
Pike v8.0 release 232 running Hilfe v3.5 (Incremental Pike Frontend)
> indices(Arg);
server-6.0.130/pike/lib/modules/Arg.pmod:421:Bad argument 1 to unknown function.
server-6.0.130/pike/lib/modules/Arg.pmod:421:Expected: int.
server-6.0.130/pike/lib/modules/Arg.pmod:421:Got : object(implements program(/Users/wellhard/Testarea/roxen-6.0.130-r1-ep-macosx_x86_64/roxen/server-6.0.130/pike/lib/modules/Arg.pmod:397)).
server-6.0.130/pike/lib/modules/Arg.pmod:421:Too many arguments to unknown function (expected 1 arguments).
server-6.0.130/pike/lib/modules/Arg.pmod:421:Got : zero.
server-6.0.130/pike/lib/modules/Arg.pmod:491:Cannot inherit program in pass 2 which is not fully compiled yet.
server-6.0.130/pike/lib/modules/Arg.pmod:491:(You probably have a cyclic symbol dependency that the compiler cannot handle.)
server-6.0.130/pike/lib/modules/Arg.pmod:548:Cannot inherit program in pass 2 which is not fully compiled yet.
server-6.0.130/pike/lib/modules/Arg.pmod:548:(You probably have a cyclic symbol dependency that the compiler cannot handle.)
server-6.0.130/pike/lib/modules/Arg.pmod:637:Placeholder already has storage!
```
The following patch fixes the problem:
```
apollo:roxen wellhard$ diff -u server-6.0.130/pike/lib/modules/Arg.pmod.ORIG server-6.0.130/pike/lib/modules/Arg.pmod
--- server-6.0.130/pike/lib/modules/Arg.pmod.ORIG 2017-02-22 11:38:22.000000000 +0100
+++ server-6.0.130/pike/lib/modules/Arg.pmod 2017-02-22 11:47:47.000000000 +0100
@@ -418,7 +418,13 @@
env = getenv();
// Make a list of all the arguments we can parse.
- foreach(::_indices(this, 0), string index)
+ foreach(
+#if __BUILD__ < 368
+ ::_indices(2)
+#else
+ ::_indices(this, 0)
+#endif
+ , string index)
{
mixed val = ::`[](index, this, 0);
if(objectp(val) && val->is_opt) opts[index]=val;
```https://git.lysator.liu.se/pikelang/pike/-/issues/8007The Protocols.HTTP.Query timeout is lost during TLS negotiation when using pr...2017-09-15T14:40:31ZPeter BortasThe Protocols.HTTP.Query timeout is lost during TLS negotiation when using proxies.Imported from https://youtrack.roxen.com/issue/PIKE-7
Reported by @grubba
In the interval between Protocols.HTTP.https_proxy_connect_ok() being called, and do_sync_method() being called on successful TLS connection there is no active t...Imported from https://youtrack.roxen.com/issue/PIKE-7
Reported by @grubba
In the interval between Protocols.HTTP.https_proxy_connect_ok() being called, and do_sync_method() being called on successful TLS connection there is no active timeout. This means that if the TLS server is stopped, the connection will hang indefinitely even if a timeout has been set.https://git.lysator.liu.se/pikelang/pike/-/issues/8008bool resolves to int(1..1)2017-04-27T13:39:11ZPeter Bortasbool resolves to int(1..1)Imported from https://youtrack.roxen.com/issue/PIKE-8
Reported by KG Sterneberg <kg@roxen.com>
I get the following problem:
```
>pike bool-test.pike
int(1..1)
Bool value: 1
Bad argument 1 to foo(). Expected object | { bool = int(1..1)...Imported from https://youtrack.roxen.com/issue/PIKE-8
Reported by KG Sterneberg <kg@roxen.com>
I get the following problem:
```
>pike bool-test.pike
int(1..1)
Bool value: 1
Bad argument 1 to foo(). Expected object | { bool = int(1..1) }.
bool-test.pike:9: /main()->foo(0)
bool-test.pike:5:
/main()->main(1,({"/Users/kg/dev/learning/pike/bool-test.pike"}))
```
when running:
```
int main(int argc, array(string) argv)
{
werror("%O\n", bool);
foo(true);
foo(false);
return 0;
}
variant void foo(bool v) {
werror("Bool value: %O\n", v);
}
variant void foo(object v) {
werror("Object: %O\n", v);
}
```
Without variant it works fine:
```
int main(int argc, array(string) argv)
{
werror("%O\n", bool);
foo(true);
foo(false);
return 0;
}
void foo(bool v) {
werror("Bool value: %O\n", v);
}
}
```
Possible solution (by Grubba):
In master.pike, replace
```
enum bool { false=0, true=1 };
```
with
```
typedef int(0..1) bool;
enum { false=0, true=1 };
```https://git.lysator.liu.se/pikelang/pike/-/issues/8009Declaration order for nested classes matters - should not!2020-03-23T09:49:57ZPeter BortasDeclaration order for nested classes matters - should not!Imported from https://youtrack.roxen.com/issue/PIKE-9
Reported by KG Sterneberg <kg@roxen.com>
The following code does not work (but it should):
```
int main(int argc, array(string) argv)
{
Outer outer = Outer();
Outer.Nested n = ...Imported from https://youtrack.roxen.com/issue/PIKE-9
Reported by KG Sterneberg <kg@roxen.com>
The following code does not work (but it should):
```
int main(int argc, array(string) argv)
{
Outer outer = Outer();
Outer.Nested n = outer->get_nested();
n->hello_world();
}
class Outer
{
Nested get_nested()
{
return Nested();
}
class Nested
{
void hello_world() { werror("Hello World!\n"); }
}
}
```
Running it:
```
>pike tmp.pike
tmp.pike:4:Indexing on illegal type.
tmp.pike:4:Got : zero.
tmp.pike:4:Index : string(78..116).
tmp.pike:4:Expected constant expression.
Pike: Failed to compile script.
```
Moving "class Outer" above main solves the problem. However the order should not matter!https://git.lysator.liu.se/pikelang/pike/-/issues/8010Pike.identify_cycle doesn't handle declared-only __hash member2023-11-05T10:13:18ZPeter BortasPike.identify_cycle doesn't handle declared-only __hash memberImported from https://youtrack.roxen.com/issue/PIKE-10
Reported by Martin Karlgren <marty@roxen.com>
Pike.identify_cycle throws when a class has a declared, but not defined, __hash member. (Not sure if the problem really is in hash_sva...Imported from https://youtrack.roxen.com/issue/PIKE-10
Reported by Martin Karlgren <marty@roxen.com>
Pike.identify_cycle throws when a class has a declared, but not defined, __hash member. (Not sure if the problem really is in hash_svalue?)
```
> class Foo { mixed bar; int __hash(); }
> class Bar { mixed foo; }
> Foo foo = Foo();
> Bar bar = Bar();
> foo->bar = bar;
(1) Result: HilfeInput()->Bar()
> bar->foo = foo;
(2) Result: HilfeInput()->Foo()
> Pike.identify_cycle(foo);
Calling undefined function.
HilfeInput:1: HilfeInput()->Foo()->__hash()
-:1: __builtin.identify_cycle(HilfeInput()->Foo())
```Pike 8.0https://git.lysator.liu.se/pikelang/pike/-/issues/8011wrong variant order can cause exception2022-11-06T11:19:16ZPeter Bortaswrong variant order can cause exceptionImported from https://youtrack.roxen.com/issue/PIKE-11
Reported by KG Sterneberg <kg@roxen.com>
Running the following code:
```
int main(int argc, array(string) argv)
{
array exceptions = ({
Error.mkerror("Ett vanligt fel..."),
...Imported from https://youtrack.roxen.com/issue/PIKE-11
Reported by KG Sterneberg <kg@roxen.com>
Running the following code:
```
int main(int argc, array(string) argv)
{
array exceptions = ({
Error.mkerror("Ett vanligt fel..."),
MyException("Oh no! Something blew up."),
MyError("This is my error"),
"hej hopp gallop",
});
foreach (exceptions, mixed obj) {
handle_error(obj);
}
return 0;
}
variant void handle_error(mixed e) {
werror("Handle an error of unknown type: %O\n", e);
}
variant void handle_error(MyException e) {
werror("Handle an MyException: %s\n", describe_error(e));
}
variant void handle_error(Error.Generic e) {
werror("Handle an Error.Generic: %s\n", describe_error(e));
}
variant void handle_error(MyError e) {
werror("Handle an MyError: %s\n", describe_error(e));
}
class MyException {
inherit Error.Generic;
protected void create(string message) {
::create(message, backtrace());
}
public constant is_my_exception = true;
}
class MyError {
inherit Error.Generic;
protected void create(string message) {
::create(message, backtrace());
}
public constant is_my_error = true;
}
```
results in:
```
>pike exception-test.pike
*Calling undefined function.*
exception-test.pike:27: /main()->handle_error(_static_modules.Builtin()->GenericError("Ett vanligt fel..."))
exception-test.pike:15: /main()->handle_error()
exception-test.pike:10: /main()->main(1,({"/Users/kg/dev/learning/pike/exception-test.pike"}))
```
Just by switching the order of the handle_error variants lite this:
```
variant void handle_error(mixed e) {
werror("Handle an error of unknown type: %O\n", e);
}
variant void handle_error(MyException e) {
werror("Handle an MyException: %s\n", describe_error(e));
}
variant void handle_error(MyError e) {
werror("Handle an MyError: %s\n", describe_error(e));
}
variant void handle_error(Error.Generic e) {
werror("Handle an Error.Generic: %s\n", describe_error(e));
}
```
will make the program work:
```
>pike exception-test.pike
Handle an Error.Generic: Ett vanligt fel...
Handle an MyException: Oh no! Something blew up.
Handle an MyError: This is my error
Handle an error of unknown type: "hej hopp gallop"
```
*This behaviour is dangerous and a potential source of bugs that can be hard do discover.*
P.S. Moving the deklarations of MyException and MyError above the main-function also solves the problem.https://git.lysator.liu.se/pikelang/pike/-/issues/8012Unlocking of mutexes that are waited on should force thread yielding.2017-04-26T13:30:08ZPeter BortasUnlocking of mutexes that are waited on should force thread yielding.Imported from https://youtrack.roxen.com/issue/PIKE-12
Reported by @grubba
Currently when a mutex is unlocked, the underlying condvar is signaled, but no thread yield is forced. This means that the current thread may relock the mutex w...Imported from https://youtrack.roxen.com/issue/PIKE-12
Reported by @grubba
Currently when a mutex is unlocked, the underlying condvar is signaled, but no thread yield is forced. This means that the current thread may relock the mutex without the waiting thread getting to run, leading to starvation of the waiting thread.https://git.lysator.liu.se/pikelang/pike/-/issues/8013ADT.Trie dumps massive state in backtraces2020-03-08T13:58:29ZPeter BortasADT.Trie dumps massive state in backtracesImported from https://youtrack.roxen.com/issue/PIKE-13
Reported by Jonas Walldén <jonasw@roxen.com>
See attached example of 2000+ lines of noise. This needs to be shortened or removed.
#### Attachments:
- [adt.trie.txt](/uploads/4137...Imported from https://youtrack.roxen.com/issue/PIKE-13
Reported by Jonas Walldén <jonasw@roxen.com>
See attached example of 2000+ lines of noise. This needs to be shortened or removed.
#### Attachments:
- [adt.trie.txt](/uploads/4137fd782ac5a2d27f470ed453f84fe9/adt.trie.txt "adt.trie.txt")https://git.lysator.liu.se/pikelang/pike/-/issues/8014Parser.HTML leaks stack.2017-06-14T12:57:46ZPeter BortasParser.HTML leaks stack.Imported from https://youtrack.roxen.com/issue/PIKE-14
Reported by @grubba
When a parser tag or container callback returns zero, there are some cases where the zero doesn't get popped from the stack.
This can cause the parser to run o...Imported from https://youtrack.roxen.com/issue/PIKE-14
Reported by @grubba
When a parser tag or container callback returns zero, there are some cases where the zero doesn't get popped from the stack.
This can cause the parser to run out of stack for large documents.https://git.lysator.liu.se/pikelang/pike/-/issues/8015Filesystem.Monitor: Poll accelerated monitors too.2022-08-30T14:04:03ZPeter BortasFilesystem.Monitor: Poll accelerated monitors too.Imported from https://youtrack.roxen.com/issue/PIKE-15
Reported by @grubba
Related to [PIKE-19](#8019),now #8019
Both the Inotify and FSEvents APIs claim that they support
notifications on eg network file system...Imported from https://youtrack.roxen.com/issue/PIKE-15
Reported by @grubba
Related to [PIKE-19](#8019),now #8019
Both the Inotify and FSEvents APIs claim that they support
notifications on eg network file systems, and while they will
succeed in notifying on changes performed by the local host
on such file systems, they will not on changes performed by
other hosts. To avoid missing such changes such monitors
need to be scanned too.https://git.lysator.liu.se/pikelang/pike/-/issues/8016The Inotify accelerated filesystem monitor may lose acceleration in some cases.2020-03-08T13:54:07ZPeter BortasThe Inotify accelerated filesystem monitor may lose acceleration in some cases.Imported from https://youtrack.roxen.com/issue/PIKE-16
Reported by @grubba
The MacOS X Finder is apparently fond of the access pattern when copying files:
```mermaid
graph LR
C1[Create]==>Delete
Delete==>C2[Create]
```
The monito...Imported from https://youtrack.roxen.com/issue/PIKE-16
Reported by @grubba
The MacOS X Finder is apparently fond of the access pattern when copying files:
```mermaid
graph LR
C1[Create]==>Delete
Delete==>C2[Create]
```
The monitor for the resulting file may get lost if the second create comes before the parent directory has been scanned.https://git.lysator.liu.se/pikelang/pike/-/issues/8017Provide debug hooks to track the file system monitor state.2017-07-19T10:34:59ZPeter BortasProvide debug hooks to track the file system monitor state.Imported from https://youtrack.roxen.com/issue/PIKE-17
Reported by @grubba
Tracing of the file system monitor system is currently provided via the -DFILESYSTEM_MONITOR_DEBUG option, which simply tracks all operations. This is useful, b...Imported from https://youtrack.roxen.com/issue/PIKE-17
Reported by @grubba
Tracing of the file system monitor system is currently provided via the -DFILESYSTEM_MONITOR_DEBUG option, which simply tracks all operations. This is useful, but is hard to use as interesting information has a tendency to drown in other data.
Add an API to make it possible to get more fine-grained filtering of the trace.https://git.lysator.liu.se/pikelang/pike/-/issues/8018Cannot wait for conditions when threads are disabled2020-07-24T10:52:52ZPeter BortasCannot wait for conditions when threads are disabledImported from https://youtrack.roxen.com/issue/PIKE-18
Reported by Marcus Wellhardh <wellhard@roxen.com>
After a thread dump the following error is repeated all over until the server restarted by the ABS:
````
11:13:53 : Int...Imported from https://youtrack.roxen.com/issue/PIKE-18
Reported by Marcus Wellhardh <wellhard@roxen.com>
After a thread dump the following error is repeated all over until the server restarted by the ABS:
````
11:13:53 : Internal server error: Cannot wait for conditions when threads are disabled!
-:1: Thread.Queue(0)->wait(_static_modules.Builtin()->mutex_key())
pike/lib/modules/Thread.pmod:275: Thread.Queue(0)->read()
base_server/roxen.pike (cf814f9c):715: roxen()->handler_thread(4)
```
See attachment for more info.
The entire log is in /home/wellhard/Kunder/Shaw/default.2.bz2
#### Attachments:
- [dump.txt](/uploads/b3aecbad5761f3f1b325481da2c98a8b/dump.txt "dump.txt")https://git.lysator.liu.se/pikelang/pike/-/issues/8019The Pike.DefaultBackend.enable_core_foundation() API smells.2022-08-30T14:07:54ZPeter BortasThe Pike.DefaultBackend.enable_core_foundation() API smells.Imported from https://youtrack.roxen.com/issue/PIKE-19
Reported by @grubba
Related to [PIKE-15](#8015), now #8015
Why isn't this mode always enabled?
The mode ought to be enabled automatically.Imported from https://youtrack.roxen.com/issue/PIKE-19
Reported by @grubba
Related to [PIKE-15](#8015), now #8015
Why isn't this mode always enabled?
The mode ought to be enabled automatically.https://git.lysator.liu.se/pikelang/pike/-/issues/8020Investigate testsuite failures and memory leaks in Pike 8.0/8.1.2022-08-29T17:42:30ZPeter BortasInvestigate testsuite failures and memory leaks in Pike 8.0/8.1.Imported from https://youtrack.roxen.com/issue/PIKE-20
Reported by @grubba
Blocked by [PIKE-21](#8021), now #8021
Blocked by [PIKE-22](#8022), now #8022
Blocked by [PIKE-23](#8023), now #8023
Blocked by [PIKE-24](#8024), now #8024
...Imported from https://youtrack.roxen.com/issue/PIKE-20
Reported by @grubba
Blocked by [PIKE-21](#8021), now #8021
Blocked by [PIKE-22](#8022), now #8022
Blocked by [PIKE-23](#8023), now #8023
Blocked by [PIKE-24](#8024), now #8024
Blocked by [PIKE-25](#8025), now #8025
Blocked by [PIKE-26](#8026), now #8026
Blocked by [PIKE-27](#8027), now #8027
Blocked by [PIKE-28](#8028), now #8028
Blocked by [PIKE-29](#8029), now #8029
Blocked by [PIKE-30](#8030), now #8030
Blocked by [PIKE-31](#8031), now #8031
Blocked by [PIKE-34](#8034), now #8034
The Pike testsuite has intermittent failures, and running it --with-dmalloc shows several leaks and triggers a few crashes.https://git.lysator.liu.se/pikelang/pike/-/issues/8021random_string() loses references to the empty string.2022-08-29T17:40:51ZPeter Bortasrandom_string() loses references to the empty string.Imported from https://youtrack.roxen.com/issue/PIKE-21
Reported by @grubba
Blocking [PIKE-20](#8020)
Calling random_string() with 0 caused the empty string
to lose a reference.Imported from https://youtrack.roxen.com/issue/PIKE-21
Reported by @grubba
Blocking [PIKE-20](#8020)
Calling random_string() with 0 caused the empty string
to lose a reference.https://git.lysator.liu.se/pikelang/pike/-/issues/8022The compiler leaks types.2022-08-29T17:40:51ZPeter BortasThe compiler leaks types.Imported from https://youtrack.roxen.com/issue/PIKE-22
Reported by @grubba
Blocking [PIKE-20](#8020)
The resulting type from resolving the auto return type
leaked when there was more than one return statement.Imported from https://youtrack.roxen.com/issue/PIKE-22
Reported by @grubba
Blocking [PIKE-20](#8020)
The resulting type from resolving the auto return type
leaked when there was more than one return statement.https://git.lysator.liu.se/pikelang/pike/-/issues/8023The compiler crashes when compiling some files.2022-08-29T17:40:51ZPeter BortasThe compiler crashes when compiling some files.Imported from https://youtrack.roxen.com/issue/PIKE-23
Reported by @grubba
Blocking [PIKE-20](#8020)
Recovers from issue where the compiler context could come out of
sync due to syntax errors in nested classes. This could in turn
lead...Imported from https://youtrack.roxen.com/issue/PIKE-23
Reported by @grubba
Blocking [PIKE-20](#8020)
Recovers from issue where the compiler context could come out of
sync due to syntax errors in nested classes. This could in turn
lead to various obscure errors, some of which were fatal.https://git.lysator.liu.se/pikelang/pike/-/issues/8024Fix NULL dereference by count_memory() when running --with-dmalloc.2022-08-29T17:40:51ZPeter BortasFix NULL dereference by count_memory() when running --with-dmalloc.Imported from https://youtrack.roxen.com/issue/PIKE-24
Reported by @grubba
Blocking [PIKE-20](#8020)
Don't attempt to get gc markers when the gc isn't active.Imported from https://youtrack.roxen.com/issue/PIKE-24
Reported by @grubba
Blocking [PIKE-20](#8020)
Don't attempt to get gc markers when the gc isn't active.https://git.lysator.liu.se/pikelang/pike/-/issues/8025_Roxen.HeaderParser leaks mappings in feed().2022-08-29T17:40:51ZPeter Bortas_Roxen.HeaderParser leaks mappings in feed().Imported from https://youtrack.roxen.com/issue/PIKE-25
Reported by @grubba
Blocking [PIKE-20](#8020)
The mapping intended to hold the parsed headers from feed()
leaked if the HTTP headers were malformed.Imported from https://youtrack.roxen.com/issue/PIKE-25
Reported by @grubba
Blocking [PIKE-20](#8020)
The mapping intended to hold the parsed headers from feed()
leaked if the HTTP headers were malformed.https://git.lysator.liu.se/pikelang/pike/-/issues/8026Fix fatal "Didn't find gc marker as expected" for types.2022-08-29T17:40:51ZPeter BortasFix fatal "Didn't find gc marker as expected" for types.Imported from https://youtrack.roxen.com/issue/PIKE-26
Reported by @grubba
Blocking [PIKE-20](#8020)
All types didn't have markers at cleanup time.Imported from https://youtrack.roxen.com/issue/PIKE-26
Reported by @grubba
Blocking [PIKE-20](#8020)
All types didn't have markers at cleanup time.https://git.lysator.liu.se/pikelang/pike/-/issues/8027Fix issue where strings intermittently get corrupted by the Image module.2022-08-29T17:40:51ZPeter BortasFix issue where strings intermittently get corrupted by the Image module.Imported from https://youtrack.roxen.com/issue/PIKE-27
Reported by @grubba
Blocking [PIKE-20](#8020)
If a dynamically allocated string (eg "Random.Deterministic") that had
an active substring (eg "Deterministic") later got replaced wi...Imported from https://youtrack.roxen.com/issue/PIKE-27
Reported by @grubba
Blocking [PIKE-20](#8020)
If a dynamically allocated string (eg "Random.Deterministic") that had
an active substring (eg "Deterministic") later got replaced with a
statically allocated string, the substring would point to freed memory.
Fixes intermittent failures to resolve "Random.Deterministic" in from
Image.Image()->test(), as well as the fatal "Shared string is not zero
terminated properly." from eg _verify_internals().https://git.lysator.liu.se/pikelang/pike/-/issues/8028The preprocessor leaks macro names on failed expansion.2022-08-29T17:40:51ZPeter BortasThe preprocessor leaks macro names on failed expansion.Imported from https://youtrack.roxen.com/issue/PIKE-28
Reported by @grubba
Blocking [PIKE-20](#8020)
The name of the macro being expanded could leak if there was an error in its list of parameters.Imported from https://youtrack.roxen.com/issue/PIKE-28
Reported by @grubba
Blocking [PIKE-20](#8020)
The name of the macro being expanded could leak if there was an error in its list of parameters.https://git.lysator.liu.se/pikelang/pike/-/issues/8029The _Stdio testsuite hangs intermittently.2022-11-06T09:35:27ZPeter BortasThe _Stdio testsuite hangs intermittently.Imported from https://youtrack.roxen.com/issue/PIKE-29
Reported by @grubba
Blocking [PIKE-20](#8020), now #8020
````
Doing tests in modules/_Stdio/testsuite (179 tests, pid 4612)
[WATCHDOG]: 00:40:31: Pike testsuite timeout.
[WATCHDOG...Imported from https://youtrack.roxen.com/issue/PIKE-29
Reported by @grubba
Blocking [PIKE-20](#8020), now #8020
````
Doing tests in modules/_Stdio/testsuite (179 tests, pid 4612)
[WATCHDOG]: 00:40:31: Pike testsuite timeout.
[WATCHDOG]: Current test: Test 96 at /net/myst/export/d1/xenofarm/[pike-8](#8008).1/tron.roxen.com/buildtmp/Pike-v8.1-snapshot/src/modules/_Stdio/testsuite.in:319
[WATCHDOG]: 00:40:31: Sending SIGABRT to 4617.
[WATCHDOG]: 01:21:31: Pike testsuite timeout.
[WATCHDOG]: 01:21:31: Sending SIGABRT to 4573.
*** Signal 6 - core dumped
````https://git.lysator.liu.se/pikelang/pike/-/issues/8030Strange number of references to a mapping.2022-08-29T17:40:51ZPeter BortasStrange number of references to a mapping.Imported from https://youtrack.roxen.com/issue/PIKE-30
Reported by @grubba
Blocking [PIKE-20](#8020)
````
Doing tests in testsuite (11914 tests, pid 12730)
**Block: 0xd0f0ded0c0 Type: mapping Refs: -253832321
*******************
/ho...Imported from https://youtrack.roxen.com/issue/PIKE-30
Reported by @grubba
Blocking [PIKE-20](#8020)
````
Doing tests in testsuite (11914 tests, pid 12730)
**Block: 0xd0f0ded0c0 Type: mapping Refs: -253832321
*******************
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/mapping.c:67: Fatal error:
really free mapping on mapping with -253832321 refs.
No stack - no backtrace.
Aborted (core dumped)
Testing vtables and scope access: 8:19264
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/testsuite.in:5643: Test 1000 (shift 1) (CRNL) failed.
1: mixed a() {
2: Stdio.write_file ("testsuite_test.pike", #"\
3: int main()
4: {
5: Thread.Mutex m = Thread.Mutex();
6: Thread.MutexKey l = m->lock();
7: Thread.thread_create (lambda () {m->lock(); exit (0);});
8: call_out (destruct, 0, l);
9: return -1;
10: }");
11: return Process.system (RUNPIKE +" testsuite_test.pike");
12: ; }
13: mixed b() { return 0; }
o->a(): 134
o->b(): 0
````https://git.lysator.liu.se/pikelang/pike/-/issues/8031Web.SocketIO fails with fatal "Internal error: Not allowed to add more identi...2022-11-06T09:23:56ZPeter BortasWeb.SocketIO fails with fatal "Internal error: Not allowed to add more identifiers during second compiler pass."Imported from https://youtrack.roxen.com/issue/PIKE-31
Reported by @grubba
Blocking [PIKE-20](#8020), now #8020
````
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/program.c:6791:...Imported from https://youtrack.roxen.com/issue/PIKE-31
Reported by @grubba
Blocking [PIKE-20](#8020), now #8020
````
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/program.c:6791: Fatal error:
Internal error: Not allowed to add more identifiers during second compiler pass.
Added identifier: "register"
Backtrace at time of fatal:
-:1: PikeCompiler("", UNDEFINED, -1, -1, target, placeholder)->compile()
-:1: DefaultCompilerEnvironment->compile(PikeCompiler("", UNDEFINED, -1, -1, target, placeholder))
test-install/pike/8.1.11/lib/master.pike:670: compile_string("/*\n\40*\40Clean-room\40Socket.IO\40implementation\40for\40Pike.\n\40*/\n\n//!\40This\40is\40a"+[22574]+"\40\40\40return\40res;\n\40\40}\n}\n","/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/P"+[90]+"eb.pmod/SocketIO.pmod",0,,,2)
test-install/pike/8.1.11/lib/master.pike:1476: master()->low_findprog("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod/SocketIO.pmod","",0,1)
test-install/pike/8.1.11/lib/master.pike:1603: master()->findprog("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod/SocketIO.pmod",".pmod",0,1)
test-install/pike/8.1.11/lib/master.pike:1639: master()->low_cast_to_program("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod/SocketIO",0,0,1)
test-install/pike/8.1.11/lib/master.pike:1917: master()->low_cast_to_object("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod/SocketIO.pmod",0,0)
test-install/pike/8.1.11/lib/master.pike:2145: Web->low_ind("SocketIO",UNDEFINED)
test-install/pike/8.1.11/lib/master.pike:2223: Web->ind("SocketIO")
test-install/pike/8.1.11/lib/master.pike:2259: Web->`[]("SocketIO")
test-install/pike/8.1.11/lib/master.pike:2443: Web->ind("SocketIO")
test-install/pike/8.1.11/lib/master.pike:2498: Web->`[]("SocketIO")
test-install/pike/8.1.11/lib/master.pike:3139: master()->resolv("Web.SocketIO",UNDEFINED,UNDEFINED)
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/test_resolve.pike:45: /main()->test_resolv("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod/SocketIO.pmod",158,UNDEFINED)
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/test_resolve.pike:134: /main()->test_dir("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules/Web.pmod",158,UNDEFINED)
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/test_resolve.pike:92: /main()->test_dir("/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/build/linux-4.11.0-2-amd64-x86_64/test-install/pike/8.1.11/lib/modules",158,UNDEFINED)
/home/hungerf3/xeno/xenoclient/[pike-8](#8008).1/cruncher.ofdoom.com/buildtmp/Pike-v8.1-snapshot/src/test_resolve.pike:158: /main()->main()
No result from subprocess (died of signal SIGABRT)
````Pike 9.0https://git.lysator.liu.se/pikelang/pike/-/issues/8034Standards.PKCS.parse_public_key() rejects valid public keys.2022-08-29T17:40:51ZPeter BortasStandards.PKCS.parse_public_key() rejects valid public keys.Imported from https://youtrack.roxen.com/issue/PIKE-34
Reported by @grubba
Blocking [PIKE-20](#8020)
This issue was due to the code expecting the public key data to be in an ASN.1 OCTET STRING (as it is for private keys), but is suppo...Imported from https://youtrack.roxen.com/issue/PIKE-34
Reported by @grubba
Blocking [PIKE-20](#8020)
This issue was due to the code expecting the public key data to be in an ASN.1 OCTET STRING (as it is for private keys), but is supposed to be in a BIT STRING.https://git.lysator.liu.se/pikelang/pike/-/issues/8035Total test failure on Ubuntu 16.04/x86_64 (No MySQL support in pike binary2017-09-06T08:16:39ZPeter BortasTotal test failure on Ubuntu 16.04/x86_64 (No MySQL support in pike binaryImported from https://youtrack.roxen.com/issue/PIKE-35
Reported by Daniel Wressle <wressle@roxen.com>Imported from https://youtrack.roxen.com/issue/PIKE-35
Reported by Daniel Wressle <wressle@roxen.com>https://git.lysator.liu.se/pikelang/pike/-/issues/8037Extend JWS to support Key ID.2020-03-05T17:17:55ZPeter BortasExtend JWS to support Key ID.Imported from https://youtrack.roxen.com/issue/PIKE-37
Reported by @grubba
Blocked by [PIKE-38](#8038)
ACME draft 7 6.2:
```
JWS objects sent in ACME requests MUST meet the following additional
criteria:
o The JWS MUST NOT hav...Imported from https://youtrack.roxen.com/issue/PIKE-37
Reported by @grubba
Blocked by [PIKE-38](#8038)
ACME draft 7 6.2:
```
JWS objects sent in ACME requests MUST meet the following additional
criteria:
o The JWS MUST NOT have the value "none" in its "alg" field
o The JWS MUST NOT have a Message Authentication Code (MAC)-based
algorithm in its "alg" field
o The JWS Protected Header MUST include the following fields:
Barnes, et al. Expires December 23, 2017 [Page 9]
Internet-Draft ACME June 2017
* "alg" (Algorithm)
* "jwk" (JSON Web Key, only for requests to new-account and
revoke-cert resources)
* "kid" (Key ID, for all other requests)
* "nonce" (defined in Section 6.4 below)
* "url" (defined in Section 6.3 below)
The "jwk" and "kid" fields are mutually exclusive. Servers MUST
reject requests that contain both.
For new-account requests, and for revoke-cert requests authenticated
by certificate key, there MUST be a "jwk" field.
For all other requests, there MUST be a "kid" field. This field must
contain the account URL received by POSTing to the new-account
resource.
```https://git.lysator.liu.se/pikelang/pike/-/issues/8038Implement Web.Api.ACME module.2022-08-30T14:18:46ZPeter BortasImplement Web.Api.ACME module.Imported from https://youtrack.roxen.com/issue/PIKE-38
Reported by @grubba
Blocking [PIKE-37](#8037), now #8037
ACME defines a RESTful API. cf ACME Draft 7 Section 7.Imported from https://youtrack.roxen.com/issue/PIKE-38
Reported by @grubba
Blocking [PIKE-37](#8037), now #8037
ACME defines a RESTful API. cf ACME Draft 7 Section 7.https://git.lysator.liu.se/pikelang/pike/-/issues/8039Implement support for encoding of keys to JWK.2017-09-29T09:31:59ZPeter BortasImplement support for encoding of keys to JWK.Imported from https://youtrack.roxen.com/issue/PIKE-39
Reported by @grubba
When using ACME the client needs to be able to send its public API key to the server as a JWK.
Currently Pike only has support for decoding of JWK.Imported from https://youtrack.roxen.com/issue/PIKE-39
Reported by @grubba
When using ACME the client needs to be able to send its public API key to the server as a JWK.
Currently Pike only has support for decoding of JWK.https://git.lysator.liu.se/pikelang/pike/-/issues/8040The install script generated by mkpackage doesn't propagate the error code fr...2017-10-02T07:30:02ZPeter BortasThe install script generated by mkpackage doesn't propagate the error code from extra platform tests.Imported from https://youtrack.roxen.com/issue/PIKE-40
Reported by @grubba
See [PS-127] for details.Imported from https://youtrack.roxen.com/issue/PIKE-40
Reported by @grubba
See [PS-127] for details.https://git.lysator.liu.se/pikelang/pike/-/issues/8041Search compactor crashes with double free or corruption error2017-10-20T07:42:39ZPeter BortasSearch compactor crashes with double free or corruption errorImported from https://youtrack.roxen.com/issue/PIKE-41
Reported by Marcus Wellhardh <wellhard@roxen.com>
```
: Search: Notice: Starting database compactor with Pike v8.0 release 408
*** Error in `/usr/local/roxen/server-6.1.2...Imported from https://youtrack.roxen.com/issue/PIKE-41
Reported by Marcus Wellhardh <wellhard@roxen.com>
```
: Search: Notice: Starting database compactor with Pike v8.0 release 408
*** Error in `/usr/local/roxen/server-6.1.200/bin/roxen': double free or corruption (!prev): 0x0000000001361da0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d053)[0x7f16c0b04053]
/usr/local/roxen/server-6.1.200/pike/lib/modules/_WhiteFish.so(+0x7fc9)[0x7f16b6554fc9]
/usr/local/roxen/server-6.1.200/pike/lib/modules/_WhiteFish.so(+0x71c5)[0x7f16b65541c5]
/usr/local/roxen/server-6.1.200/bin/roxen[0x42d6f2]
/usr/local/roxen/server-6.1.200/bin/roxen[0x42df68]
[0x7f16b64f1aff]
======= Memory map: ========
00400000-00690000 r-xp 00000000 fd:02 65931137 /usr/local/roxen/server-6.1.200/bin/roxen
00890000-00891000 r--p 00290000 fd:02 65931137 /usr/local/roxen/server-6.1.200/bin/roxen
00891000-00893000 rw-p 00291000 fd:02 65931137 /usr/local/roxen/server-6.1.200/bin/roxen
00893000-008f3000 rw-p 00000000 00:00 0
01246000-070af000 rw-p 00000000 00:00 0 [heap]
```https://git.lysator.liu.se/pikelang/pike/-/issues/8042System Inotify attempts to call destructed functions2020-03-22T16:59:46ZPeter BortasSystem Inotify attempts to call destructed functionsImported from https://youtrack.roxen.com/issue/PIKE-42
Reported by KG Sterneberg <kg@roxen.com>
```
Unknown program: destructed object->function(1,32768,0,"")
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->po...Imported from https://youtrack.roxen.com/issue/PIKE-42
Reported by KG Sterneberg <kg@roxen.com>
```
Unknown program: destructed object->function(1,32768,0,"")
pike/lib/modules/System.pmod/_Inotify.so:1: System._Inotify._Instance()->poll()
-:1: Pike.Backend(0)->`()(3600.0)
```Pike 8.0https://git.lysator.liu.se/pikelang/pike/-/issues/8044Option to allow redirects in check_http2020-03-05T17:19:33ZPeter BortasOption to allow redirects in check_httpImported from https://youtrack.roxen.com/issue/PIKE-44
Reported by Marcus Wellhardh <wellhard@roxen.com>
Is it possible to add an option to check_http to allow redirects as valid response?
```
[root@nagios ~]1. /usr/local/bin/pike -x ...Imported from https://youtrack.roxen.com/issue/PIKE-44
Reported by Marcus Wellhardh <wellhard@roxen.com>
Is it possible to add an option to check_http to allow redirects as valid response?
```
[root@nagios ~]1. /usr/local/bin/pike -x check_http "https://magazin24.se"
WARNING: Bad status code: Moved Permanently(301). | code# 301;runtime
0.191268;ssl# TLS1.2;suite
TLS_ecdhe_rsa_with_camellia_256_gcm_sha384
[root@nagios ~]1. /usr/local/bin/pike -x check_http --version
Check HTTP/Pike v8.0.136
```https://git.lysator.liu.se/pikelang/pike/-/issues/8045Former Fix task of PIKE-44 (#8044). See it for details.2017-11-16T11:34:04ZPeter BortasFormer Fix task of PIKE-44 (#8044). See it for details.Imported from https://youtrack.roxen.com/issue/PIKE-45
Reported by @grubba
Blocking [PIKE-44](#8044)Imported from https://youtrack.roxen.com/issue/PIKE-45
Reported by @grubba
Blocking [PIKE-44](#8044)https://git.lysator.liu.se/pikelang/pike/-/issues/8046Former QA task of PIKE-44 (#8044). See it for details.2017-11-16T12:43:35ZPeter BortasFormer QA task of PIKE-44 (#8044). See it for details.Imported from https://youtrack.roxen.com/issue/PIKE-46
Reported by @grubba
Blocking [PIKE-44](#8044)Imported from https://youtrack.roxen.com/issue/PIKE-46
Reported by @grubba
Blocking [PIKE-44](#8044)https://git.lysator.liu.se/pikelang/pike/-/issues/8049Fix Stdio.sendfile() to not close TLS connections before handshaking has comp...2017-11-23T14:36:56ZPeter BortasFix Stdio.sendfile() to not close TLS connections before handshaking has completed.Imported from https://youtrack.roxen.com/issue/PIKE-49
Reported by @grubbaImported from https://youtrack.roxen.com/issue/PIKE-49
Reported by @grubbahttps://git.lysator.liu.se/pikelang/pike/-/issues/8050Update the SSL module to support TLS 1.3.2022-08-28T22:32:58ZPeter BortasUpdate the SSL module to support TLS 1.3.Imported from https://youtrack.roxen.com/issue/PIKE-50
Reported by @grubba
TLS 1.3 is starting to stabilize, and various drafts of it are already supported by browsers.Imported from https://youtrack.roxen.com/issue/PIKE-50
Reported by @grubba
TLS 1.3 is starting to stabilize, and various drafts of it are already supported by browsers.https://git.lysator.liu.se/pikelang/pike/-/issues/8052Search engine can not add more blobs2018-01-17T13:30:45ZPeter BortasSearch engine can not add more blobsImported from https://youtrack.roxen.com/issue/PIKE-52
Reported by Marcus Wellhardh <wellhard@roxen.com>
Doing a re-index on a large REP site, the search blobs is filled but new blobs are not created.
Example that show the problem 6.1...Imported from https://youtrack.roxen.com/issue/PIKE-52
Reported by Marcus Wellhardh <wellhard@roxen.com>
Doing a re-index on a large REP site, the search blobs is filled but new blobs are not created.
Example that show the problem 6.1.215 :
```
SELECT word, SUM(used_len) AS total_used_len, COUNT(*) as split_count FROM word_hit GROUP BY word ORDER BY total_used_len DESC LIMIT 15
word total_used_len split_count
with 524288 1
is 524288 1
and 524288 1
a 524288 1
of 524287 1
it 524287 1
the 524287 1
said 524285 1
be 524285 1
at 524285 1
he 524284 1
to 524284 1
that 524284 1
was 524283 1
by 524283 1
```
Example of an old and working site
```
SELECT word, SUM(used_len) AS total_used_len, COUNT(*) as split_count FROM word_hit GROUP BY word ORDER BY total_used_len DESC LIMIT 15
word total_used_len split_count
i 7353934 16
och 6831648 15
att 6447934 14
det 6062410 13
paÌŠ 5526636 12
är 4928844 10
som 4630262 10
en 4429867 9
för 3955365 8
har 3509380 7
med 3427574 8
till 3301339 7
av 2889272 6
de 2771811 6
vi 2561151 5
```
It is probably something in the following commits that introduced the problem:
Pike/8.0: 1ca24ae337, 5294c3b78 och 2a156066https://git.lysator.liu.se/pikelang/pike/-/issues/8053Improve Search.Database.MySQL performance2020-03-05T17:20:52ZPeter BortasImprove Search.Database.MySQL performanceImported from https://youtrack.roxen.com/issue/PIKE-53
Reported by Martin Karlgren <marty@roxen.com>
Search.Database.MySQL: `get_document_id` and `get_uri_id` make SQL queries for each lookup, and it should be possible to cache that in...Imported from https://youtrack.roxen.com/issue/PIKE-53
Reported by Martin Karlgren <marty@roxen.com>
Search.Database.MySQL: `get_document_id` and `get_uri_id` make SQL queries for each lookup, and it should be possible to cache that in memory. Negative caching is needed too. Cache entries need to be invalidated appropriately when any `remove*` method is called.
Also add a method that accepts an `array(string)` of URI:s to populate the two caches for, which should then read entries batch-wise from the database.
The purpose of these improvements is primarily to improve batch performance, i.e. re-indexing.https://git.lysator.liu.se/pikelang/pike/-/issues/8055Segmentation fault in backend_find_call_out_info2022-11-06T12:19:26ZPeter BortasSegmentation fault in backend_find_call_out_infoImported from https://youtrack.roxen.com/issue/PIKE-55
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got the following segmentation fault using roxen-6.2.77-test-ep-rhel7_x86_64.sh which in reality is version 6.2.78.
Server versio...Imported from https://youtrack.roxen.com/issue/PIKE-55
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got the following segmentation fault using roxen-6.2.77-test-ep-rhel7_x86_64.sh which in reality is version 6.2.78.
Server version:
```
: Server start command:
: /usr/local/roxen/server-6.2.78/bin/roxen
: -DLOG_GC_TIMESTAMPS
: -DLOG_GC_CYCLES
: -DLOG_GC_HISTOGRAM
: -DREP_DEBUG_DEF_CACHING
: -DRAM_CACHE
: -DHTTP_COMPRESSION
: -M/usr/local/roxen/server-6.2.78/etc/modules
: -M/usr/local/roxen/local/pike_modules
: -I/usr/local/roxen/server-6.2.78/etc/include
: -I/usr/local/roxen/server-6.2.78/base_server
: -P/usr/local/roxen/server-6.2.78/base_server
: -P/usr/local/roxen/server-6.2.78
: base_server/roxenloader.pike
: --pid-file=../configurations/_roxen_pid
```
GDB:
```
(gdb) bt
#0 0x000000000044b2fa in backend_find_call_out_info (me# me@entry
0x8d6758, fun=0x7ffff7e631f0) at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:1138
#1 0x000000000044c465 in f_Backend_remove_call_out (args=<optimized out>) at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:1289
#2 0x0000000000429fd9 in low_mega_apply (type# APPLY_SVALUE, type@entry
APPLY_SVALUE_STRICT, args# 1, arg1
<optimized out>, arg2# arg2@entry
0x0) at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/apply_low.h:221
#3 0x000000000042a74d in jump_opcode_F_APPLY_AND_POP (arg1=<optimized out>) at /home/dist/tmp/build/pike.srcbuild/../pike/src/interpret_functions.h:2449
#4 0x00007fffe95507d9 in ?? ()
#5 0x00000000011ed2f0 in ?? ()
#6 0x0000000000b28f90 in ?? ()
#7 0x00007ffff0236000 in ?? ()
#8 0x00007ffff7e631c0 in ?? ()
#9 0x0000000000b1e848 in ?? ()
#10 0x00000000008e3820 in ?? ()
#11 0x00007fffeb5fe593 in ?? ()
#12 0x000000000041d636 in eval_instruction (pc=0x7fffeb5fe593 "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213VpI\213v`L\211\357H\017\267R\002\307\300\200\371K")
at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:1711
#13 catching_eval_instruction (pc# 0x7fffeb5fe593 "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213VpI\213v`L\211\357H\017\267R\002\307\300\200\371K", pc@entry
0x7fffffffd040 "\223\345_\353\377\177")
at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:2754
#14 0x000000000041fc50 in inter_return_opcode_F_CATCH (addr=0x7fffffffd040 "\223\345_\353\377\177") at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:1295
#15 0x00007fffeb5fe57b in ?? ()
#16 0x0000000007245820 in ?? ()
#17 0xfffffffffffffff0 in ?? ()
#18 0x000000005a65d8e6 in ?? ()
#19 0x000000005a65d8e5 in ?? ()
#20 0x0000000000000001 in ?? ()
#21 0x0000000000000001 in ?? ()
#22 0x00000000008d6758 in ?? ()
#23 0x000000000042df96 in eval_instruction (pc=<optimized out>) at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:1711
#24 mega_apply (arg2# 0x0, arg1
0x0, args# args@entry
9320480, type=APPLY_STACK) at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:2695
#25 f_call_function (args# args@entry
9320480) at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:2775
#26 0x000000000044c244 in backend_do_call_outs (me# 0x7ffff7e63180, me@entry
0x8d6758) at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:1048
#27 0x000000000044ff39 in pdb_low_backend_once (pdb# 0x8d6740, timeout
timeout@entry=0x7fffffffd4f0) at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:4177
#28 0x00000000004501b0 in f_PollDeviceBackend_cq__backtick_28_29 (args=<optimized out>) at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:4310
#29 0x0000000000429fd9 in low_mega_apply (type# APPLY_SVALUE, type@entry
APPLY_STACK, args# 1, arg1
<optimized out>, arg1@entry# 0x0, arg2
arg2@entry=0x0) at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/apply_low.h:221
#30 0x000000000042a99e in jump_opcode_F_CALL_FUNCTION_AND_POP () at /home/dist/tmp/build/pike.srcbuild/../pike/src/interpret_functions.h:2452
#31 0x00007ffff000e47c in ?? ()
#32 0x000000000000005f in ?? ()
#33 0x0000000000965ba0 in ?? ()
#34 0x00007ffff0236000 in ?? ()
#35 0x00007ffff7e63120 in ?? ()
#36 0x00000000008caef8 in ?? ()
#37 0x00000000008e3820 in ?? ()
#38 0x00007ffff000c2a4 in ?? ()
#39 0x000000000041d636 in eval_instruction (pc=0x7ffff000c2a4 "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230") at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:1711
#40 catching_eval_instruction (pc# 0x7ffff000c2a4 "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230", pc@entry
0x7ffff7e63240 "") at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:2754
#41 0x000000000041fc50 in inter_return_opcode_F_CATCH (addr=0x7ffff7e63240 "") at /tmp/dist/6.0/pike.rhel7_x86_64/pike/src/interpret.c:1295
#42 0x00007ffff000c28c in ?? ()
#43 0x00007fffffffda14 in ?? ()
#44 0x0000000000000001 in ?? ()
#45 0x00000000005d460d in __dso_handle ()
#46 0x00007fffffffda50 in ?? ()
#47 0x0000000000000000 in ?? ()
(gdb) disassemble 0x000000000044b2fa
Dump of assembler code for function backend_find_call_out_info:
0x000000000044b270 <+0>: push %r12
0x000000000044b272 <+2>: mov 0x403d57(%rip),%rax # 0x84efd0 <Pike_interpreter_pointer>
0x000000000044b279 <+9>: mov %rdi,%r12
0x000000000044b27c <+12>: push %rbp
0x000000000044b27d <+13>: push %rbx
0x000000000044b27e <+14>: mov (%rax),%rbp
0x000000000044b281 <+17>: mov 0x100(%rdi),%eax
0x000000000044b287 <+23>: test %eax,%eax
0x000000000044b289 <+25>: je 0x44b34f <backend_find_call_out_info+223>
0x000000000044b28f <+31>: cmpw $0x8,(%rsi)
0x000000000044b293 <+35>: mov %rsi,%rbx
0x000000000044b296 <+38>: je 0x44b360 <backend_find_call_out_info+240>
0x000000000044b29c <+44>: mov %rbx,%rdi
0x000000000044b29f <+47>: callq 0x540640 <hash_svalue>
0x000000000044b2a4 <+52>: mov 0x114(%r12),%ecx
0x000000000044b2ac <+60>: mov %eax,%esi
0x000000000044b2ae <+62>: xor %edx,%edx
0x000000000044b2b0 <+64>: mov %rsi,%rax
0x000000000044b2b3 <+67>: div %rcx
0x000000000044b2b6 <+70>: shl $0x4,%rdx
0x000000000044b2ba <+74>: add 0x120(%r12),%rdx
0x000000000044b2c2 <+82>: mov 0x8(%rdx),%rcx
0x000000000044b2c6 <+86>: test %rcx,%rcx
0x000000000044b2c9 <+89>: je 0x44b43b <backend_find_call_out_info+459>
0x000000000044b2cf <+95>: mov 0x403cfa(%rip),%r8 # 0x84efd0 <Pike_interpreter_pointer>
0x000000000044b2d6 <+102>: mov (%r8),%rdx
0x000000000044b2d9 <+105>: jmp 0x44b2e9 <backend_find_call_out_info+121>
0x000000000044b2db <+107>: nopl 0x0(%rax,%rax,1)
0x000000000044b2e0 <+112>: mov 0x20(%rcx),%rcx
0x000000000044b2e4 <+116>: test %rcx,%rcx
0x000000000044b2e7 <+119>: je 0x44b34a <backend_find_call_out_info+218>
0x000000000044b2e9 <+121>: cmp %rsi,0x8(%rcx)
0x000000000044b2ed <+125>: jne 0x44b2e0 <backend_find_call_out_info+112>
0x000000000044b2ef <+127>: mov 0x40(%rcx),%rax
0x000000000044b2f3 <+131>: lea 0x10(%rdx),%rdi
0x000000000044b2f7 <+135>: mov %rdi,(%r8)
=> 0x000000000044b2fa <+138>: addl $0x1,(%rax)
0x000000000044b2fd <+141>: movq $0x8,(%rdx)
0x000000000044b304 <+148>: mov %rax,0x8(%rdx)
0x000000000044b308 <+152>: mov %rdi,%rdx
0x000000000044b30b <+155>: jmp 0x44b2e0 <backend_find_call_out_info+112>
0x000000000044b30d <+157>: nopl (%rax)
0x000000000044b310 <+160>: mov -0x8(%rdx),%r12
0x000000000044b314 <+164>: mov %rbx,%rdi
0x000000000044b317 <+167>: mov 0x28(%r12),%rsi
0x000000000044b31c <+172>: callq 0x541370 <is_eq>
0x000000000044b321 <+177>: test %eax,%eax
0x000000000044b323 <+179>: jne 0x44b3b0 <backend_find_call_out_info+320>
0x000000000044b329 <+185>: mov 0x403ca0(%rip),%rax # 0x84efd0 <Pike_interpreter_pointer>
0x000000000044b330 <+192>: mov (%rax),%rcx
0x000000000044b333 <+195>: lea -0x10(%rcx),%rdx
0x000000000044b337 <+199>: mov %rdx,(%rax)
0x000000000044b33a <+202>: movzwl -0x10(%rcx),%eax
0x000000000044b33e <+206>: and $0xfffffff8,%eax
0x000000000044b341 <+209>: cmp $0x8,%eax
0x000000000044b344 <+212>: je 0x44b420 <backend_find_call_out_info+432>
0x000000000044b34a <+218>: cmp %rdx,%rbp
0x000000000044b34d <+221>: jb 0x44b310 <backend_find_call_out_info+160>
0x000000000044b34f <+223>: xor %eax,%eax
0x000000000044b351 <+225>: pop %rbx
0x000000000044b352 <+226>: pop %rbp
0x000000000044b353 <+227>: pop %r12
0x000000000044b355 <+229>: retq
0x000000000044b356 <+230>: nopw %cs:0x0(%rax,%rax,1)
---Type <return> to continue, or q <return> to quit---
(gdb) info reg
rax 0x0 0
rbx 0x7ffff7e631f0 140737352446448
rcx 0x14ef0a80 351210112
rdx 0x7ffff7e63200 140737352446464
rsi 0x459954 4561236
rdi 0x7ffff7e63210 140737352446480
rbp 0x7ffff7e63200 0x7ffff7e63200
rsp 0x7fffffffcec0 0x7fffffffcec0
r8 0x8e3820 9320480
r9 0x186a0 100000
r10 0x8e3820 9320480
r11 0x293 659
r12 0x8d6758 9267032
r13 0x7ffff7e631f0 140737352446448
r14 0x8e3380 9319296
r15 0xb1c5c8 11650504
rip 0x44b2fa 0x44b2fa <backend_find_call_out_info+138>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb)
```https://git.lysator.liu.se/pikelang/pike/-/issues/8057Former QA task of PIKE-55 (#8055). See it for details.2018-01-22T13:43:52ZPeter BortasFormer QA task of PIKE-55 (#8055). See it for details.Imported from https://youtrack.roxen.com/issue/PIKE-57
Reported by @grubba
Blocking [PIKE-55](#8055)Imported from https://youtrack.roxen.com/issue/PIKE-57
Reported by @grubba
Blocking [PIKE-55](#8055)