pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2020-04-05T12:44:28Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/10028CID 1461177: Null pointer dereferences (FORWARD_NULL)2020-04-05T12:44:28ZHenrik (Grubba) GrubbströmCID 1461177: Null pointer dereferences (FORWARD_NULL)```
/home/covbuilder/pike/Pike-v8.1-snapshot/src/docode.c: 3274 in docode()
________________________________________________________________________________________________________
*** CID 1461177: Null pointer dereferences (FORWARD_NU...```
/home/covbuilder/pike/Pike-v8.1-snapshot/src/docode.c: 3274 in docode()
________________________________________________________________________________________________________
*** CID 1461177: Null pointer dereferences (FORWARD_NULL)
/home/covbuilder/pike/Pike-v8.1-snapshot/src/docode.c: 3274 in docode()
3268 struct byte_buffer instrbuf_save = instrbuf;
3269 struct statement_label *label_save;
3270
3271 PUSH_STATEMENT_LABEL;
3272 label_save = current_label->prev;
3273 current_label->prev = NULL;
>>> CID 1461177: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "current_label->prev".
3274 PUSH_CLEANUP_FRAME(NULL, NULL);
3275 label_no=1;
3276 current_stack_depth = 0;
3277 Pike_compiler->compiler_frame->generator_local = -1;
3278 init_bytecode();
3279
```Pike Nexthttps://git.lysator.liu.se/pikelang/pike/-/issues/10026Standards.JSON.encode() can stall a multi-threaded process for quite a while2020-03-31T09:56:01ZHenrik (Grubba) GrubbströmStandards.JSON.encode() can stall a multi-threaded process for quite a while`Standards.JSON.encode()` does not release the interpreter lock for the duration of the encoding unless the encoded value contains objects.
Add calls to `check_threads_etc()` at appropriate places.`Standards.JSON.encode()` does not release the interpreter lock for the duration of the encoding unless the encoded value contains objects.
Add calls to `check_threads_etc()` at appropriate places.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/10024Standards.X509 uses syntax that is not available in all releases of Pike 8.0.2020-03-25T10:07:09ZHenrik (Grubba) GrubbströmStandards.X509 uses syntax that is not available in all releases of Pike 8.0.From [CMS-699](https://youtrack.roxen.com/issue/CMS-699):
```
11:34:52 : Loading Pike modules ... pike/lib/modules/Standards.pmod/X509.pmod:1498:syntax error, unexpected '?'
pike/lib/modules/SSL.pmod/Constants.pmod:1303:Index...From [CMS-699](https://youtrack.roxen.com/issue/CMS-699):
```
11:34:52 : Loading Pike modules ... pike/lib/modules/Standards.pmod/X509.pmod:1498:syntax error, unexpected '?'
pike/lib/modules/SSL.pmod/Constants.pmod:1303:Index 'X509' not present in module Standards.
pike/lib/modules/SSL.pmod/Constants.pmod:1303:Indexed module was: Standards.
pike/lib/modules/SSL.pmod/Constants.pmod:1303:Illegal program identifier: 0.
```
The code in question:
```
foreach(verifiers || ({}), Verifier v) {
if (v->verify(cert[1], cert[0]->get_der(), cert[2]->value,
options->?verifier_algorithms))
return tbs;
}
```
Note that Pike 8.0 modules must be syntax-compatible with all released versions of Pike 8.0 (or at least Pike 8.0.232 and later).Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/10023Optimizer fatal error "F_PUSH_ARRAY unexpected in this context."2020-03-29T12:26:33ZHenrik (Grubba) GrubbströmOptimizer fatal error "F_PUSH_ARRAY unexpected in this context."Triggered by the MirarDoc image extractor.
It seems to be due to running `eval()` on an `F_ARG_LIST`-node which in turn contains an `F_PUSH_ARRAY`-node.Triggered by the MirarDoc image extractor.
It seems to be due to running `eval()` on an `F_ARG_LIST`-node which in turn contains an `F_PUSH_ARRAY`-node.Pike NextHenrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/8056Former Fix task of PIKE-55 (#8055). See it for details.2018-01-23T14:23:51ZPeter BortasFormer Fix task of PIKE-55 (#8055). See it for details.Imported from https://youtrack.roxen.com/issue/PIKE-56
Reported by @grubba
Blocking [PIKE-55](#8055)Imported from https://youtrack.roxen.com/issue/PIKE-56
Reported by @grubba
Blocking [PIKE-55](#8055)https://git.lysator.liu.se/pikelang/pike/-/issues/8002Can't build Pike 8.0 in Distmaker [bug 7827]2017-09-15T14:40:31ZPeter BortasCan't build Pike 8.0 in Distmaker [bug 7827]Imported from https://youtrack.roxen.com/issue/PIKE-2
Reported by @grubba
From Bugzilla [bug #7827]:
Getting this on RHEL7_x86_64:
```
Linking VCDiff
vcdiff_wrapper.o: In function `__static_initialization_and_destruction_0':
/usr/incl...Imported from https://youtrack.roxen.com/issue/PIKE-2
Reported by @grubba
From Bugzilla [bug #7827]:
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:
```
I think Pike/8.0: c65cf769826f726 could be the cause. It claims to improve
FreeBSD linking, but also adds "-nostartfiles" to Linux builds (and possibly
other OSes). Is that the idea?https://git.lysator.liu.se/pikelang/pike/-/issues/8001SSL Client fails with "Unsupported curve".2016-12-12T11:07:17ZPeter BortasSSL Client fails with "Unsupported curve".Imported from https://youtrack.roxen.com/issue/PIKE-1
Reported by @grubba
From: Tobias Liin <liin@roxen.com>
To: Henrik Grubbström <grubba@roxen.com>
Date: Fri, 9 Dec 2016 17:01:04 +0100
Internal server error: Unsupported curve.
pike/...Imported from https://youtrack.roxen.com/issue/PIKE-1
Reported by @grubba
From: Tobias Liin <liin@roxen.com>
To: Henrik Grubbström <grubba@roxen.com>
Date: Fri, 9 Dec 2016 17:01:04 +0100
Internal server error: Unsupported curve.
pike/lib/modules/SSL.pmod/Cipher.pmod:1130:
SSL.Cipher.KeyExchangeECDHE()->parse_server_key_exchange(ADT.struct(326
bytes, read# [..2] data
[3..328] free=[329..0] string))
pike/lib/modules/SSL.pmod/Cipher.pmod:410:
SSL.Cipher.KeyExchangeECDHE()->server_key_exchange(@0=ADT.struct(326 bytes,
read# [..2] data
[3..328] free=[329..0]
string),"1. \25\223??z????N??\233?!(?W\u009962D?w\237?)??C.","XJ??????%?_?4\bp?
*a?\22\1\21Di?9%?D?\as")
pike/lib/modules/SSL.pmod/ClientConnection.pike:579:
SSL.ClientConnection(handshaking)->handle_handshake(12,"\3\0\27A\4\216\35??b
?R???P\202W\235\16\214?ϵ\210i?\236U??G??{?\205\210??\225NG\206t)!\204'?[?K?5
?B\230\1O\24P?JA%?D\4\6"+[238]+"\v2,?\226?|\eߩ\u00005Jˮ\232\22M}?P","\f\0\1I
\3\0\27A\4\216\35??b?R???P\202W\235\16\214?ϵ\210i?\236U??G??{?\205\210??\225
NG\206t)!\204'?[?K?5?B\230\1O\24P?JA%"+[242]+"\v2,?\226?|\eߩ\u00005Jˮ\232\22
M}?P")
pike/lib/modules/SSL.pmod/Connection.pike:907:
SSL.ClientConnection(handshaking)->got_data("")
pike/lib/modules/SSL.pmod/File.pike:1853: SSL.File(Stdio.File("socket",
"37.153.139.141:443", 777 /* fd=53 */),
SSL.ClientConnection(handshaking))->ssl_read_callback(Stdio.File("socket",
"37.153.139.141:443", 777 /* fd=53
*/),"\26\3\3\0b\2\0\0^\3\3XJ??????%?_?4\bp?*a?\22\1\21Di?9%?D?\as
\3\222\211?B\31\32\224\u00807?-\213g??X>\1-m?tݶ\201?D?^
?0\0\0\26\0\0\0\0?\1\0\1\0\0\v\0\4\3\0\1\2\0\17\0"+[2839]+"{'\v2,?\226?|\eߩ\
u00005Jˮ\232\22M}?P\26\3\3\0\4\16\0\0\0")
pike/lib/modules/Stdio.pmod/module.pmod:1137: Stdio.File("socket",
"37.153.139.141:443", 777 /* fd=53 */)->__stdio_read_callback()
-:1: Pike.Backend(0)->`()(3600.0)
See also [bug #7825].https://git.lysator.liu.se/pikelang/pike/-/issues/4045Program received signal EXC_BAD_ACCESS, Could not access memory.2009-04-16T14:11:39ZPeter BortasProgram received signal EXC_BAD_ACCESS, Could not access memory.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4045
Reported by Fredrik Noring, Roxen Internet Software <noring@roxen.com>
This program:
```
int main(int argc, array(string) argv)
{
object sql = Sql.sql("odbc://......Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4045
Reported by Fredrik Noring, Roxen Internet Software <noring@roxen.com>
This program:
```
int main(int argc, array(string) argv)
{
object sql = Sql.sql("odbc://...");
sql->query(#"SELECT rv_cust_attribs.attrib_id,
rv_cust_attribs.attr_name,
rv_doc_attribs.value
FROM rv_doc_attribs, rv_cust_attribs
WHERE rv_doc_attribs.document_id = 279
AND rv_doc_attribs.attrib_id = rv_cust_attribs.attrib_id
AND rv_cust_attribs.attr_name = 'metadatadump'");
return 0;
}
```
gives:
```
Program received signal EXC_BAD_ACCESS, Could not access memory.
0x00794e18 in f_fetch_row (args=25393152) at /home/distmaker/Distmaker/4.0/build
/pike.macosx/pike/src/modules/Odbc/odbc_result.c:462
462 /home/distmaker/Distmaker/4.0/build/pike.macosx/pike/src/modules/Odbc/od
bc_result.c: No such file or directory.
in /home/distmaker/Distmaker/4.0/build/pike.macosx/pike/src/modules/Odbc
/odbc_result.c
(gdb) bt
#0 0x00794e18 in f_fetch_row (args=25393152) at /home/distmaker/Distmaker/4.0/b
uild/pike.macosx/pike/src/modules/Odbc/odbc_result.c:462
#1 0x00794e14 in f_fetch_row (args=25393152) at /home/distmaker/Distmaker/4.0/b
uild/pike.macosx/pike/src/modules/Odbc/odbc_result.c:462
#2 0x00016254 in low_mega_apply (type=7949128, args=1965952, arg1=0x1dff80, arg
2=0x1837800) at /home/distmaker/Distmaker/4.0/build/pike.macosx/pike/src/apply_l
ow.h:195
#3 0x00013610 in opcode_F_CALL_OTHER (arg1=1965952) at /home/distmaker/Distmake
r/4.0/build/pike.macosx/pike/src/interpret_functions_fixed.h:1933
#4 0x007548c0 in ?? ()
#5 0x000170fc in o_catch (pc=0x783834) at /home/distmaker/Distmaker/4.0/build/p
ike.macosx/pike/src/interpret.c:1818
#6 0x0000fd28 in opcode_F_CATCH () at /home/distmaker/Distmaker/4.0/build/pike.
macosx/pike/src/interpret_functions_fixed.h:1210
#7 0x00783830 in ?? ()
#8 0x00016f9c in mega_apply (type=25393152, args=-1073745569, arg1=0x3, arg2=0x
198644cc) at /home/distmaker/Distmaker/4.0/build/pike.macosx/pike/src/interpret.
c:1774
#9 0x0007a424 in main (argc=2, argv=0xbffffe08) at /home/distmaker/Distmaker/4.
0/build/pike.macosx/pike/src/main.c:756
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7616Broken error recovery in parser.2016-01-07T12:53:53ZPeter BortasBroken error recovery in parser.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7616
Reported by @grubba
From [LysLysKOM 21578942]:
```
21578942 idag 01:55 /28 rader/ Chris Angelico <rosuav@gmail.com>
Sänt av: SRS0+PiTo=NE=lists.lysator.liu.se=pike...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7616
Reported by @grubba
From [LysLysKOM 21578942]:
```
21578942 idag 01:55 /28 rader/ Chris Angelico <rosuav@gmail.com>
Sänt av: SRS0+PiTo=NE=lists.lysator.liu.se=pike-devel-bounces@lysator.liu.se
Importerad: idag 01:55 av Brevbäraren
Extern mottagare: pike-devel@lists.lysator.liu.se <pike-devel@lists.lysator.liu.se>
Mottagare: Pike (-) developers forum <19557>
Ärende: Internal compiler error (push_compiler_frame0)
------------------------------------------------------------
The following code triggers an "internal error" (seems to be from
language.yacc:699).
function frame0(function x)
{
return lambda()
{
if (string bad=x() //Missing close parenthesis
{
}
};
}
$ pike frame0.pike
frame0.pike:6:Internal compiler error (push_compiler_frame0).
frame0.pike:8:Missing ')'.
frame0.pike:10:Missing ';'.
frame0.pike:10:Unexpected end of file.
frame0.pike:10:Missing '}'.
frame0.pike:10:Opening '{' was here.
frame0.pike:10:Unexpected end of file.
Pike: Failed to compile script.
```
The code *is* in error (there should be another close parenthesis on
line 5), but the actual error is masked. Is this worth looking into?
ChrisA
(21578942) /Chris Angelico <rosuav@gmail.com>/------Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7560The MariaDB client library has symbols that conflict with Pike.2015-09-17T20:33:48ZPeter BortasThe MariaDB client library has symbols that conflict with Pike.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7560
Reported by @grubba
```
$ ./start --once --gdb --debug
[...]
: Pike version: Pike v8.0 release 106
: Product version: Roxen WebServer 6.0....Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7560
Reported by @grubba
```
$ ./start --once --gdb --debug
[...]
: Pike version: Pike v8.0 release 106
: Product version: Roxen WebServer 6.0.63-test
: Operating system: SunOS 5.10 (i86pc)
16:54:59 : Starting MySQL ...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
rehash_list_backwards (h=0xa6ba00, n=0xf) at /tmp/dist/6.0/pike.sol10_x86_64/pike/src/hashtable.c:52
52 rehash_list_backwards(h,n->next);
(gdb) bt
#0 rehash_list_backwards (h=0xa6ba00, n=0xf)
at /tmp/dist/6.0/pike.sol10_x86_64/pike/src/hashtable.c:52
#1 0x00000000004be6b0 in hash_insert (h=0xe1c930, s=0xda2fa0)
at /tmp/dist/6.0/pike.sol10_x86_64/pike/src/hashtable.c:52
#2 0xfffffd7ffe0b382e in mysql_optionsv ()
from /tmp/dist/6.0/roxen/server-6.0.63/pike/lib/modules/___Mysql.so
[...]
```
$ nm lib/modules/___Mysql.so | grep hash_
[1969] | 364090| 11|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2._hash_init.__func__
[888] | 363950| 12|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_delete.__func__
[1863] | 363925| 13|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_element.__func__
[1888] | 364080| 10|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_free.__func__
[2116] | 363962| 12|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_insert.__func__
[2047] | 364071| 9|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_key.__func__
[903] | 364061| 10|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_mask.__func__
[841] | 363983| 10|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_next.__func__
[1277] | 364047| 14|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_rec_mask.__func__
[1169] | 363993| 12|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_search.__func__
[1639] | 363938| 12|OBJT |GLOB |0 |15 |.XBUfPHmKvY_VUx2.hash_update.__func__
[1823] | 355456| 16|OBJT |GLOB |0 |15 |.XBUfPHmNvY_VUU3.ma_get_hash_key.__func__
[1188] | 356299| 13|OBJT |GLOB |0 |15 |.XBUfPHmNvY_VUU3.ma_hash_free.__func__
[1580] | 365432| 14|OBJT |GLOB |0 |15 |.XBUfPHmXvY_VUz4.hash_password.__func__
[1535] | 280976| 170|FUNC |GLOB |0 |12 |_hash_init
[1666] | 283184| 886|FUNC |GLOB |0 |12 |hash_delete
[1837] | 284512| 34|FUNC |GLOB |0 |12 |hash_element
[832] | 281152| 124|FUNC |GLOB |0 |12 |hash_free
[879] | 282224| 947|FUNC |GLOB |0 |12 |hash_insert
[512] | 281280| 45|FUNC |LOCL |0 |12 |hash_key
[513] | 281328| 27|FUNC |LOCL |0 |12 |hash_mask
[1069] | 281936| 145|FUNC |GLOB |0 |12 |hash_next
[2068] | 304640| 141|FUNC |GLOB |0 |12 |hash_password
[514] | 281360| 80|FUNC |LOCL |0 |12 |hash_rec_mask
[2001] | 281712| 218|FUNC |GLOB |0 |12 |hash_search
[1396] | 284080| 429|FUNC |GLOB |0 |12 |hash_update
[1423] | 210240| 25|FUNC |GLOB |0 |12 |ma_get_hash_key
[1486] | 210272| 16|FUNC |GLOB |0 |12 |ma_hash_free
$ nm hashtable.o | grep hash_
[17] | 192| 34|FUNC |GLOB |0 |1 |create_hash_table
[21] | 416| 350|FUNC |GLOB |0 |1 |hash_insert
[16] | 0| 69|FUNC |GLOB |0 |1 |hash_lookup
[19] | 240| 176|FUNC |GLOB |0 |1 |hash_rehash
[22] | 768| 311|FUNC |GLOB |0 |1 |hash_unlink
[8] | 80| 102|FUNC |LOCL |0 |1 |rehash_list_backwards
As the stuff in hashtable.c seems only to be used by cpp(), it seems reasonable to just add a prefix to Pike's symbols.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7476get_all_active_fd() causes debug_fd_stat() to index fd_type out of bounds.2015-04-29T12:45:19ZPeter Bortasget_all_active_fd() causes debug_fd_stat() to index fd_type out of bounds.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7476
Reported by @grubbaImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7476
Reported by @grubbaPike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7216Optimizer broken for some cases of foreach.2014-07-15T13:01:08ZPeter BortasOptimizer broken for some cases of foreach.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7216
Reported by @grubba
From LysLysKOM 20892964:
20892964 igår 19:14 /35 rader/ Per Hedbor ()
Mottagare: Henrik Grubbström (Lysator) <12718>
Mottagare: Per Hedbor () <9...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7216
Reported by @grubba
From LysLysKOM 20892964:
20892964 igår 19:14 /35 rader/ Per Hedbor ()
Mottagare: Henrik Grubbström (Lysator) <12718>
Mottagare: Per Hedbor () <9371>
Mottagare: Martin Nilsson (Opera Mini - AFK!) <15149>
Ärende: foreach() optimering
------------------------------------------------------------
Det finns en optimering av foreach som har ett aningens trasigt fall:
foreach( arr[START..], ... ):
Om start är icke-konstant och evaulerar till ett negativt tal får man
ett fel.
Det hela förklarar (eller, ja....) den aningens udda kollen för om
loop-variabeln är negativ i gamla 7.8 versioner.
Med nyare pikear så får man lite random-data som svalue istället:
```
# leopard$ pike ~/bug.pike
Failed to use <Unknown 16384>
/home/per/bug.pike:21: /main()->_bug(4)
/home/per/bug.pike:29: /main()->main()
# leopard$ pike7.8 ~/bug.pike
Foreach loop variable is negative!
/home/per/bug.pike:17: /main()->_bug(3)
/home/per/bug.pike:29: /main()->main()
```
Testfall:
```
array sorted_configs = ({});
string backups_dir = "/tmp";
void main()
{
foreach (column (sorted_configs, 0)[random(0) - 1..], string entry)
if( catch( combine_path (backups_dir, entry) ) )
error("Failed to use %O\n", entry );
}
(20892964) /Per Hedbor ()/--------------------------
```Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6892Recursive mutex locks in Thread.Queue.2013-10-10T18:20:18ZPeter BortasRecursive mutex locks in Thread.Queue.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6892
Reported by @grubba
From InfoKOM 756311:
```
: Internal server error: Recursive mutex locks!
-:1: Thread.Thread(0).Queue(1)->lock()
pike/lib/modules/Threa...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6892
Reported by @grubba
From InfoKOM 756311:
```
: Internal server error: Recursive mutex locks!
-:1: Thread.Thread(0).Queue(1)->lock()
pike/lib/modules/Thread.pmod:409: Thread.Thread(0).Queue(1)->write(({RoxenModule(EP/print-indesign-server#0)->cleanup_spool_dir,({"cb4dd9a6-251f-4582-9bdc-033875cc0d5d/"})}))
base_server/roxen.pike (rev 1.1124):985: roxen()->handle(@0=RoxenModule(EP/print-indesign-server#0)->cleanup_spool_dir,"cb4dd9a6-251f-4582-9bdc-033875cc0d5d/")
modules/print/modules/print-indesign-server.pike (f19adbd8):690: InDComplexOpReq(REP.PGVersion(121892 live [<22789>], pg 18956, ed 290), size 4, rid 34)->destroy()
-:1: Thread.Thread(0).Queue(1)->signal()
pike/lib/modules/Thread.pmod:420: Thread.Thread(0).Queue(1)->write(({@0,({"874d7d33-658b-443b-9075-ddfdf845adcf/"})}))
base_server/roxen.pike (rev 1.1124):985: roxen()->handle(@0,"874d7d33-658b-443b-9075-ddfdf845adcf/")
modules/print/modules/print-indesign-server.pike (f19adbd8):690: InDComplexOpReq(REP.PGVersion(122516 live [<22789>], pg 18956, ed 290), size 11, rid 35)->destroy()
base_server/cache.pike (rev 1.152):1437: cache_clear_deltas()
base_server/roxen.pike (rev 1.1124):882: roxen()->handler_thread(8)
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6860The type checker can run out of C-stack when compiling huge mapping constants.2014-02-25T17:48:07ZPeter BortasThe type checker can run out of C-stack when compiling huge mapping constants.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6860
Reported by @grubba
```
Reported in [roxen.com #21295].
```
Pike 7.8.676.
```
Thread 9 (LWP 9):
#0 0x00000000004f9948 in new_check_call (fun_name=0x8480e0,
f...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6860
Reported by @grubba
```
Reported in [roxen.com #21295].
```
Pike 7.8.676.
```
Thread 9 (LWP 9):
#0 0x00000000004f9948 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294d960, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6924
#1 0x00000000004f99a8 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294d960, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6938
#2 0x00000000004f99a8 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294d9f0, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6938
#3 0x00000000004f99a8 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294da80, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6938
#4 0x00000000004f99a8 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294db10, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6938
#5 0x00000000004f99a8 in new_check_call (fun_name=0x8480e0,
fun_type=0x87a150, args=0x294dba0, argno=0xfffffd7ffa38a5f4, flags=0)
at /tmp/dist/5.2/pike.sol10_x86_64/pike/src/pike_types.c:6938
[...]
(gdb) p (char *)((struct compilation *)(Pike_interpreter.frame_pointer.current_storage)).prog->str
$8 = 0x453bbd0 "# 1 \"-\"\nint n=0,r=1,w=2,user=0,group=1;mixed foo=({0, \"SiteBuilder\", ([3945:w,3419:w,4998:w,4472:w,2894:w,3947:w,265:w,2896:w,792:w,3:w,5001:w,3949:w,1845:w,530:w,267:w,3161:w,3951:w,3425:w,2636:w,237"...
```
The length of the string being compiled is 6960, and the compiler has recursed ~2000 times before running out of C-stack.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6453Fix mysql module to support Mysqld 4.0 and earlier again.2013-12-12T13:56:52ZPeter BortasFix mysql module to support Mysqld 4.0 and earlier again.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6453
Reported by @grubba
Depending on the configured charset some queries may fail with
"Query failed: Unknown system variable 'character_set_client'"
when the other ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6453
Reported by @grubba
Depending on the configured charset some queries may fail with
"Query failed: Unknown system variable 'character_set_client'"
when the other end is Mysqld 4.0 or earlier. It looks like the code is intended to work with Mysqld 4.0, but that the support is broken.
```
RT: [roxen.com #19279]
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6063Resolving of extern declared symbols in deep inherits broken.2020-03-01T15:25:50ZPeter BortasResolving of extern declared symbols in deep inherits broken.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6063
Reported by @grubba
From the Pike mailing list (12549):
```
From: "[ks_c_5601-1987] άàäáæ" <zenothing@hotmail.com>
Resent-From: pike@roxen.com
To: "pike@roxen.com"...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6063
Reported by @grubba
From the Pike mailing list (12549):
```
From: "[ks_c_5601-1987] άàäáæ" <zenothing@hotmail.com>
Resent-From: pike@roxen.com
To: "pike@roxen.com" <pike@roxen.com>
Date: Mon, 29 Aug 2011 20:08:39 +0800
Resent-Date: Mon, 29 Aug 2011 14:08:47 +0200 (CEST)
Subject: bug of "extern"
Parts/Attachments:
1 Shown 41 lines Text (charset: ks_c_5601-1987)
2 OK 24 lines Text (charset: ks_c_5601-1987)
----------------------------------------
```
[ The following text is in the "ks_c_5601-1987" character set. ]
[ Your display is set for the "iso-8859-1" character set. ]
[ Some characters may be displayed incorrectly. ]
```
[peterpan@brain ~]$cat deepmixin.pike
class A{
extern string s;
extern string t;
void p(){
write("%O %O\n",s,t);
}
}
class B{
}
class C{
inherit A;
inherit B;
string s;
string t;
void pp()
{
s="a";
t="b";
p();
}
}
class D{
inherit C;
}
void main()
{
C c=C();
c->pp();
D d=D();
d->pp();
}
[peterpan@brain ~]$pike deepmixin.pike
"a" "b"
0 0
[peterpan@brain ~]$pike --version
Pike v7.8 release 352 Copyright ¢Æ 1994-2009 Link¢Æping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5595Problem with SQL_C_WCHAR in ODBC module2010-08-05T14:52:08ZPeter BortasProblem with SQL_C_WCHAR in ODBC moduleImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5595
Reported by Marcus Wellhardh <wellhard@roxen.com>
Queries that returns SQL_C_WCHAR does not work in Pike 7.4, example with ODBC_DEBUG enabled:
```
> db->query("sele...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5595
Reported by Marcus Wellhardh <wellhard@roxen.com>
Queries that returns SQL_C_WCHAR does not work in Pike 7.4, example with ODBC_DEBUG enabled:
```
> db->query("select count(*) as antal from maincategory2");
ODBC:execute: SQLExecDirect returned 0, cols 1, rows -1
ODBC:odbc_fix_fields():
name:antal
name_len:5
sql_type:4
precision:10
scale:0
nullable:1
SQL_C_WCHAR
ODBC:fetch_row(): Field 1: WCHAR not supported.
ODBC:fetch_row(): NO DATA FOUND
(3) Result: ({ /* 1 element */
([ /* 2 elements */
".antal":"",
"antal":""
])
})
```
The same query works in Pike 7.8, it should therefore be fixable with some backporting.
Reported in [RT 15875].Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5509Core dump in really_free_array2010-08-17T16:13:35ZPeter BortasCore dump in really_free_arrayImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5509
Reported by Marcus Wellhardh <wellhard@roxen.com>
Roxen crashed and restarted with this error (roxen-4.5.410-release-ep-macosx_x86.sh)
```
Exception Type: EXC_...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5509
Reported by Marcus Wellhardh <wellhard@roxen.com>
Roxen crashed and restarted with this error (roxen-4.5.410-release-ep-macosx_x86.sh)
```
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000c1f0cd87
Crashed Thread: 0
Thread 0 Crashed:
0 0x0003ec9b really_free_array + 59 (array.c:125)
1 0x00047642 backend_do_call_outs + 290 (backend.cmod:1970)
2 0x00048581 low_backend_once + 993 (backend.cmod:1444)
3 0x00048a60 f_Backend_cq__backtick_28_29 + 112 (backend.cmod:1484)
4 0x00015855 low_mega_apply + 3109 (apply_low.h:195)
5 0x000178a2 opcode_F_APPLY_AND_POP + 98 (interpret_functions.h:1878)
6 0x010b37cb 0 + 17512395
7 0x00017ee8 o_catch + 232 (interpret.c:1831)
8 0x00017f9d opcode_F_CATCH + 61 (interpret_functions.h:1195)
9 0x010b377d 0 + 17512317
10 0x00016235 mega_apply + 101 (interpret.c:1787)
11 0x00018bf7 apply + 55 (interpret.c:2095)
12 0x00083f93 main + 2579 (main.c:757)
13 0x00001eb2 _start + 216
14 0x00001dd9 start + 41
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5352The pgsql module gives error in num_rows()2010-03-25T09:14:00ZPeter BortasThe pgsql module gives error in num_rows()Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5352
Reported by Marcus Wellhardh <wellhard@roxen.com>
This code, notice the rowinfo attribute:
<emit source="sql"
host="pgsql"
rowinfo="var.ro...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5352
Reported by Marcus Wellhardh <wellhard@roxen.com>
This code, notice the rowinfo attribute:
<emit source="sql"
host="pgsql"
rowinfo="var.rowinfo"
query="select * from foo">
<pre><insert variables="full" scope="_"/></pre>
</emit>
Gives this backtrace:
```
9:24:01 : Internal server error: Bad argument 1 to sscanf(). Expected string.
1m34.4s : Unknown program: sscanf(0,"%*s %d",<Unknown 249>,<Unknown 16>)
: /lhome/wellhard/Projects/Pike/lib/modules/Sql.pmod/pgsql_util.pmod:323: pgsql_result numrows: 0 eof: 0 querylock: 1 inflight: 1024
: portalname: "" datarows: 2 laststatus:
: ->num_rows()
: modules/database/sqltag.pike:535: RoxenModule(Basic/sqltag#0)->do_sql_query(mapping[4],RequestID(/support/pgsql/index.html?__sb_force_userid=2&1269418958),1,UNDEFINED)
9:24:01 : modules/database/sqltag.pike:743: TagSqlplugin(emit#sql)->get_dataset(@0=mapping[4],@1=RequestID(/support/pgsql/index.html?__sb_force_userid=2&1269418958))
1m34.4s : modules/tags/rxmltags.pike:5954: Frame(emit)->do_enter(@1)
: /lhome/wellhard/Projects/roxen-5.0/server/etc/modules/RXML.pmod/module.pmod:4606: Frame(emit)->_eval(Context(),RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Basic,rxml_tag_set)),RXML.t_html(text/html, xml))
: /lhome/wellhard/Projects/roxen-5.0/server/etc/modules/RXML.pmod/module.pmod:483: TagEmit(emit)->_p_xml_handle_tag(@2=RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Basic,rxml_tag_set)),mapping[4],"\n <pre><insert variables=\"full\" scope=\"_\"/></pre>\n ")
: /lhome/wellhard/Projects/Pike/build/linux-2.6.30.10-105.2.23.fc11.i686.pae-i686/lib/modules/Parser.pmod/_parser.so:1: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Basic,rxml_tag_set))->finish("<html>\n <body>\n <h1>pgsql</h1>\n <emit source=\"sql\" \n host=\"pgsql\" \n rowinfo=\"var.rowinfo\"\n query=\"select * from foo\">\n <pre><insert variables=\"full\" scope=\"_"+[219])
: /lhome/wellhard/Projects/roxen-5.0/server/etc/modules/RXML.pmod/PXml.pike:385: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Basic,rxml_tag_set))->finish("<html>\n <body>\n <h1>pgsql</h1>\n <emit source=\"sql\" \n host=\"pgsql\" \n rowinfo=\"var.rowinfo\"\n query=\"select * from foo\">\n <pre><insert variables=\"full\" scope=\"_"+[219])
9:24:01 : /lhome/wellhard/Projects/roxen-5.0/server/etc/modules/RXML.pmod/module.pmod:5608: RXML.PXml(RXML.t_html(text/html, xml),RXMLTagSet(Basic,rxml_tag_set))->write_end("<html>\n <body>\n <h1>pgsql</h1>\n <emit source=\"sql\" \n host=\"pgsql\" \n rowinfo=\"var.rowinfo\"\n query=\"select * from foo\">\n <pre><insert variables=\"full\" scope=\"_"+[219])
1m34.4s : modules/sitebuilder/handlers/xml/common.pike:829: html/handler()->view_xml_or_html(MDFile("/home/wellhard/projects/roxen-5.0/Basic.sb/wa/2/support/pgsql/index.html",rML(Cl)),mapping[1],@1)
: modules/sitebuilder/handlers/html/handler.pike:69: html/handler()->view(DelayedSBFD(VCFile(A/N:2:[Basic]::/support/pgsql/index.html)),@3=mapping[1],@1)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/module.pmod:1350: /home/wellhard/projects/roxen-5.0/server/modules/sitebuilder/pike-modules/Sitebuilder.pmod/module->sb_http_file_answer(@4=DelayedSBFD(VCFile(A/N:2:[Basic]::/support/pgsql/index.html)),@1,0)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike:3444: Workarea(,Site(Basic:/home/wellhard/projects/roxen-5.0/Basic.sb/))->find_sbfile(VCFile(A/N:2:[Basic]::/support/pgsql/index.html),0,1,@1)
: modules/sitebuilder/pike-modules/Sitebuilder.pmod/Workarea.pike:3906: Workarea(,Site(Basic:/home/wellhard/projects/roxen-5.0/Basic.sb/))->wa_find_file("support/pgsql/index.html",0,1,RoxenModule(Basic/insite_editor#0),@1,0)
9:24:01 : modules/sitebuilder/modules/manager/workarea.pike:1090: RoxenModule(Basic/insite_editor#0)->find_file("support/pgsql/index.html",@1)
1m34.4s : modules/sitebuilder/modules/manager/insite_editor.pike:1733: RoxenModule(Basic/insite_editor#0)->find_file("support/pgsql/index.html",@1)
: base_server/configuration.pike:2235: Configuration(Basic)->low_get_file(@1,UNDEFINED)
: base_server/configuration.pike:2493: Configuration(Basic)->get_file(@1,UNDEFINED,UNDEFINED)
: base_server/configuration.pike:2468: Configuration(Basic)->handle_request(@1,UNDEFINED)
: protocols/http.pike:2823: RequestID(/support/pgsql/index.html?__sb_force_userid=2&1269418958)->handle_request()
9:24:01 : base_server/roxen.pike:849: roxen()->handler_thread(1)
```
Content of the table:
```
[wellhard@leguan Pike]$ ./bin/pike
Pike v7.8 release 415 running Hilfe v3.5 (Incremental Pike Frontend)
> object db = Sql.Sql("pgsql://postgres:postgres@localhost/my_db");
> db->query("select * from foo");
(1) Result: ({ /* 2 elements */
([ /* 2 elements */
"id": "1",
"name": "a"
]),
([ /* 2 elements */
"id": "2",
"name": "b"
])
})
```
Reported in [RT 15247].Pike 7.8https://git.lysator.liu.se/pikelang/pike/-/issues/5303month_day() crashes2010-03-02T12:51:41ZPeter Bortasmonth_day() crashesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5303
Reported by Marcus Wellhardh <wellhard@roxen.com>
The following code crashes in PIke 7.8 but works in pike 7.4.
Reported in [RT 15074].
```
Pike v7.8 release 408 r...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5303
Reported by Marcus Wellhardh <wellhard@roxen.com>
The following code crashes in PIke 7.8 but works in pike 7.4.
Reported in [RT 15074].
```
Pike v7.8 release 408 running Hilfe v3.5 (Incremental Pike Frontend)
> object cal = Calendar.ISO.Week("unix",1262300400);
> cal->month_day();
yday out of range.
/lhome/wellhard/Testarea/roxen-5.0.449-release3-cms-rhel5_x86/roxen/server-5.0.449/pike/lib/pike/modules/Calendar.pmod/Gregorian.pmod:110: ISO->month_from_yday(2010,-3)
/lhome/wellhard/Testarea/roxen-5.0.449-release3-cms-rhel5_x86/roxen/server-5.0.449/pike/lib/pike/modules/Calendar.pmod/YMD.pike:113: Week(w53 2009)->make_month()
/lhome/wellhard/Testarea/roxen-5.0.449-release3-cms-rhel5_x86/roxen/server-5.0.449/pike/lib/pike/modules/Calendar.pmod/YMD.pike:216: Week(w53 2009)->month_day()
> cal;
(1) Result: Week(w53 2009)
Pike v7.4 release 528 running Hilfe v3.5 (Incremental Pike Frontend)
> object cal = Calendar.ISO.Week("unix",1262300400);
> cal->month_day();
(1) Result: 28
> cal;
(2) Result: Week(w53 2009)
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbström