pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2009-04-16T14:11:39Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/2976Hilfe history bug2009-04-16T14:11:39ZPeter BortasHilfe history bugImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2976
Reported by Leif Stensson <leif@roxen.com>
Doing "set history 0" in Hilfe gives the following error message when
trying to evaluate the next expression:
```
Attempt...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2976
Reported by Leif Stensson <leif@roxen.com>
Doing "set history 0" in Hilfe gives the following error message when
trying to evaluate the next expression:
```
Attempt to index the empty array with 0.
installed/megalon/pike/7.3.18/lib/modules/ADT.pmod/History.pike:41:
HilfeHistory(0/10)->push(1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1396:
HilfeEvaluator->evaluate("1",1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1163:
HilfeEvaluator->parse_expression(Expression(({ /* 2 elements
*/
```
"1",
";"
```
})))
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:874:
HilfeEvaluator->add_buffer("1;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:829:
HilfeEvaluator->add_input_line("1;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1496:
```
HilfeEvaluator->create()
Hilfe: StdinHilfe()
With "set history 1", a different but similar error occurs:
```
Attempt to index the empty array with 9.
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:724:
HilfeHistory(1/10)->`[](-1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1303:
HilfeEvaluator->hilfe_compile("mixed ___HilfeWrapper() { return 0; ;
}",0)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1362:
HilfeEvaluator->evaluate("mixed ___HilfeWrapper() { return 0; ;
}",1)
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1163:
HilfeEvaluator->parse_expression(Expression(({ /* 2 elements
*/
```
"0",
";"
```
})))
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:874:
HilfeEvaluator->add_buffer("0;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:829:
HilfeEvaluator->add_input_line("0;")
installed/megalon/pike/7.3.18/lib/modules/Tools.pmod/Hilfe.pmod:1496:
```
HilfeEvaluator->create()
Hilfe: StdinHilfe()Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2941Back-referencing single-statement declarations don't work in Hilfe2009-04-16T14:11:39ZPeter BortasBack-referencing single-statement declarations don't work in HilfeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2941
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 18 running Hilfe v3.2 (Incremental Pike Frontend)
> int i=5, j=2*i;
Compiler Error: 1:...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2941
Reported by Johan H Sundström, IDA <jhs@pike.ida.liu.se>
```
Pike v7.3 release 18 running Hilfe v3.2 (Incremental Pike Frontend)
> int i=5, j=2*i;
Compiler Error: 1:'i' undefined.
>
```Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2861One hour offset in If-Modified-Since header.2020-03-01T13:52:24ZPeter BortasOne hour offset in If-Modified-Since header.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2861
Reported by Arjan van Staalduijnen, RTL iMedia <arjanvanstaalduijnen@rtlimedia.nl>
The If-Modified-Since header does not use the correct time to determine
of the pag...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2861
Reported by Arjan van Staalduijnen, RTL iMedia <arjanvanstaalduijnen@rtlimedia.nl>
The If-Modified-Since header does not use the correct time to determine
of the page has been modified.
If for a page a Last-Modified header is reported like
Last-Modified: Thu, 14 Mar 2002 14:50:59 GMT
and a request for this page is done with a header
If-Modified-Since: Thu, 14 Mar 2002 14:50:59 GMT
a 304 result should be returned. Instead a 200 result is returned. If a
request is done for the same page, where the If-Modified-Since header
states a time, one hour later (so, Thu, Mar 14 2002 15:50:59 GMT) a 304
is indeed returned. Anything earlier than that one hour offset returns a
200 result.Pike 7.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2858String.Buffer appears to hang under some circumstances2009-04-16T14:11:39ZPeter BortasString.Buffer appears to hang under some circumstancesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2858
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
It appears that `+= on a String.Buffer object sometimes hangs Pike.
Replacing all += operations with the ad...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2858
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
It appears that `+= on a String.Buffer object sometimes hangs Pike.
Replacing all += operations with the add method solves the problem. I have
only encountered this in complex code, so I have no minimized test case. A
huge testcase is to rewrite the render_xml method in Parser.XML.Tree to use
String.Buffer instead of string concatenation (about 8 lines need to be
changed) and build a refdoc manual with the new Parser.XML.Tree.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2846Hilfe v3 fails to access global variables from functions2009-04-16T14:11:39ZPeter BortasHilfe v3 fails to access global variables from functionsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2846
Reported by Marcus Agehall <agehall@roxen.com>
```
In hilfe v2.0 the code below works:
> int i=0;
Result: 0
> void foo() { i++; };
> foo();
Result: 0
> i;
Result: 1
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2846
Reported by Marcus Agehall <agehall@roxen.com>
```
In hilfe v2.0 the code below works:
> int i=0;
Result: 0
> void foo() { i++; };
> foo();
Result: 0
> i;
Result: 1
```
However, when the same code is run in hilfe v3, i is not incremented when
foo() is executed.Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2829sprintf("%X") fails for bignums2009-04-16T14:11:39ZPeter Bortassprintf("%X") fails for bignumsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2829
Reported by @grubba
From the Roxen chat:
```
19:34 Grendel guys, a quickie about sprintf in
Pike
19:35 Grendel Pike v7.2 release 298 running Hilfe v2.0 (Increme...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2829
Reported by @grubba
From the Roxen chat:
```
19:34 Grendel guys, a quickie about sprintf in
Pike
19:35 Grendel Pike v7.2 release 298 running Hilfe v2.0 (Incremental Pike
Frontend)
> int i =
0xFFFFFFFF;
Result:
4294967295
> sprintf("%X",
i);
Result:
"ffffffff"
> sprintf("%X",
0xFFFFFFFF);
Result:
"ffffffff"
> sprintf("%X",
0xFFFFFFF);
Result:
"FFFFFFF"
```
>
19:36 Grendel is this behavior
expected/desired?
19:37 Genesys you mean %X on an integer being lowercase? that looks
wrongPike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2820PATCH: Support for dynamic modules on MacOS X2009-04-16T14:11:39ZPeter BortasPATCH: Support for dynamic modules on MacOS XImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2820
Reported by @grubba
```
From: Bill Welliver <hww3@riverweb.com>
To: "pike@roxen.com" <pike@roxen.com>
Date: Tue, 5 Mar 2002 18:22:25 -0500
Subject: Revised patch for...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2820
Reported by @grubba
```
From: Bill Welliver <hww3@riverweb.com>
To: "pike@roxen.com" <pike@roxen.com>
Date: Tue, 5 Mar 2002 18:22:25 -0500
Subject: Revised patch for Darwin/MacOSX
```
Here's a revised patch for pike 7.3.16 to get dynamic modules working on
MacOSX/Darwin. After considerable fiddling, it appears that it will be
necessary to use the flat namespace when compiling for Darwin (ask me
offline if you need specific examples and reasons). The attached patch
provides the necessary changes for configure.in.
That said, there are some other problems that I've identified (but don't
have patches for):
1. the configure script for the Java module always fails complaining
about not having a working ls. There is no relevant information in
config.log for me to be able to determine what the problem really is,
though I'm sure it's a simple fix.
2. If I install X11 and GTK (from fink if that's helpful), it's
necessary to use the -traditional-cpp flag to get the GTK module to
compile. I'm pretty sure the flag is set in the main configure script
but it doesn't seem to propagate.
Hope this helps!
Bill
--- configure.in.orig Thu Feb 28 20:23:12 2002
+++ configure.in Tue Mar 5 18:08:03 2002
@@ -1318,6 +1318,7 @@
# Foundation framework needed by JavaVM.framework. The OS X 10.1
linker
# no longer includes indirect dependencies so we need to add them
here.
AC_SYS_COMPILER_FLAG(-framework Foundation,
framework_Foundation, LDFLAGS)
+ AC_SYS_COMPILER_FLAG(-framework System, framework_System, LDFLAGS)
```
# -flat_namespace only needed for linking with libMallocDebug
# AC_SYS_COMPILER_FLAG(-flat_namespace, flat_namespace, LDFLAGS)
@@ -5435,7 +5436,7 @@
fi
;;
Darwin*)
- LDSHARED="ld -bundle -bind_at_load -undefined suppress -lbundle1.o"
+ LDSHARED="ld -bundle -bind_at_load -flat_namespace -undefined
suppress -lbundle1.o"
;;
IRIX*)
if test "$GCC" = yes ; then
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2817getpwnam() does not honour nisplus/nscd for sp_pwdp (passwords.c)2009-04-16T14:11:39ZPeter Bortasgetpwnam() does not honour nisplus/nscd for sp_pwdp (passwords.c)Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2817
Reported by Wilhelm Köhler, Technical University Berlin <wk@cs.tu-berlin.de>
Henrik,
with Solaris 8, passwd map in nisplus and nscd enabled all authentication
via t...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2817
Reported by Wilhelm Köhler, Technical University Berlin <wk@cs.tu-berlin.de>
Henrik,
with Solaris 8, passwd map in nisplus and nscd enabled all authentication
via the System user database module (.htaccess and <auth-required>) fails
for Pike v7.2 release 259, Roxen WebServer 2.2.252 running as root.
Reproducable with hilfe and stopping nscd helps:
```
(22)root@pompa> /home/adm/roxen/server-2.2.252/pike/bin/pike
Pike v7.2 release 259 running Hilfe v2.0 (Incremental Pike Frontend)
> getpwnam("willi2");
Result: ({ /* 7 elements */
"willi2",
"*NP*",
21065,
13,
"Wilhelm Köhler",
"/home/w/willi2",
"/usr/local/bin/bash"
})
>
[1]+ Stopped /home/adm/roxen/server-2.2.252/pike/bin/pike
(23)root@pompa> /etc/init.d/nscd stop
(24)root@pompa> fg
/home/adm/roxen/server-2.2.252/pike/bin/pike
getpwnam("willi2");
getpwnam("willi2");
Result: ({ /* 7 elements */
"willi2",
"pPTbgDt5Ebnx6",
21065,
13,
"Wilhelm Köhler",
"/home/w/willi2",
"/usr/local/bin/bash"
})
Terminal closed.
```
Probably in passwords.c (line 126) "*NP*" should also be checked.
Cheers,
WilliPike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2816Inheriting dirnodes fails2009-04-16T14:11:39ZPeter BortasInheriting dirnodes failsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2816
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The program
```
inherit String;
int main() {
return capitalize("hi");
}
```
fails with
```
bash-2.03$...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2816
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
The program
```
inherit String;
int main() {
return capitalize("hi");
}
```
fails with
```
bash-2.03$ pike bug.pike
bug.pike:5:'capitalize' undefined.
Pike: Failed to compile script:
Compilation failed.
```
A more explicit error can be aquired from Hilfe:
```
Pike v7.3 release 14 running Hilfe v3.1 (Incremental Pike Frontend)
> inherit String;
Bad argument 1 to sizeof().
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/master.pike:842:
master()->dirnode(0)->create(0,0)
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/master.pike:703:
master()->new(HilfeInput)
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/modules/Tools.pmod/Hilfe.pmod:1102:
HilfeEvaluator->hilfe_compile("",0)
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/modules/Tools.pmod/Hilfe.pmod:865:
HilfeEvaluator->parse_expression(({"inherit","String",";"}))
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/modules/Tools.pmod/Hilfe.pmod:755:
HilfeEvaluator->add_buffer("inherit
String;")
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/modules/Tools.pmod/Hilfe.pmod:712:
HilfeEvaluator->add_input_line("inherit
String;")
Pike/7.3/build/sunos-5.8-sun4u/test-install/pike/7.3.14/lib/modules/Tools.pmod/Hilfe.pmod:1267:
HilfeEvaluator->create()
Hilfe: StdinHilfe()
```Pike 7.6Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2815Symlink detection broken in Stdio.Stat2009-04-16T14:11:39ZPeter BortasSymlink detection broken in Stdio.StatImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2815
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
bash-2.03$ cd Pike/7.3/src/
bash-2.03$ ls -la Pike.pmod
lrwxrwxrwx 1 nilsson nilsson 56 Nov 1...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2815
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
```
bash-2.03$ cd Pike/7.3/src/
bash-2.03$ ls -la Pike.pmod
lrwxrwxrwx 1 nilsson nilsson 56 Nov 1 20:33 Pike.pmod ->
/home/nilsson/Pike/7.3/lib/modules/Parser.pmod/Pike.pmod
bash-2.03$ pike
Pike v7.3 release 14 running Hilfe v3.1 (Incremental Pike Frontend)
> object x=file_stat("Pike.pmod");
> x->mode;
Result 1: 33204
> x->islnk;
Result 2: 0
```Pike 7.6Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2802Error in dynamc loading of _Image_FreeType.so on Windows2009-04-16T14:11:39ZPeter BortasError in dynamc loading of _Image_FreeType.so on WindowsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2802
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
While trying to run Aido on w2k the following error occured.
```
Failed to initialize dynamic module
"d:/p...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2802
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
While trying to run Aido on w2k the following error occured.
```
Failed to initialize dynamic module
"d:/program/pike/7.3.14/lib/modules/_Image_F
reeType.so".
d:/program/pike/7.3.14/lib/master.pike:543:
master()->low_findprog("d:/program/p
ike/7.3.14/lib/modules/_Image_FreeType",".so",0,1)
d:/program/pike/7.3.14/lib/master.pike:586:
master()->findprog("d:/program/pike/
7.3.14/lib/modules/_Image_FreeType","",0,1)
d:/program/pike/7.3.14/lib/master.pike:615:
master()->low_cast_to_program("d:/pr
ogram/pike/7.3.14/lib/modules/_Image_FreeType","/.",0,1)
d:/program/pike/7.3.14/lib/master.pike:807:
master()->low_cast_to_object("d:/pro
gram/pike/7.3.14/lib/modules/_Image_FreeType","/.",0)
d:/program/pike/7.3.14/lib/master.pike:1147:
master()->findmodule("d:/program/pi
ke/7.3.14/lib/modules/_Image_FreeType",0)
d:/program/pike/7.3.14/lib/master.pike:1339:
master()->resolv_base("_Image_FreeT
ype",0,0)
d:/program/pike/7.3.14/lib/master.pike:1397:
master()->resolv("_Image_FreeType",
0,0)
d:/program/pike/7.3.14/lib/modules/Image.so: `[]("FreeType")
d:/program/pike/7.3.14/lib/master.pike:350:
master()->compile_file("d:/program/p
ike/7.3.14/lib/modules/_Image.pmod/Fonts.pmod",0,Fonts,object)
d:/program/pike/7.3.14/lib/master.pike:528:
master()->low_findprog("d:/program/p
ike/7.3.14/lib/modules/_Image.pmod/Fonts.pmod","",0,1)
d:/program/pike/7.3.14/lib/master.pike:584:
master()->findprog("d:/program/pike/
7.3.14/lib/modules/_Image.pmod/Fonts.pmod",".pmod",0,1)
d:/program/pike/7.3.14/lib/master.pike:615:
master()->low_cast_to_program("d:/pr
ogram/pike/7.3.14/lib/modules/_Image.pmod/Fonts","/.",0,1)
d:/program/pike/7.3.14/lib/master.pike:807:
master()->low_cast_to_object("d:/pro
gram/pike/7.3.14/lib/modules/_Image.pmod/Fonts.pmod","/.",0)
d:/program/pike/7.3.14/lib/master.pike:1142:
master()->findmodule("d:/program/pi
ke/7.3.14/lib/modules/_Image.pmod/Fonts",0)
d:/program/pike/7.3.14/lib/master.pike:925:
master()->dirnode("d:/program/pike/7
.3.14/lib/modules/_Image.pmod")->ind("d:/program/pike/7.3.14/lib/modules/_I
mage.
pmod/Fonts")
d:/program/pike/7.3.14/lib/master.pike:953:
master()->dirnode("d:/program/pike/7
.3.14/lib/modules/_Image.pmod")->`[]("Fonts")
d:/program/pike/7.3.14/lib/modules/Image.so: `[]("Fonts")
d:/program/pike/7.3.14/lib/master.pike:351:
master()->compile_file("D:/Program/p
ike/aido/programs/server/modules/tab.pike",0,D:/Program/pike/aido/programs/
serve
r/modules/tab.pike,0)
```
A printout from Dr.Watson says:
Application exception occurred:
App: pike.exe (pid=1124)
When: 2002-03-01 @ 00:22:11.173
Exception number: c0000005 (access violation)
*----> System Information <----*
Computer Name: ELEMENT
User Name: Martin Nilsson
Number of Processors: 1
Processor Type: x86 Family 6 Model 4 Stepping 2
Windows 2000 Version: 5.0
Current Build: 2195
Service Pack: 2
Current Type: Uniprocessor Free
Registered Organization: Unmateriels
Registered Owner: Martin Nilsson
*----> Task List <----*
0 Idle.exe
8 System.exe
152 smss.exe
180 csrss.exe
176 winlogon.exe
228 services.exe
240 lsass.exe
416 svchost.exe
448 spoolsv.exe
480 svchost.exe
520 regsvc.exe
536 MSTask.exe
564 stisvc.exe
632 WinMgmt.exe
644 mspmspsv.exe
604 Explorer.exe
812 devldr32.exe
1052 qttask.exe
1068 ICQ.exe
972 UD.exe
308 PGPtray.exe
1032 hotsync.exe
804 ud_1066573.exe
740 netscape.exe
540 WinKOM.exe
692 ntvdm.exe
1084 cmd.exe
1104 TXTPAD32.exe
1140 winmysqladmin.e.exe
1132 mysqld-nt.exe
1100 notepad.exe
528 cmd.exe
1164 pike.exe
1124 pike.exe
1220 pike.exe
1236 drwtsn32.exe
1264 drwtsn32.exe
0 _Total.exe
(00400000 - 006CD000)
(77F80000 - 77FFB000)
(77E80000 - 77F35000)
(75030000 - 75043000)
(78000000 - 78046000)
(77DB0000 - 77E0C000)
(77D40000 - 77DB0000)
(75020000 - 75028000)
(782F0000 - 78532000)
(77F40000 - 77F7C000)
(77E10000 - 77E74000)
(70BD0000 - 70C34000)
(71780000 - 7180A000)
(74FD0000 - 74FEF000)
(75010000 - 75017000)
(75170000 - 751BF000)
(77BE0000 - 77BEF000)
(751C0000 - 751C6000)
(75150000 - 75160000)
(77950000 - 7797A000)
(77980000 - 779A4000)
(75050000 - 75058000)
State Dump for Thread Id 0x4f4
eax=00000000 ebx=00000000 ecx=00000000 edx=00000001 esi=01552834
edi=00000008
eip=004aa8b1 esp=00ec9014 ebp=00ec905c iopl=0 nv up ei pl zr na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000246
```
function: dlclose
004aa895 75ed jnz debug_mksvaluenode+0x2d4
(004afc84)
004aa897 53 push ebx
004aa898 ff1594b05000
ds:0050b094=77e866a7
call dword ptr
[_imp__LoadLibraryA (0050b094)]
004aa89e 8945fc mov [ebp+0xfc],eax
ss:031b662e=????????
004aa8a1 eb0a jmp copy_node+0x1d (004afead)
004aa8a3 56 push esi
004aa8a4 ff1594b05000
ds:0050b094=77e866a7
call dword ptr
[_imp__LoadLibraryA (0050b094)]
004aa8aa 8945fc mov [ebp+0xfc],eax
ss:031b662e=????????
004aa8ad 33db xor ebx,ebx
004aa8af 33c9 xor ecx,ecx
FAULT ->004aa8b1 8a783f mov bh,[eax+0x3f]
ds:022ed5d2=??
004aa8b4 8a483d mov cl,[eax+0x3d]
ds:022ed5d2=??
004aa8b7 8a583e mov bl,[eax+0x3e]
ds:022ed5d2=??
004aa8ba 33d2 xor edx,edx
004aa8bc 8a503c mov dl,[eax+0x3c]
ds:022ed5d2=??
004aa8bf c1e308 shl ebx,0x8
004aa8c2 0bd9 or ebx,ecx
004aa8c4 c1e308 shl ebx,0x8
004aa8c7 0bda or ebx,edx
004aa8c9 03d8 add ebx,eax
004aa8cb b82c025400 mov eax,0x54022c
004aa8d0 895df8 mov [ebp+0xf8],ebx
ss:031b662e=????????
```
*----> Stack Back Trace <----*
```
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
00EC905C 004A8B30 0160C1D8 00000000 00000000 00000001 pike!dlclose
00EC90C8 0042BEAC 01622938 01622938 00000000 0000005F pike!dlopen (FPO:
[EBP 0x0048A26A] [2,17,4])
00EC90E4 00441C6A 00410828 00000001 0181197C 0160C1B0 pike!switch_lookup
(FPO: [EBP 0x00000000] [2,0,4])
00EC9174 00453115 00EC91A4 00000008 3C7C13E2 00010008 pike!f_load_module
(FPO: [EBP 0x00000000] [1,10,4])
00ECB1BC 0040E278 0162C074 00000014 016028D0 0162FFD4
pike!compile_memsearcher0 (FPO: [EBP 0x00010008] [4,2058,4])
00010008 0050005C 006F0072 00720067 006D0061 0070005C pike!mega_apply
```
*----> Raw Stack Dump <----*
00ec9014 08 00 00 00 c5 00 00 00 - 3c c1 62 01 e8 0b 66 01
........<.b...f.
00ec9024 d8 c1 60 01 44 d0 55 01 - 01 00 00 00 00 00 55 01
..`.D.U.......U.
00ec9034 0f 00 00 00 d8 c1 60 01 - aa 93 40 00 0d b2 40 00
......`...@...@.
00ec9044 03 00 00 00 38 49 60 01 - 00 00 00 00 58 13 61 01
....8I`.....X.a.
00ec9054 14 68 61 01 00 00 00 00 - 34 ac 65 01 30 8b 4a 00
.ha.....4.e.0.J.
00ec9064 d8 c1 60 01 00 00 00 00 - 00 00 00 00 01 00 00 00
..`.............
00ec9074 d8 c1 60 01 6a a2 48 00 - 33 a3 48 00 44 d0 55 01
..`.j.H.3.H.D.U.
00ec9084 44 d0 55 01 8f 2e 81 ff - aa 93 40 00 81 26 41 00
D.U.......@..&A.
00ec9094 03 00 00 00 e0 49 60 01 - 58 0b 66 01 14 68 61 01
.....I`.X.f..ha.
00ec90a4 1a 8b 4a 00 9e 1c 44 00 - 34 ac 65 01 01 00 00 00
..J...D.4.e.....
00ec90b4 00 00 00 00 c5 00 00 00 - ac 92 ec 00 3c c1 62 01
............<.b.
00ec90c4 03 00 00 00 00 00 00 00 - ac be 42 00 38 29 62 01
..........B.8)b.
00ec90d4 38 29 62 01 00 00 00 00 - 5f 00 00 00 ac 92 ec 00
8)b....._.......
00ec90e4 14 68 61 01 6a 1c 44 00 - 28 08 41 00 01 00 00 00
.ha.j.D.(.A.....
00ec90f4 7c 19 81 01 b0 c1 60 01 - 50 ad 65 01 c0 9f ec 00
|.....`.P.e.....
00ec9104 ac 92 ec 00 2c bf 62 01 - 00 00 00 00 6a 00 00 00
....,.b.....j...
00ec9114 e4 90 ec 00 df e1 40 00 - b0 ff ec 00 00 00 00 00
......@.........
00ec9124 30 32 43 56 00 00 00 00 - 00 00 00 00 00 00 00 00
02CV............
00ec9134 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
................
00ec9144 e0 49 60 01 76 01 00 00 - 00 00 00 00 0a 00 00 00
.I`.v...........
Application exception occurred:
App: pike.exe (pid=1220)
When: 2002-03-01 @ 00:22:13.636
Exception number: c0000005 (access violation)
*----> System Information <----*
Computer Name: ELEMENT
User Name: Martin Nilsson
Number of Processors: 1
Processor Type: x86 Family 6 Model 4 Stepping 2
Windows 2000 Version: 5.0
Current Build: 2195
Service Pack: 2
Current Type: Uniprocessor Free
Registered Organization: Unmateriels
Registered Owner: Martin Nilsson
*----> Task List <----*
0 Idle.exe
8 System.exe
152 smss.exe
180 csrss.exe
176 winlogon.exe
228 services.exe
240 lsass.exe
416 svchost.exe
448 spoolsv.exe
480 svchost.exe
520 regsvc.exe
536 MSTask.exe
564 stisvc.exe
632 WinMgmt.exe
644 mspmspsv.exe
604 Explorer.exe
812 devldr32.exe
1052 qttask.exe
1068 ICQ.exe
972 UD.exe
308 PGPtray.exe
1032 hotsync.exe
804 ud_1066573.exe
740 netscape.exe
540 WinKOM.exe
692 ntvdm.exe
1084 cmd.exe
1104 TXTPAD32.exe
1140 winmysqladmin.e.exe
1132 mysqld-nt.exe
1100 notepad.exe
528 cmd.exe
1220 pike.exe
1236 drwtsn32.exe
1264 drwtsn32.exe
0 _Total.exe
(00400000 - 006CD000)
(77F80000 - 77FFB000)
(77E80000 - 77F35000)
(75030000 - 75043000)
(78000000 - 78046000)
(77DB0000 - 77E0C000)
(77D40000 - 77DB0000)
(75020000 - 75028000)
(782F0000 - 78532000)
(77F40000 - 77F7C000)
(77E10000 - 77E74000)
(70BD0000 - 70C34000)
(71780000 - 7180A000)
(74FD0000 - 74FEF000)
(75010000 - 75017000)
(75170000 - 751BF000)
(77BE0000 - 77BEF000)
(751C0000 - 751C6000)
(75150000 - 75160000)
(77950000 - 7797A000)
(77980000 - 779A4000)
(75050000 - 75058000)
State Dump for Thread Id 0x4c8
eax=00000000 ebx=00000000 ecx=00000000 edx=00000001 esi=01552834
edi=00000008
eip=004aa8b1 esp=00ec9014 ebp=00ec905c iopl=0 nv up ei pl zr na po
nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000246
```
function: dlclose
004aa895 75ed jnz debug_mksvaluenode+0x2d4
(004afc84)
004aa897 53 push ebx
004aa898 ff1594b05000
ds:0050b094=77e866a7
call dword ptr
[_imp__LoadLibraryA (0050b094)]
004aa89e 8945fc mov [ebp+0xfc],eax
ss:031b662e=????????
004aa8a1 eb0a jmp copy_node+0x1d (004afead)
004aa8a3 56 push esi
004aa8a4 ff1594b05000
ds:0050b094=77e866a7
call dword ptr
[_imp__LoadLibraryA (0050b094)]
004aa8aa 8945fc mov [ebp+0xfc],eax
ss:031b662e=????????
004aa8ad 33db xor ebx,ebx
004aa8af 33c9 xor ecx,ecx
FAULT ->004aa8b1 8a783f mov bh,[eax+0x3f]
ds:022ed5d2=??
004aa8b4 8a483d mov cl,[eax+0x3d]
ds:022ed5d2=??
004aa8b7 8a583e mov bl,[eax+0x3e]
ds:022ed5d2=??
004aa8ba 33d2 xor edx,edx
004aa8bc 8a503c mov dl,[eax+0x3c]
ds:022ed5d2=??
004aa8bf c1e308 shl ebx,0x8
004aa8c2 0bd9 or ebx,ecx
004aa8c4 c1e308 shl ebx,0x8
004aa8c7 0bda or ebx,edx
004aa8c9 03d8 add ebx,eax
004aa8cb b82c025400 mov eax,0x54022c
004aa8d0 895df8 mov [ebp+0xf8],ebx
ss:031b662e=????????
```
*----> Stack Back Trace <----*
```
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
00EC905C 004A8B30 0160C1D8 00000000 00000000 00000001 pike!dlclose
00EC90C8 0042BEAC 01622938 01622938 00000000 0000005F pike!dlopen (FPO:
[EBP 0x0048A26A] [2,17,4])
00EC90E4 00441C6A 00410828 00000001 0165601C 0160C1B0 pike!switch_lookup
(FPO: [EBP 0x00000000] [2,0,4])
00EC9174 00453115 00EC91A4 00000008 3C7C13E2 00010008 pike!f_load_module
(FPO: [EBP 0x00000000] [1,10,4])
00ECB1BC 0040E278 0162C074 00000014 016028D0 0162FFD4
pike!compile_memsearcher0 (FPO: [EBP 0x00010008] [4,2058,4])
00010008 0050005C 006F0072 00720067 006D0061 0070005C pike!mega_apply
```
*----> Raw Stack Dump <----*
00ec9014 08 00 00 00 c5 00 00 00 - 3c c1 62 01 e8 0b 66 01
........<.b...f.
00ec9024 d8 c1 60 01 44 d0 55 01 - 01 00 00 00 00 00 55 01
..`.D.U.......U.
00ec9034 0f 00 00 00 d8 c1 60 01 - aa 93 40 00 0d b2 40 00
......`...@...@.
00ec9044 03 00 00 00 38 49 60 01 - 00 00 00 00 58 13 61 01
....8I`.....X.a.
00ec9054 14 68 61 01 00 00 00 00 - 44 51 65 01 30 8b 4a 00
.ha.....DQe.0.J.
00ec9064 d8 c1 60 01 00 00 00 00 - 00 00 00 00 01 00 00 00
..`.............
00ec9074 d8 c1 60 01 6a a2 48 00 - 33 a3 48 00 44 d0 55 01
..`.j.H.3.H.D.U.
00ec9084 44 d0 55 01 8f 2e 81 ff - aa 93 40 00 81 26 41 00
D.U.......@..&A.
00ec9094 03 00 00 00 e0 49 60 01 - 58 0b 66 01 14 68 61 01
.....I`.X.f..ha.
00ec90a4 1a 8b 4a 00 9e 1c 44 00 - 44 51 65 01 01 00 00 00
..J...D.DQe.....
00ec90b4 00 00 00 00 c5 00 00 00 - ac 92 ec 00 3c c1 62 01
............<.b.
00ec90c4 03 00 00 00 00 00 00 00 - ac be 42 00 38 29 62 01
..........B.8)b.
00ec90d4 38 29 62 01 00 00 00 00 - 5f 00 00 00 ac 92 ec 00
8)b....._.......
00ec90e4 14 68 61 01 6a 1c 44 00 - 28 08 41 00 01 00 00 00
.ha.j.D.(.A.....
00ec90f4 1c 60 65 01 b0 c1 60 01 - 60 52 65 01 c0 9f ec 00
.`e...`.`Re.....
00ec9104 ac 92 ec 00 2c bf 62 01 - 00 00 00 00 6a 00 00 00
....,.b.....j...
00ec9114 e4 90 ec 00 df e1 40 00 - b0 ff ec 00 00 00 00 00
......@.........
00ec9124 30 32 43 56 00 00 00 00 - 00 00 00 00 00 00 00 00
02CV............
00ec9134 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
................
00ec9144 e0 49 60 01 76 01 00 00 - 00 00 00 00 0a 00 00 00
.I`.v...........Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2792Bad time complexity in free_all_nodes in las.c2009-04-16T14:11:39ZPeter BortasBad time complexity in free_all_nodes in las.cImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2792
Reported by Martin Stjernholm <mast@roxen.com>
free_all_nodes goes through all nodes in the block_alloc blocks and checks
for each one if it's on the free list befor...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2792
Reported by Martin Stjernholm <mast@roxen.com>
free_all_nodes goes through all nodes in the block_alloc blocks and checks
for each one if it's on the free list before freeing it. Since the free
list grows with each freed node, it causes the running time of
free_all_nodes to be O(n^2 + m) where n is the number of allocated nodes
and m is the number of free nodes.
As a specific case, I have a program with a parse error in it. After
reporting the error it takes approximately 15 seconds for free_all_nodes to
run. The free list contains in this case about 19000 nodes and there are 50
nodes to be freed.
I suggest that freed nodes are marked in some way so they can be recognized
immediately.
(Looks like the problem exists in 7.2 too, although I haven't tested it
there.)Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2785function_name(0) crashes pike2009-04-16T14:11:39ZPeter Bortasfunction_name(0) crashes pikeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2785
Reported by Thomas Bopp, Uni-GH Paderborn <astra@upb.de>
Try this:
string t = function_name(0) and you got
a core dump.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2785
Reported by Thomas Bopp, Uni-GH Paderborn <astra@upb.de>
Try this:
string t = function_name(0) and you got
a core dump.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2776Error: Indexing the NULL value with "type".2015-03-31T15:42:55ZPeter BortasError: Indexing the NULL value with "type".Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2776
Reported by @grubba
```
From: Olaf van Zandwijk <olaf@scintilla.utwente.nl>
To: "roxen@roxen.com" <roxen@roxen.com>
Date: Sun, 17 Feb 2002 16:03:56 +0100
Subject: Er...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2776
Reported by @grubba
```
From: Olaf van Zandwijk <olaf@scintilla.utwente.nl>
To: "roxen@roxen.com" <roxen@roxen.com>
Date: Sun, 17 Feb 2002 16:03:56 +0100
Subject: Error: Indexing the NULL value with "type".
```
Hello,
I've got an error in a rxml page, and I can't figure out why.
I request a page "bewoner.rxml?room=106". This gives me the backtrace
below.
When I don't give the 'room' argument, the RXML backtrace is '<else>'
instead
of '<if variable="form.room">'
What is the possible cause of a 'Indexing the NULL value with "type".'
error?
\Olaf
== Backtrace ==
Roxen version: Roxen/2.2.252
Pike version: Pike v7.2 release 259
Requested URL: /bewoner.rxml?room=106
```
Error: Indexing the NULL value with "type".
RXML frame backtrace:
| <if variable="form.room">
modules/database/sqltag.pike (version 1.96):264: __lambda_66537_0(0)
modules/database/sqltag.pike (version 1.96):270: really_get_row()
base_server/emit_object.pike:61: get_row()
modules/tags/rxmltags.pike (version 1.336):3613:
RXML.Frame(emit)->object_iterate(@0=RequestID())
etc/modules/RXML.pmod/module.pmod (version 1.259):3794:
RXML.Frame(emit)->_eval(@1=RXML.Context,@2=RXML.PXml(RXML.t_html(xml),RXML.TagSe
t(Marsupilami,rxml_tag_set)),@3=RXML.t_html(xml))
etc/modules/RXML.pmod/module.pmod (version 1.259):476:
RXML.Tag(emit)->_p_xml_handle_tag(@2,mapping[3],"\n\n<h4>&sql.voorn"+[3769]+"</t
r>\n</table>\n\n")
etc/modules/RXML.pmod/PXml.pike:
RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,rxml_tag_set))->finish("\n<em
it source=\"s"+[4004]+"table>\n\n</emit>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.62):380:
RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,rxml_tag_set))->finish("\n<em
it source=\"s"+[4004]+"table>\n\n</emit>\n")
etc/modules/RXML.pmod/module.pmod (version 1.259):3862:
RXML.Frame(if)->_eval(@1,@4=RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,r
xml_tag_set)),@3)
etc/modules/RXML.pmod/module.pmod (version 1.259):476:
RXML.Tag(emit)->_p_xml_handle_tag(@2,mapping[3],"\n\n<h4>&sql.voorn"+[3769]+"</t
r>\n</table>\n\n")
etc/modules/RXML.pmod/PXml.pike:
RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,rxml_tag_set))->finish("<!DOC
TYPE HTML P"+[5495]+"</body>\n</html>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.62):380:
RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,rxml_tag_set))->finish("<!DOC
TYPE HTML P"+[5495]+"</body>\n</html>\n")
etc/modules/RXML.pmod/module.pmod (version 1.259):4576:
RXML.PXml(RXML.t_html(xml),RXML.TagSet(Marsupilami,rxml_tag_set))->write_end("<!
DOCTYPE HTML P"+[5495]+"</body>\n</html>\n")
modules/tags/rxmlparse.pike (version 1.68):170:
RoxenModule(Marsupilami/rxmlparse#0)->handle_file_extension(Stdio.File("/www/htm
l/marsupilami/bewoner.rxml", "r", 666 /* fd=23 */),"rxml",@0)
base_server/configuration.pike (version 1.495):1606:
Configuration(Marsupilami)->low_get_file(@0,0)
base_server/configuration.pike (version 1.495):1707:
Configuration(Marsupilami)->get_file(@0,0,0)
base_server/configuration.pike (version 1.495):1675:
Configuration(Marsupilami)->handle_request(@0)
protocols/http.pike (version 1.349):1907: RequestID()->handle_request()
protocols/http.pike (version 1.349):2222: RequestID()->got_data(0,"GET
/bewoner.rxm"+[486]+"mi/menu.rxml\r\n\r\n")
pike/lib/pike/modules/Stdio.pmod/module.pmod (version 1.114):683:
Stdio.File("socket", "192.168.1.5 3721", 777 /* fd=35
*/)->__stdio_read_callback()
Request data:
GET /bewoner.rxml?room=106 HTTP/1.1
Host: marsupilami
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4)
Gecko/20011128 Netscape6/6.2.1
Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9,
image/png, image/jpeg, image/gif;q=0.2, text/plain;q=0.8, text/css,
*/*;q=0.1
Accept-Language: en-us
Accept-Encoding: gzip, deflate, compress;q=0.9
Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66
Keep-Alive: 300
Connection: keep-alive
Referer: http://marsupilami/menu.rxml
```Pike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2774Wrong deduced type from overloaded []2009-04-16T14:11:39ZPeter BortasWrong deduced type from overloaded []Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2774
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
This program
```
class A {
string `[](mixed ... args) {
return "hej\n";
}
}
int main() {
A a=A(...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2774
Reported by Martin Nilsson, IDA <nilsson@pike.ida.liu.se>
This program
```
class A {
string `[](mixed ... args) {
return "hej\n";
}
}
int main() {
A a=A();
write( a[1..2] ); // line 11
return 0;
}
```
fails with
```
bug.pike:11:Bad argument 1 to write.
bug.pike:11:Expected: function(array(string) | string, mixed | void ... :
int)
bug.pike:11:Got : function({ A = object(implements 65603) } : void |
mixed)
Pike: Failed to compile script:
Compilation failed.
```Pike 7.6Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2773(7.2.239) bug in the XML parser: a new patch2009-04-16T14:11:39ZPeter Bortas(7.2.239) bug in the XML parser: a new patchImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2773
Reported by @grubba
```
From: Reinhard Pfau <Reinhard.Pfau@gmx.de>
To: "pike@roxen.com" <pike@roxen.com>
Date: Sat, 16 Feb 2002 17:25:31 +0100
Subject: (7.2.239) bug...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2773
Reported by @grubba
```
From: Reinhard Pfau <Reinhard.Pfau@gmx.de>
To: "pike@roxen.com" <pike@roxen.com>
Date: Sat, 16 Feb 2002 17:25:31 +0100
Subject: (7.2.239) bug in the XML parser: a new patch
```
Hi again,
I made another patch for the XML parser bug. This one should be more
fool-proof now..
Since I didn't include comments, here is a little description:
Whenever an entity is parsed, then it's value is pushed on an input stack
and this is parsed again. So I added another field to the structure
"xmlinput" which can hold the name of a PE ("entity") (-- the value is
already stored in the field "to_free"). A modified PUSH macro "PUSH_WE"
stores this value; and the POP() macro is (ab)used to re-enter the entity
into the "entities" mapping (;at this point, all recursive expansions are
done for that entity).
So now we can parse DTD's with multiple expansions of an PE; and are
(again)
failsafe against illegal cyclic expansions (as long as the callback
function doesn't allow them... but that's beyond the scope of the core
parser..)
```
Here now my 2nd-try patch:
-----[Start: ]---vvv----vvv----vvv----vvv----vvv----vvv----vvv------
--- src/modules/spider/xml.c:7.2.239 Tue Feb 12 16:41:43 2002
+++ src/modules/spider/xml.c Sat Feb 16 16:58:30 2002
@@ -36,6 +36,7 @@
ptrdiff_t len;
ptrdiff_t pos;
struct pike_string *to_free;
+ struct pike_string *entity;
};
```
BLOCK_ALLOC(xmlinput, 64)
@@ -675,7 +676,7 @@
#define POKE(X,Y) string_builder_putchar(&X,Y)
```
-#define PUSH(s) do { \
+#define PUSH_WE(s,e) do { \
struct xmlinput *i=alloc_xmlinput(); \
*i=data->input; \
data->input.next=i; \
@@ -683,13 +684,24 @@
data->input.datap=MKPCHARP_STR(s); \
data->input.len=(s)->len; \
copy_shared_string(data->input.to_free,s); \
+ if (e) copy_shared_string(data->input.entity,e); \
+ else data->input.entity=0; \
}while(0)
```
+#define PUSH(s) PUSH_WE(s,0)
+
#define XMLEOF() (data->input.len <= 0)
```
#define POP() do { \
struct xmlinput *i=data->input.next; \
IF_XMLDEBUG(fprintf(stderr,"SMEG POP\n"));\
+ if (data->input.entity) { \
+ if (data->input.to_free) { \
+ mapping_string_insert_string(THIS->entities, \
+ data->input.entity, data->input.to_free); \
+ } \
+ free_string(data->input.entity); \
+ } \
if(data->input.to_free) free_string(data->input.to_free); \
data->input=*i; \
really_free_xmlinput(i); \
@@ -1132,7 +1144,10 @@
XMLERROR("XML->__entities is not a mapping");
}else{
struct pike_string *name=0;
- ONERROR tmp3;
+ struct pike_string *full_name=0;
+ int external_entity_value=0;
+ ONERROR tmp3;
+ ONERROR tmp4;
push_constant_text("%");
SIMPLE_READNAME();
@@ -1140,6 +1155,8 @@
SET_ONERROR(tmp3, do_free_string, name);
f_add(2);
+ add_ref(full_name=sp[-1].u.string);
+ SET_ONERROR(tmp4, do_free_string, full_name);
if(PEEK(0)!=';')
XMLERROR("Missing ';' after parsed entity reference.");
READ(1);
@@ -1153,6 +1170,7 @@
do {
if(IS_ZERO(sp-1))
{
+ external_entity_value=1;
pop_stack();
push_constant_text("%");
ref_push_string(name);
@@ -1176,14 +1194,20 @@
IF_XMLDEBUG(fprintf(stderr, "ptr=%p len=%d pos=%d to_free=%p\n",
data->input.datap.ptr, data->input.len,
data->input.pos, data->input.to_free));
- PUSH(s);
+ if (external_entity_value) {
+ PUSH(s);
+ } else {
+ PUSH_WE(s,full_name);
+ }
READ(0); /* autopop empty strings */
pop_stack();
+ CALL_AND_UNSET_ONERROR(tmp4);
CALL_AND_UNSET_ONERROR(tmp3);
return 1;
}
}while(0);
+ CALL_AND_UNSET_ONERROR(tmp4);
CALL_AND_UNSET_ONERROR(tmp3);
}
return 0;
@@ -2657,6 +2681,7 @@
data.input.len=s->len;
data.input.pos=0;
data.input.to_free=0;
+ data.input.entity=0;
data.input.next=0;
data.func=sp+1-args;
data.extra_args=sp+2-args;
@@ -2750,6 +2775,7 @@
data.input.len=s->len;
data.input.pos=0;
data.input.to_free=0;
+ data.input.entity=0;
data.func=sp+1-args;
data.extra_args=sp+2-args;
data.num_extra_args=args-2;
-----[End : ]---^^^----^^^----^^^----^^^----^^^----^^^----^^^------
```
Greetings,
Reinhard (/Mubo)
[Pike newbie]
PS: to /Hubbe: better now? :-)
--
** Reinhard Pfau mailto:Reinhard.Pfau@unix-ag.org
** (Mubo) mailto:Reinhard.Pfau@gmx.de
** http://www.home.unix-ag.org/reinhard.pfau/Pike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2772Little patch for modules/HTTPLoop/wwwserver.pike2009-04-16T14:11:39ZPeter BortasLittle patch for modules/HTTPLoop/wwwserver.pikeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2772
Reported by @grubba
```
From: Xavier Beaudouin <kiwi@oav.net>
To: "pike@roxen.com" <pike@roxen.com>
Date: Fri, 15 Feb 2002 19:19:48 +0100 (CET)
Subject: Little patch...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2772
Reported by @grubba
```
From: Xavier Beaudouin <kiwi@oav.net>
To: "pike@roxen.com" <pike@roxen.com>
Date: Fri, 15 Feb 2002 19:19:48 +0100 (CET)
Subject: Little patch for modules/HTTPLoop/wwwserver.pike
```
Hello !
Just a little patch for the testfile of httploop module... Since Pike
7.2/7.3 is more strict, it cannot be compiled :)
Here is the patch (applicable to 7.2.296 snapshot):
```
--- wwwserver.pike.old Sun Nov 21 02:43:22 1999
+++ wwwserver.pike Fri Feb 15 20:19:05 2002
@@ -46,11 +46,11 @@
inherit HTTPLoop.prog;
}
-void handle(object o)
+mixed|void handle(object o)
{
string url = o->not_query;
string f = combine_path(BASE, url[1..]);
- array s;
+ object s;
if(f[-1] == '/' && (s = file_stat(f+"index.html"))) {
url += "index.html";
f += "index.html";
```
/XavierPike 7.2Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2769non-existent method documented for Crypto.arcfour2009-04-16T14:11:39ZPeter Bortasnon-existent method documented for Crypto.arcfourImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2769
Reported by Robert J. Budzynski, Warsaw University, Dept. of Physics <Robert.Budzynski@fuw.edu.pl>
as in summary: the documentation refers to set_key() but no such m...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2769
Reported by Robert J. Budzynski, Warsaw University, Dept. of Physics <Robert.Budzynski@fuw.edu.pl>
as in summary: the documentation refers to set_key() but no such method
is available to users of this program. The ones that are available
(but not documented) are set_encrypt_key() and set_decrypt_key(), instead.
Both of these are in fact the same and implemented by f_set_key(),
hence the mixup.Pike 7.4https://git.lysator.liu.se/pikelang/pike/-/issues/2768bogus `type mismatch' warning2022-08-28T23:32:32ZPeter Bortasbogus `type mismatch' warningImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2768
Reported by Robert J. Budzynski, Warsaw University, Dept. of Physics <Robert.Budzynski@fuw.edu.pl>
```
Running the following script (foo.pike):
#!/usr/local/bin/pike...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2768
Reported by Robert J. Budzynski, Warsaw University, Dept. of Physics <Robert.Budzynski@fuw.edu.pl>
```
Running the following script (foo.pike):
#!/usr/local/bin/pike -w
#pragma strict_types
int main(int ac, array(string) av)
{
write(version()+"\n");
int(-1..1) foo=0;
if(ac>1)
{
if(av[1]=="1") foo++;
else foo--;
}
switch(foo)
{
case 1: write("foo is one\n"); break;
case -1: write("foo is minus one\n"); break;
case 0: write("foo is zero\n"); break;
default: write("Bah!\n");
}
return 0;
}
// script ends here
```
I obtain the output
```
$ ./foo.pike xxx
foo.pike:15: Warning: Type mismatch in case.
foo.pike:15: Warning: Expected: int(-1..1)
foo.pike:15: Warning: Got : int
Pike v7.3 release 14
foo is minus one
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/2766interpret_protos.h not autogenerated whith --with-machine-code2009-04-16T14:11:39ZPeter Bortasinterpret_protos.h not autogenerated whith --with-machine-codeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2766
Reported by Mikael Brandström <mikael@brandstrom.org>
When compiling pike (7.3.14 recently checked out from cvs) using top level
makefile with the option --with-mach...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=2766
Reported by Mikael Brandström <mikael@brandstrom.org>
When compiling pike (7.3.14 recently checked out from cvs) using top level
makefile with the option --with-machine-code compilation fails with the
following output:
```
Compiling /opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src/language.c
In file included from language.yacc:134:
/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src/opcodes.h:60:
interpret_protos.h: No such file or directory
language.yacc: In function `yyparse':
language.yacc:567: `F_RETURN' undeclared (first use in this function)
language.yacc:567: (Each undeclared identifier is reported only once
language.yacc:567: for each function it appears in.)
language.yacc:857: `F_POP_VALUE' undeclared (first use in this function)
language.yacc:1340: `F_CONSTANT' undeclared (first use in this function)
language.yacc:1553: `F_ASSIGN' undeclared (first use in this function)
language.yacc:2679: `F_FOREACH' undeclared (first use in this function)
language.yacc:2782: `F_SWITCH' undeclared (first use in this function)
language.yacc:2861: `F_PUSH_ARRAY' undeclared (first use in this function)
language.yacc:2867: `F_ARRAY_LVALUE' undeclared (first use in this function)
language.yacc:2925: `F_LOR' undeclared (first use in this function)
language.yacc:2926: `F_LAND' undeclared (first use in this function)
language.yacc:2974: `F_INC' undeclared (first use in this function)
language.yacc:2975: `F_DEC' undeclared (first use in this function)
language.yacc:2982: `F_POST_INC' undeclared (first use in this function)
language.yacc:2983: `F_POST_DEC' undeclared (first use in this function)
language.yacc:3108: `F_INDEX' undeclared (first use in this function)
language.yacc:3111: `F_RANGE' undeclared (first use in this function)
language.yacc:3156: `F_ARROW' undeclared (first use in this function)
language.yacc:3202: `F_UNDEFINED' undeclared (first use in this function)
language.yacc:3365: `F_MAGIC_INDEX' undeclared (first use in this function)
language.yacc:3369: `F_MAGIC_SET_INDEX' undeclared (first use in this function)
language.yacc:3372: `F_MAGIC_INDICES' undeclared (first use in this function)
language.yacc:3375: `F_MAGIC_VALUES' undeclared (first use in this function)
language.yacc:3535: `F_CATCH' undeclared (first use in this function)
language.yacc:3542: `F_SSCANF' undeclared (first use in this function)
WARNING: Compiler failure! Trying without optimization!
/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build/linux-2.4.17-i686/smartlink
gcc -I. -I/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src
-I/usr/local/inclu
de -I/usr/X11R6/include
-I/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src -I/
opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build/linux-2.4.17-i686 -g
-mcpu=i
686 -I/usr/local/include -I/usr/X11R6/include
-I/opt/shared/cvs_exports/cvs.rox
en.com/Pike/7.3/src
-I/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build/linux
-2.4.17-i686 -W -Wall -Wno-unused -Wcomment -Wformat
-Wimplicit-function-declar
ation -Wmultichar -Wswitch -Wuninitialized -Wpointer-arith
-Wchar-subscripts -Wn
o-long-long -c
/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src/language.c -o
language.o
In file included from language.yacc:134:
/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/src/opcodes.h:60:
interpret_proto
s.h: No such file or directory
make[3]: *** [language.o] Error 1
make[3]: Leaving directory
`/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build
/linux-2.4.17-i686'
make[2]: ***
[/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build/linux-2.4.17-
i686/tpike] Error 2
make[2]: Leaving directory
`/opt/shared/cvs_exports/cvs.roxen.com/Pike/7.3/build
/linux-2.4.17-i686'
make[1]: *** [configure] Error 2
```
There are no rules Makefile.in to create interpret_protos.h as far as I can
see.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbström