pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2014-05-23T14:17:20Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/6370Avoid global lock during compilation2014-05-23T14:17:20ZPeter BortasAvoid global lock during compilationImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6370
Reported by Martin Stjernholm <mast@roxen.com>
Do not disable all threads when compiling, encoding, and decoding pike code.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6370
Reported by Martin Stjernholm <mast@roxen.com>
Do not disable all threads when compiling, encoding, and decoding pike code.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6366It seems concurrent access to same cgi script blocks server2012-06-18T15:39:01ZPeter BortasIt seems concurrent access to same cgi script blocks serverImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6366
Reported by Eiichiro ITANI, <emu@ceres.dti.ne.jp>
I'm testing Roxen5.2.200, on Debian GNU/Linux squeeze i686, with external postgres DB.
I still have not inspected t...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6366
Reported by Eiichiro ITANI, <emu@ceres.dti.ne.jp>
I'm testing Roxen5.2.200, on Debian GNU/Linux squeeze i686, with external postgres DB.
I still have not inspected the problem/cause deeply yet. But when Roxen 5.2 getting
concurrent access to (same?) cgi script, server seems to blocked for a few seconds.
Most of time server seems run very smoothly, but sometimes it stucks for less
than 10 seconds, unexpectedly and repeatedly. Access log while this stucking occures
always have entry accessing one cgi script from two or three hosts.
That cgi is for server health checking, and it finishes in less than 0.1 seconds
normally.
Typical access log is like this. From left most column, those are $request-time,
$queue-time, $queue-length and $resource.
prcess queued inque resource
0.0025 0.0001 0 /rec/trace.png?page=disp&QUERYCENSORED
0.0035 0.0001 0 /javascript/cdj_rate_func.js
0.0165 0.0001 0 /image.html/TOBF-5685
0.0021 0.0001 0 /icons/apparel.gif
0.0030 0.0000 0 /javascript/minmax.js
0.0129 0.0001 0 /image.html/VTCL-35131
0.0029 0.0001 0 /static/images/shopping_cart/cdj/add.gif
0.0173 0.0001 0 /image.html/DAKSPLP-17
0.0072 0.0002 0 /image.html/STE-2106
0.0048 0.0001 0 /javascript/jquery.simpletip-1.3.1.pack.js
0.0345 0.0001 0 /cgi-bin/healthcheck.cgi
0.0071 0.0002 0 /aff/banners/4_Foreign%20Music/yogakubanner_wl.gif
3.9455 3.9332 1 /icons/0203piggybank.gif
3.6989 3.6889 2 /image.html/DAKPSIM-20027
3.1479 3.1272 5 /icons/Translate_mini-02.png
3.4251 3.3908 4 /aff/banners/4_Foreign%20Music/yogakubanner_bs.gif
2.9750 2.9626 7 /aff/tmpl/whatsnew_tmpl.js
3.5463 3.4657 3 //cgi-bin/healthcheck.cgi
2.8933 2.8789 8 /image.html/BVCL-402
2.6963 2.6790 9 /icons/skaterbannar.jpg
3.0739 3.0008 6 /cgi-bin/healthcheck.cgi
3.1249 2.4047 10 /detailview.html?KEY=UICY-75188
2.9153 2.9115 11 /icons/cooljapannow_banner.jpg
2.7710 2.7685 12 /rec/trace.png?page=disp&QUERYCENSORED
2.6185 2.6167 13 /rec/trace.png?page=disp&QUERYCENSORED
2.5003 2.4781 14 /image.html/NEOIPS-187
2.1679 2.1600 15 /image.html?id=AVCK-79046
3.7611 1.9057 16 /goods/list.html?current=252&c2_id=10203
3.0951 3.0720 18 /image.html/NEOBK-62480
2.8486 2.8435 19 /static/javascript/jquery.neowing.js
2.3551 2.3427 9 /javascript/cdj_rate_mst.html
2.1378 2.1353 10 /s/icons/logo90.png
1.5948 1.5870 6 /image.html?id=AVCK-79047
3.5297 3.3634 17 /rec/frame.cgi/detail?KEY=JACA-5325&cat_id=1-CDA
2.1522 1.3970 7 /detailview.html?KEY=VICP-61946
1.7825 1.7799 8 /facebox/bl.png
0.9752 0.9572 10 /javascript/cdj_rate_mst.html
0.5234 0.4935 3 /image.html/AVCD-48395
0.1575 0.1540 4 /javascript/disable_translate_popup.js
1.5973 1.5181 9 /cgi-bin/affclick.cgi?KEY=VICL-63761&QUERYCENSORED
0.0045 0.0001 0 /aff/tmpl/wide_skyscraper160i.js
0.0024 0.0001 0 /icons/home.gif
0.0027 0.0001 0 /icons/movie-em.gif
0.0028 0.0001 0 /icons/calender.gif
0.0026 0.0001 0 /rss/rss.gif
0.0324 0.0001 0 /cgi-bin/healthcheck.cgi
0.0109 0.0001 0 /goods/top_thum/10108.jpg
0.0104 0.0001 0 /goods/top_thum/10312.jpg
0.0028 0.0001 0 /icons/seemore.gif
0.0030 0.0001 0 /icons/add_to_cart.gif
0.0092 0.0001 0 /goods/top_thum/11004.jpg
0.0145 0.0002 0 /icons/banner_pop_bn.gif
0.0030 0.0001 0 /icons/cart_m.gif
0.0055 0.0001 0 /goods/img/icon_stock.jpg
0.0029 0.0001 0 /icons/title-anime.gif
0.0045 0.0001 0 /icons/blog_banner.jpg
0.0033 0.0001 0 /icons/music.gif
10.0684 10.0659 0 /icons/cooljapan.gif
9.6934 9.6905 1 /icons/basket/btn_xpressCheckout.gif
7.7481 7.7177 3 /favicon.ico
9.0612 9.0138 2 /cgi-bin/healthcheck.cgi
9.1006 9.0650 1 /cgi-bin/healthcheck.cgi
9.1496 9.0984 1 /cgi-bin/healthcheck.cgi
5.6912 5.6025 3 /cgi-bin/healthcheck.cgi
4.0667 4.0150 4 //cgi-bin/healthcheck.cgi
Most html resource require many RXML processing and access to external pgsql DB.
Image type rosources are just static ones.
When parallel access to healthcheck.cgi occurs, queue-time suddenly rises, and
access to other resource seem blocked.
Roxen4.5 doesn't have this problem. So I suspect current cgi-scripting module have
lock problem.
Could it be fixed?Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6355Timezone EDT not supported2012-05-21T11:34:11ZPeter BortasTimezone EDT not supportedImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6355
Reported by Marcus Wellhardh <wellhard@roxen.com>
This code:
<date http-time="Fri, 04 May 2012 00:12:00 EDT" strftime="%d %b %Y %R">
Gives this RXML backtrace:
...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6355
Reported by Marcus Wellhardh <wellhard@roxen.com>
This code:
<date http-time="Fri, 04 May 2012 00:12:00 EDT" strftime="%d %b %Y %R">
Gives this RXML backtrace:
: RXML run error: Unsupported timezone "EDT" in http-time.
: | <date http-time="Fri, 04 May 2012 00:12:00 EDT" strftime="%d %b %Y %R">
The timezone EDT is valid:
http://www.w3.org/Protocols/rfc822/#z28
Reported in [RT 18868]. Tested in Roxen CMS 5.2.200.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6285DNS.async_client fails on windows2015-03-31T14:51:20ZPeter BortasDNS.async_client fails on windowsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6285
Reported by Martin Stjernholm <mast@roxen.com>
Seen during site creation:
```
: Internal server error: Cannot call functions in destructed objects.
Unknow...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6285
Reported by Martin Stjernholm <mast@roxen.com>
Seen during site creation:
```
: Internal server error: Cannot call functions in destructed objects.
Unknown program: destructed object->function()
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (4893bd35):334: unknown function(0,80)
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (4893bd35):461: unknown function("www.roxen.com",0,function)
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/DNS.pmod (9a6231d3):1541: Protocols.DNS.async_client()->generic_get("www.roxen.com",0,-1,0,1,"a","www.roxen.com",function,function,80)
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/DNS.pmod (9a6231d3):1454: Protocols.DNS.async_client()->remove(Protocols.DNS.async_client()->Request())
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/DNS.pmod (9a6231d3):1620: Protocols.DNS.async_client()->close()
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (4893bd35):447: unknown function()
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/base_server/roxenloader.pike (rev 1.475):246: 0->`()()
-:1: Pike.Backend(0)->`()(3600.0)
Internal server error: UDP: not open
-:1: Protocols.DNS.async_client()->send("127.0.0.1",53,"º\1\0\0\1\0\0\0\0\0\0\3www\5roxen\3com\0\0\1\0\1")
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/pike/lib/modules/Protocols.pmod/DNS.pmod (9a6231d3):1471: Protocols.DNS.async_client()->retry(Protocols.DNS.async_client()->Request(),0)
C:/Program Files (x86)/Roxen Internet Software/Roxen CMS/server-5.2.187/base_server/roxenloader.pike (rev 1.475):246: Protocols.DNS.async_client()->retry->`()(@0=Protocols.DNS.async_client()->Request(),1)
-:1: Pike.Backend(0)->`()(3600.0)
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6275Extend f__memory_usage() to be able to log the overallocation.2012-03-14T17:41:54ZPeter BortasExtend f__memory_usage() to be able to log the overallocation.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6275
Reported by @grubba
From [bug #6045]:
```
Comment #4 From Martin Stjernholm 2012-02-07 15:45:09 CET (-) [reply]
```
A first step is to extend f__memory_usage() and...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6275
Reported by @grubba
From [bug #6045]:
```
Comment #4 From Martin Stjernholm 2012-02-07 15:45:09 CET (-) [reply]
```
A first step is to extend f__memory_usage() and the memory logger module to be
able to log the overallocation in all BLOCK_ALLOCs and in the malloc lib (the
interesting fields from mallinfo(3) should be uordblks, fordblks, and
arena+hblkhd).
See also infokom 716274 and comments.
```
Comment #5 From Martin Stjernholm 2012-03-07 14:59:26 CET (-) [reply]
```
Working on linux platform is mandatory to solve the customer issue.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6187Crash in push_grent() on OS X2012-01-25T14:21:53ZPeter BortasCrash in push_grent() on OS XImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6187
Reported by Jonas Wallden <jonasw@roxen.com>
Observed with Pike 7.8.612 (CMS 5.2.132) on OS X 10.6.8 (x86_64 build). Reportedly triggered by restarting a uid-changed...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6187
Reported by Jonas Wallden <jonasw@roxen.com>
Observed with Pike 7.8.612 (CMS 5.2.132) on OS X 10.6.8 (x86_64 build). Reportedly triggered by restarting a uid-changed Roxen via Admin interface wizard.
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 roxen 0x00000001001f4385 push_grent + 197
1 roxen 0x00000001001f4940 f_getgrgid + 432
2 roxen 0x0000000100016515 eval_instruction + 14037
3 roxen 0x000000010001dcb4 catching_eval_instruction + 100
4 roxen 0x0000000100019e78 eval_instruction + 28728
5 roxen 0x000000010001ddc4 mega_apply + 212
6 roxen 0x00000001000533ff backend_do_call_outs + 767
7 roxen 0x000000010005537c f_PollDeviceBackend_cq__backtick_28_29 + 1612
8 roxen 0x0000000100011c87 low_mega_apply + 3095
9 roxen 0x00000001000150c3 eval_instruction + 8835
10 roxen 0x000000010001dcb4 catching_eval_instruction + 100
11 roxen 0x0000000100019e78 eval_instruction + 28728
12 roxen 0x000000010001ddc4 mega_apply + 212
13 roxen 0x0000000100001950 main + 2576
14 roxen 0x0000000100000eb4 start + 52
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000046 rbx: 0x0000000100600400 rcx: 0x0000000100600420 rdx: 0x0000000100600410
rdi: 0x00000001009e7401 rsi: 0x000000010025f640 rbp: 0x00007fff5fbfe4f0 rsp: 0x00007fff5fbfe4c0
r8: 0x0000000100355da8 r9: 0x0000000000000000 r10: 0x0000000000000001 r11: 0x0000000000000040
r12: 0x00000001019074fd r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x00000001019074d0
rip: 0x00000001001f4385 rfl: 0x0000000000010246 cr2: 0x0000000000000000
Disassembly of _push_grent() with offset 197 highlighted:
```
_push_grent:
00000001001f42c0 pushq %rbp
00000001001f42c1 movq %rsp,%rbp
00000001001f42c4 pushq %r15
00000001001f42c6 pushq %r14
00000001001f42c8 movq %rdi,%r14
00000001001f42cb pushq %r13
00000001001f42cd pushq %r12
00000001001f42cf pushq %rbx
00000001001f42d0 subq $0x08,%rsp
00000001001f42d4 testq %rdi,%rdi
00000001001f42d7 je 0x1001f4461
00000001001f42dd movq (%rdi),%r13
00000001001f42e0 testq %r13,%r13
00000001001f42e3 je 0x1001f43fe
00000001001f42e9 leaq 0x0006b350(%rip),%r12
00000001001f42f0 movq %r13,%rdi
00000001001f42f3 movq (%r12),%rbx
00000001001f42f7 leaq 0x10(%rbx),%rax
00000001001f42fb movq %rax,(%r12)
00000001001f42ff movw $0x0000,0x02(%rbx)
00000001001f4305 callq 0x1001fcc3e ; symbol stub for: _strlen
00000001001f430a movq %r13,%rdi
00000001001f430d movq %rax,%rsi
00000001001f4310 callq _debug_make_shared_binary_string
00000001001f4315 movw $0x0006,(%rbx)
00000001001f431a movq %rax,0x08(%rbx)
00000001001f431e movq %r12,%rsi
00000001001f4321 movq 0x08(%r14),%r12
00000001001f4325 testq %r12,%r12
00000001001f4328 je 0x1001f4437
00000001001f432e movq (%rsi),%rbx
00000001001f4331 movq %r12,%rdi
00000001001f4334 leaq 0x10(%rbx),%rax
00000001001f4338 movq %rax,(%rsi)
00000001001f433b movw $0x0000,0x02(%rbx)
00000001001f4341 callq 0x1001fcc3e ; symbol stub for: _strlen
00000001001f4346 movq %r12,%rdi
00000001001f4349 movq %rax,%rsi
00000001001f434c callq _debug_make_shared_binary_string
00000001001f4351 leaq 0x0006b2e8(%rip),%rsi
00000001001f4358 movq %rax,0x08(%rbx)
00000001001f435c movw $0x0006,(%rbx)
00000001001f4361 movq (%rsi),%rdx
00000001001f4364 movl 0x10(%r14),%eax
00000001001f4368 xorl %r13d,%r13d
00000001001f436b leaq 0x10(%rdx),%rcx
00000001001f436f movq %rcx,(%rsi)
00000001001f4372 movq %rax,0x08(%rdx)
00000001001f4376 movw $0x0008,(%rdx)
00000001001f437b movw $0x0000,0x02(%rdx)
00000001001f4381 movq 0x18(%r14),%r14
----
00000001001f4385 movq (%r14),%r12
----
00000001001f4388 testq %r12,%r12
00000001001f438b je 0x1001f43de
00000001001f438d leaq 0x0006b2ac(%rip),%r15
00000001001f4394 jmp 0x1001f43a3
00000001001f4396 nopw %cs:0x00000000(%rax,%rax)
00000001001f43a0 movq %r15,%rsi
00000001001f43a3 movq (%rsi),%rbx
00000001001f43a6 movq %r12,%rdi
00000001001f43a9 incl %r13d
00000001001f43ac leaq 0x10(%rbx),%rax
00000001001f43b0 movq %rax,(%rsi)
00000001001f43b3 movw $0x0000,0x02(%rbx)
00000001001f43b9 callq 0x1001fcc3e ; symbol stub for: _strlen
00000001001f43be movq %r12,%rdi
00000001001f43c1 movq %rax,%rsi
00000001001f43c4 callq _debug_make_shared_binary_string
00000001001f43c9 movq %rax,0x08(%rbx)
00000001001f43cd movslq %r13d,%rax
00000001001f43d0 movw $0x0006,(%rbx)
00000001001f43d5 movq (%r14,%rax,8),%r12
00000001001f43d9 testq %r12,%r12
00000001001f43dc jne 0x1001f43a0
00000001001f43de movl %r13d,%edi
00000001001f43e1 callq _debug_f_aggregate
00000001001f43e6 addq $0x08,%rsp
00000001001f43ea movl $0x00000004,%edi
00000001001f43ef popq %rbx
00000001001f43f0 popq %r12
00000001001f43f2 popq %r13
00000001001f43f4 popq %r14
00000001001f43f6 popq %r15
00000001001f43f8 leave
00000001001f43f9 jmp _debug_f_aggregate
00000001001f43fe leaq 0x0006b23b(%rip),%rsi
00000001001f4405 leaq 0x0006863c(%rip),%rax
00000001001f440c movq (%rsi),%rdx
00000001001f440f movq (%rax),%rcx
00000001001f4412 leaq 0x10(%rdx),%rax
00000001001f4416 movq %rax,(%rsi)
00000001001f4419 incl (%rcx)
00000001001f441b movw $0x0000,0x02(%rdx)
00000001001f4421 movq %rcx,0x08(%rdx)
00000001001f4425 movw $0x0006,(%rdx)
00000001001f442a movq 0x08(%r14),%r12
00000001001f442e testq %r12,%r12
00000001001f4431 jne 0x2001f432e
00000001001f4437 leaq 0x0006860a(%rip),%rax
00000001001f443e movq (%rsi),%rdx
00000001001f4441 movq (%rax),%rcx
00000001001f4444 leaq 0x10(%rdx),%rax
00000001001f4448 movq %rax,(%rsi)
00000001001f444b incl (%rcx)
00000001001f444d movw $0x0000,0x02(%rdx)
00000001001f4453 movq %rcx,0x08(%rdx)
00000001001f4457 movw $0x0006,(%rdx)
00000001001f445c jmp 0x2001f4361
00000001001f4461 leaq 0x0006b1d8(%rip),%rax
00000001001f4468 movq (%rax),%rdx
00000001001f446b leaq 0x10(%rdx),%rcx
00000001001f446f movq %rcx,(%rax)
00000001001f4472 movq $0x00000000,0x08(%rdx)
00000001001f447a movw $0x0008,(%rdx)
00000001001f447f movw $0x0000,0x02(%rdx)
00000001001f4485 addq $0x08,%rsp
00000001001f4489 popq %rbx
00000001001f448a popq %r12
00000001001f448c popq %r13
00000001001f448e popq %r14
00000001001f4490 popq %r15
00000001001f4492 leave
00000001001f4493 ret
00000001001f4494 nopw 0x00(%rax,%rax)
00000001001f449a nopw 0x00(%rax,%rax)
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6156Core dump in describe backtrace2012-01-16T13:42:49ZPeter BortasCore dump in describe backtraceImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6156
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got multiple similar core dumps that happens when a thread dump is printed.
Version: Roxen CMS 5.1.185
Stripped ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6156
Reported by Marcus Wellhardh <wellhard@roxen.com>
Got multiple similar core dumps that happens when a thread dump is printed.
Version: Roxen CMS 5.1.185
Stripped debug log:
: Server start command:
: /opt/roxen/server-5.1.185/bin/roxen
: -DTOPIC_DEBUG
: -DPC_FLUSH_VARIANTS_WHEN_MAX
: -DDISABLE_PCODE_FROM_REPLICATION
: -DNO_SB_PREFETCH
: -DENABLE_OUTGOING_PROXY
: -DRAM_CACHE
: -DNEW_RAM_CACHE
: -DHTTP_COMPRESSION
: -DENABLE_THREADS
: -M/opt/roxen/server-5.1.185/etc/modules
: -I/opt/roxen/server-5.1.185/etc/include
: -I/opt/roxen/server-5.1.185/base_server
: -P/opt/roxen/server-5.1.185/base_server
: -P/opt/roxen/server-5.1.185
: base_server/roxenloader.pike
: --config-dir=/etc/roxen/07/configurations
: --pid-file=/var/run/roxen/07/roxen.pid
pike/lib/modules/___Oracle.so:-: Warning: Failed to load library: libclntsh.so.10.1: cannot open shared object file: No such file or directory
pike/lib/modules/Odbc.so:-: Warning: Failed to load library: libodbc.so.1: cannot open shared object file: No such file or directory
17:05:54 : Support for IPv6 enabled.
0m 0.0s : Adding package /srv/roxen/07/local.
: -----------------------------------------------------------------
: Pike version: Pike v7.8 release 534
: Product version: Roxen CMS 5.1.185-release1
: Operating system: Linux 2.6.18-194.26.1.el5 (x86_64)
17:05:54 : Starting MySQL ... Was running 5.0.91-log [49.9ms]
0m 0.1s : Loading Pike modules ... pike/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod.o:-: Warning: Compiled file is out of date
pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike.o:-: Warning: Compiled file is out of date
Done [376.0ms]
[...]
```
: ###### Thread 0x40eba940 has been busy for more than 30 seconds.
11:16:48 : ###### Describing all 18 pike threads:
0d18h10m : >>
: >> ### Thread 0x2b19efae55f0 (backend thread):
: >> -:1: PikeCompiler("", RXML.PikeCompile()->Resolver(), -1, -1, UNDEFINED
, UNDEFINED)->compile()
: >> -:1: DefaultCompilerEnvironment->compile(PikeCompiler("", RXML.PikeComp
ile()->Resolver(), -1, -1, UNDEFINED, UNDEFINED))
: >> etc/modules/RXML.pmod/module.pmod (rev 1.421):8223: RXML.PikeCompile()-
>compile()
11:16:48 : >> etc/modules/RXML.pmod/module.pmod (rev 1.421):8265: RXML.PikeCompile()-
>destroy()
0d18h10m : >> base_server/prototypes.pike (rev 1.280):928: ProtocolCacheKey(inactive)
->destroy()
: >> protocols/http.pike (rev 1.636):1343: unknown function()
: >> protocols/http.pike (rev 1.636):1390: unknown function(1)
: >> protocols/http.pike (rev 1.636):1882: unknown function(UNDEFINED)
: >> base_server/fastpipe.pike (rev 1.11):28: /opt/roxen/server-5.1.185/base
_server/fastpipe()->sendfile_done(2964,UNDEFINED)
11:16:48 : >> -:1: Pike.Backend(0)->`()(3600.0)
0d18h10m : >>
[...]
: >> ### Thread 0x41430940:
[EOF]
Core was generated by `/opt/roxen/server-5.1.185/bin/roxen -DTOPIC_DEBUG -DPC_FLUSH_VARIANTS_WHEN_MAX'.
Program terminated with signal 11, Segmentation fault.
#0 0x000000000053de23 in ?? ()
(gdb) file /opt/roxen/server-5.1.185/bin/roxen
Reading symbols from /opt/roxen/server-5.1.185/bin/roxen...done.
(gdb) bt
#0 0x000000000053de23 in f_function_name (args=1)
at /home/dist/tmp/build/pike.srcbuild/../pike/src/builtin.cmod:1229
#1 0x0000000000438ff9 in eval_instruction (pc=<value optimized out>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret_functions.h:2373
#2 0x0000000000440e87 in catching_eval_instruction (
pc=0xf29d1c0 "\034\002M\rN\034\002\177\017")
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret.c:2245
#3 0x000000000043c9a1 in eval_instruction (
pc=0x63 <Address 0x63 out of bounds>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret_functions.h:1317
#4 0x0000000000440f90 in mega_apply (type=<value optimized out>,
args=<value optimized out>, arg1=<value optimized out>,
arg2=<value optimized out>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret.c:2213
#5 0x0000000000471a23 in backend_do_call_outs (me=0xf7ca848)
at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:906
#6 0x0000000000473cc1 in pb_low_backend_once (args=1)
at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:4021
#7 f_PollBackend_cq__backtick_28_29 (args=1)
at /home/dist/tmp/build/pike.srcbuild/../pike/src/backend.cmod:4076
#8 0x0000000000434f1c in low_mega_apply (type=APPLY_SVALUE, args=1,
arg1=<value optimized out>, arg2=<value optimized out>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/apply_low.h:226
---Type <return> to continue, or q <return> to quit---
#9 0x000000000043ab32 in eval_instruction (pc=<value optimized out>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret_functions.h:2097
#10 0x0000000000440f90 in mega_apply (type=<value optimized out>,
args=<value optimized out>, arg1=<value optimized out>,
arg2=<value optimized out>)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/interpret.c:2213
#11 0x000000000053001c in new_thread_func (data=0x7fffaaee6950)
at /tmp/dist/5.0/pike.rhel5_x86_64/pike/src/threads.c:1125
#12 0x0000003e6ac0673d in ?? ()
#13 0x0000000000000000 in ?? ()
```
(gdb) p *func
$1 = {type = 4, subtype = 0, u = {integer = 46912695272256,
efun = 0x2aaab6898340, array = 0x2aaab6898340, mapping = 0x2aaab6898340,
multiset = 0x2aaab6898340, object = 0x2aaab6898340,
program = 0x2aaab6898340, string = 0x2aaab6898340, type = 0x2aaab6898340,
refs = 0x2aaab6898340, dummy = 0x2aaab6898340,
float_number = 2.3177951087840754e-310, identifier = -1232501952,
lval = 0x2aaab6898340, ptr = 0x2aaab6898340}}
(gdb) p *func.object
There is no member named object.
(gdb) p *func.u.object
$2 = {refs = 5, prog = 0xef342f8, next = 0x2aaab6898840,
prev = 0x2aaab6898fc0, storage = 0x0}
(gdb) p *func.u.object.prog
$3 = {refs = 13, id = 7, storage_needed = 0, xstorage = 0,
parent_info_storage = -1, flags = 8223, alignment_needed = 1 '\001',
timestamp = {tv_sec = 1325740806, tv_usec = 194715}, next = 0xf522998,
prev = 0xf398eb8, parent = 0xef363e0, optimize = 0,
event_handler = 0x4f50e0 <compat_event_handler>, total_size = 416,
program = 0xef4e8b0 " \342R", relocations = 0xef4e8d0,
linenumbers = 0xef4e8d0 "\177\r", identifier_index = 0xef4e8e4,
variable_index = 0xef4e8e4, strings = 0xef4e8e8, constants = 0xef4e8e8,
identifier_references = 0xef4e8e8, inherits = 0xef4e8e8,
identifiers = 0xef4e918, num_program = 32, num_relocations = 0,
num_linenumbers = 20, num_identifier_index = 0, num_variable_index = 0,
num_strings = 0, num_constants = 0, num_identifier_references = 0,
num_inherits = 1, num_identifiers = 0, lfuns = {-1 <repeats 45 times>}}
(gdb) p *func.u.object.prog.identifiers
$4 = {name = 0x41, type = 0x4, filename_strno = 16, linenumber = 0,
identifier_flags = 249 '\371', run_time_type = 130 '\202',
opt_flags = 11255, func = {ext_ref = {depth = 0, id = 0}, gs_info = {
getter = 0, setter = 0}, c_fun = 0, offset = 0}}
(gdb) p (char *)func.u.object.prog.linenumbers
$5 = 0xef4e8d0 "\177\r"
(gdb) p (char *)func.u.object.prog.linenumbers+3
$6 = 0xef4e8d3 "src/threads.c"Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6146Decode bug in portable byte code2012-01-16T12:13:18ZPeter BortasDecode bug in portable byte codeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6146
Reported by Martin Stjernholm <mast@roxen.com>
decode_value fails with the following error.
```
Internal server error: Missing line directive in byte code.
-:1: Pik...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6146
Reported by Martin Stjernholm <mast@roxen.com>
decode_value fails with the following error.
```
Internal server error: Missing line directive in byte code.
-:1: PikeCompiler(UNDEFINED, UNDEFINED, -1, -1, UNDEFINED, UNDEFINED)->compile()
D:/Sites/Roxen CMS/server-5.1.185/etc/modules/RXML.pmod/module.pmod (rev 1.420):9823: RXML->string_to_p_code("¶ke0cd#\6\1RRXML\6\1PCode\0\4æ7.2\b\f#àæRts#à\6\1Rconf(Ç'Ë˼\27\26\6\brxml_tag_set\6\f0?0Ý\225¸Òä¨Y½\233\204.äý#à\6\1Rtype\6\5text/htmlæxmlhà#\0\0\6\0Rtag#à\17\2#à\6\0Rmod\17\3\6\6rxmltags#0&\1
7\6\6\1cache\17\6\0\3dc\5\0\2I/6á\0\a\0"+[5483929],Configuration(online.fe),1)
/.../
Note that the backtrace blames PikeCompiler()->compile(), but on module.pmod:9823 is a call to decode_value.
```
The encoded string has been created in another pike installation. Investigations suggest that it's not a different version of pike, though. It seems like the same string can be decoded in the server it came from, but there's no hard evidence on that.
The problem appears to be specific to this particular instance of the dumped code - other similar cases work.
If this is due to different pike build or resolver environment, pike should be able to report such issues differently from pure format problems. (On a related note, decode_value is badly in need of proper error objects that can be classified in a sane way.)
```
See also RT #17001.
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6118Downloading PDFs over https intermittently fails2011-12-13T15:31:20ZPeter BortasDownloading PDFs over https intermittently failsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6118
Reported by Erik Allemann <erik@roxen.com>
```
RT#17711
Tested on 5.1-rel1
```
Downloading a (semi-)large PDF over https occasionally fails.
Symptoms vary:
1. ...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6118
Reported by Erik Allemann <erik@roxen.com>
```
RT#17711
Tested on 5.1-rel1
```
Downloading a (semi-)large PDF over https occasionally fails.
Symptoms vary:
1. The browser sometimes visually loads the PDF, but seemingly never completes the download.
2. The browser indicates complete file download but never displays the PDF content (the browser may still show as loading the page/file).
3. Occasionally the PDF browser plugin looks like its reporting an incorrect file size.
```
Debug example is from #2 (attached) as well as example PDF.
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6103json_escape() in Mysql module needs fixing2011-10-18T11:24:00ZPeter Bortasjson_escape() in Mysql module needs fixingImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6103
Reported by Marcus Wellhardh <wellhard@roxen.com>
The function json_escape() in src/modules/Mysql/result.c does not escape the following characters:
\u2028
\u2029Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6103
Reported by Marcus Wellhardh <wellhard@roxen.com>
The function json_escape() in src/modules/Mysql/result.c does not escape the following characters:
\u2028
\u2029Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6065Multiple definitions of create variable name2011-09-15T14:16:39ZPeter BortasMultiple definitions of create variable nameImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6065
Reported by Martin Stjernholm <mast@roxen.com>
Recent 7.9 fails in post_modules:
```
/home/mast/Pike/devel/src/post_modules/GTK2/build_pgtk.pike:490:Multiple defini...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6065
Reported by Martin Stjernholm <mast@roxen.com>
Recent 7.9 fails in post_modules:
```
/home/mast/Pike/devel/src/post_modules/GTK2/build_pgtk.pike:490:Multiple definitions of create variable name (0 != 6).
make[4]: *** [compile1] Segmentation fault (core dumped)
make[3]: *** [GTK2] Error 1
```
The bug was introduced by this commit:
```
commit 6c98ca273df23f43842684297485e213f60ef66c
Author: Henrik Grubbström (Grubba) <grubba@grubba.org>
Date: Mon Sep 5 19:21:00 2011 +0200
```
Compiler: Fixed resolving of external symbols in deep inherits. Fixes [bug #6063].
Thanks to ??? <zenothing@hotmail.com> for the bugreport.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6031Protocols.DNS doesn't fail over when 127.0.0.1 refuses connections2013-12-19T13:49:26ZPeter BortasProtocols.DNS doesn't fail over when 127.0.0.1 refuses connectionsImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6031
Reported by Jonas Wallden <jonasw@roxen.com>
```
Log seen from Roxen WebServer admin interface (which tries to load data from www.roxen.com:80):
: DNS: Fa...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6031
Reported by Jonas Wallden <jonasw@roxen.com>
```
Log seen from Roxen WebServer admin interface (which tries to load data from www.roxen.com:80):
: DNS: Failed to read UDP packet. Connection refused?
: Cannot call functions in destructed objects.
: Unknown program: destructed object->function()
8:00:50 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (ecfef143):334: unknown function(0,80)
2m36.4s : pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (ecfef143):461: unknown function("www.roxen.com",0,function)
: pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1465: Protocols.DNS.async_client()->generic_get("www.roxen.com",mapping[21],-1,0,1,"a","www.roxen
.com",function,function,80)
: pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1442: Protocols.DNS.async_client()->rec_data(mapping[3]) : pike/lib/modules/Stdio.pmod/module.pmod (f654983e):3326: Protocols.DNS.async_client()->_read_callback()
: -:1: Pike.Backend(0)->`()(3600.0)
8:00:50 :
UDP: not open
-:1: Protocols.DNS.async_client()->send("192.168.50.254",53,"\216Y\1\0\0\1\0\0\0\0\0\0\3www\5roxen\3com\0\0\1\0\1")
pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1395: Protocols.DNS.async_client()->retry(Protocols.DNS.async_client()->Request(),1)
base_server/roxenloader.pike (rev 1.449):201: Protocols.DNS.async_client()->retry->`()(@0=Protocols.DNS.async_client()->Request(),1)
-:1: Pike.Backend(0)->`()(3600.0)
3m 6.4s : DNS: Failed to read UDP packet. Connection refused?
: Cannot call functions in destructed objects.
```
This is repeated infinitely. nslookup and /etc/resolv.conf on target machine:
XXXXX:~ admin$ nslookup www.roxen.com
;; Got SERVFAIL reply from 127.0.0.1, trying next server
Server: 192.168.50.254
Address: 192.168.50.254#53
Non-authoritative answer:
Name: www.roxen.com
Address: 212.247.29.226
```
XXXXX:~ admin$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 127.0.0.1
nameserver 192.168.50.254
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6013Pike dumps core in f_crypt()2011-06-29T14:59:49ZPeter BortasPike dumps core in f_crypt()Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6013
Reported by Marcus Wellhardh <wellhard@roxen.com>
Reported in [RT 17307].
A customer got multiple core dumps from a Roxen CMS 5.1.185:
```
>(gdb) bt
>#0 0xfffffd7...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6013
Reported by Marcus Wellhardh <wellhard@roxen.com>
Reported in [RT 17307].
A customer got multiple core dumps from a Roxen CMS 5.1.185:
```
>(gdb) bt
>#0 0xfffffd7fff0a4686 in ?? ()
>#1 0x0000000000591b9c in f_crypt (args=2) at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/builtin_functions.c:2935
>#2 0x0000000000463c02 in eval_instruction (pc=0xc59a92 "")
> at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/interpret_functions.h:2348
>#3 0x000000000045d964 in catching_eval_instruction (pc=0x1147059 "�8\001!O�<F\001]")
> at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/interpret.c:2245
>#4 0x0000000000466dd7 in eval_instruction (pc=0x1147055 "Z\001")
> at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/interpret_functions.h:1317
>#5 0x00000000004696a0 in f_call_function (args=0) at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/interpret.c:2213
>#6 0x0000000000559060 in new_thread_func (data=0xfffffd7fffdfd500)
> at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/threads.c:1125
>#7 0xfffffd7fff12bfbb in ?? ()
>#8 0x0000000000000000 in ?? ()
Hmm... Vad har variablerna ret och saltp för värden i frame #1?
(gdb) up
#1 0x0000000000591b9c in f_crypt (args=2) at /tmp/dist/5.0/pike.sol10_x86_64/pike/src/builtin_functions.c:2935
2935 i=!strcmp(ret,saltp);
(gdb) p ret
$1 = 0x0
(gdb) p saltp
$2 = 0x1783f50 "$apr1$b6a0dcb9$cr7NAImog6Wg7fksEL.mz0"
(gdb) list
2930 {
2931 pop_n_elems(args);
2932 push_text(ret);
2933 }else{
2934 int i;
2935 i=!strcmp(ret,saltp);
2936 pop_n_elems(args);
2937 push_int(i);
2938 }
2939 }
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5958Roxen Crawler exits on wide string2011-07-20T18:11:21ZPeter BortasRoxen Crawler exits on wide stringImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5958
Reported by Erik Allemann <erik@roxen.com>
```
RT#17020
Tested on 5.1-rel1
```
When using "Crawler" as means of indexing a site - a link containing Cyrillic chars i...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5958
Reported by Erik Allemann <erik@roxen.com>
```
RT#17020
Tested on 5.1-rel1
```
When using "Crawler" as means of indexing a site - a link containing Cyrillic chars in a form variable causes an error:
```
10:51:56 : Started indexing: support-crawler
0d21h23m : Crawler 3280: Stdio.File->write(): cannot output wide strings.
: Crawler 3280: -:1: Fd(18)->write("GET /?foo=\u0425\u043e\u043c\u0443\u0442\u044b \u0441 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u043a\u043e\u043c HTTP/1.0\r\nUser-agent: RoxenCrawler/1.0\r\nHost: hibbert.roxen.com:80\r\n\r\n"+[-86])
: Crawler 3280: -:1: Stdio.File("socket", "212.247.28.151:80", 777 /* fd=18 */)->write()
: Crawler 3280: D:/roxen/roxen-51185/server-5.1.185/pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:260: Web.Crawler.Crawler()->HTTPFetcher()->async_write()
: Crawler 3280: -:1: Pike.Backend(0)->`()(3600.0)
10:51:58 : Crawler 3280: D:\roxen\roxen-51185\server-5.1.185\pike\bin/../lib/master.pike:3894: master()->_main(({"D:/roxen/roxen-51185/server-5.1.185/pike/bin/pike","-M","modules/search/pike-modules/","modules/search/programs/multiprocess_crawler.pike","single_process"}))
0d21h23m : Crawler 3280: Exiting due to uncaught error.
```Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5939Cannot run pike files stored on FAT drives2011-05-05T08:41:59ZPeter BortasCannot run pike files stored on FAT drivesImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5939
Reported by Payman Delshad <payman@opera.com>
Cannot run pike files that are stored on a TrueCrypt FAT drive.
(Note: This problem does not happen with TrueCrypt NTFS...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5939
Reported by Payman Delshad <payman@opera.com>
Cannot run pike files that are stored on a TrueCrypt FAT drive.
(Note: This problem does not happen with TrueCrypt NTFS drives, for instance.)
Steps to reproduce:
- Install TrueCrypt (http://www.truecrypt.org/).
- Create an encrypted FAT drive.
- Mount the drive. (e.g. on F:)
- Create a pike file on the mounted drive. (e.g. F:\file.pike)
- In windows command prompt, try running "F:\> pike file.pike".
Actual result:
The file is not run and I get the following error message:
Could not find file "F:/file.pike".
Expected result:
Pike should run the file.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5936Protocols.HTTP sometimes lack Content-Length header2011-05-03T11:32:37ZPeter BortasProtocols.HTTP sometimes lack Content-Length headerImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5936
Reported by Tobias Liin <liin@roxen.com>
--- Test case ---
<insert href="http://www.roxen.com" method="post" status-variable="var.status"/>
[&var.status;]
=> [411]...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5936
Reported by Tobias Liin <liin@roxen.com>
--- Test case ---
<insert href="http://www.roxen.com" method="post" status-variable="var.status"/>
[&var.status;]
=> [411]
Running the server with HTTP_QUERY_DEBUG shows that there is no Content-Length header declared in the request.
--- Test case 2 ---
<set variable="var.b" value="b"/>
<insert href="http://www.roxen.com" method="post" status-variable="var.status"
post-variables="a=var.b"/>
[&var.status;]
=> [200]
With a message body the request now includes a Content-Length header.
Perhaps Protocols.HTTP should do Content-Length: 0 for empty http message bodies?
(by the way, insert#href does Query.async_request())Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5921The "this" keyword cannot be used to access private attribute2013-08-30T18:42:44ZPeter BortasThe "this" keyword cannot be used to access private attributeImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5921
Reported by <bouanto@hotmail.com>
Hello,
in a class, I cannot access private attribute using the "this" keyword.
If a have a "name" private attribute in a "animal"...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5921
Reported by <bouanto@hotmail.com>
Hello,
in a class, I cannot access private attribute using the "this" keyword.
If a have a "name" private attribute in a "animal" class, I can access this attribute using "name", but not using "this->name".
I got the following error :
No such variable (name) in object.
Thanks to fix this bug.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5911Missing type check in object_lower_set_index2011-03-23T22:19:44ZPeter BortasMissing type check in object_lower_set_indexImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5911
Reported by Martin Stjernholm <mast@roxen.com>
The following program dumps core in 7.9 (at least with rtldebug):
```
string s;
int main()
{
s = (mixed) Standards....Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5911
Reported by Martin Stjernholm <mast@roxen.com>
The following program dumps core in 7.9 (at least with rtldebug):
```
string s;
int main()
{
s = (mixed) Standards.UUID.make_version4();
werror ("%O\n", s);
}
```
The reason is that object_lower_set_index doesn't properly catch that an object gets assigned to the string short svalue. A type check is missing in the default clause in the switch in that function.
It appears that the rtt is PIKE_T_NO_REF_FLAG|PIKE_T_STRING in this particular case, though. Since there's no define for that combination it might be a sign that something is more seriously broken.Pike 8.0Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5832SDL.Joystick objects cause a Segmentation Fault on program exit2010-12-20T16:28:18ZPeter BortasSDL.Joystick objects cause a Segmentation Fault on program exitImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5832
Reported by <pclar7@yahoo.co.uk>
A program that creates an SDL.Joystick object reports a Segmentation Fault to the console on program exit. Otherwise, SDL.Joystick...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5832
Reported by <pclar7@yahoo.co.uk>
A program that creates an SDL.Joystick object reports a Segmentation Fault to the console on program exit. Otherwise, SDL.Joystick objects seem to function perfectly.
```
This short program will reproduce the error (you need a joystick plugged in):
int main()
{
SDL.init(SDL.INIT_VIDEO|SDL.INIT_JOYSTICK);
SDL.Surface screen = SDL.set_video_mode(640, 480, 0, SDL.SWSURFACE);
// How many joysticks?
int nj = SDL.num_joysticks();
for ( int i = 0; i < nj; ++i )
{
// Create the SDL.Joystick object.
SDL.Joystick my_joy = SDL.Joystick(i);
write("%d: %s\n", my_joy->index(), my_joy->name());
} // for
// Clean up.
SDL.quit();
return 0;
```
} // main
Here are the results of a gdb backtrace:
Reading symbols from /usr/local/bin/pike...done.
(gdb) set args try_joystick.pike
(gdb) run
Starting program: /usr/local/bin/pike try_joystick.pike
[Thread debugging using libthread_db enabled]
0: Microsoft X-Box 360 pad
```
Program received signal SIGSEGV, Segmentation fault.
0x00475caf in SDL_JoystickClose () from /usr/lib/libSDL-1.2.so.0
(gdb) backtrace
#0 0x00475caf in SDL_JoystickClose () from /usr/lib/libSDL-1.2.so.0
#1 0x003d2f2f in exit_Joystick_struct (ev=1)
at /home/zino/hack-local/Pike/distmaker-7.8/src/post_modules/SDL/SDL.cmod:1848
#2 Joystick_event_handler (ev=1)
at /home/zino/hack-local/Pike/distmaker-7.8/src/post_modules/SDL/SDL.cmod:1991
#3 0x081264b3 in destruct_object (o=0x833ea2c, reason=DESTRUCT_NO_REFS)
at /home/matthew/Downloads/Pike-v7.8.352/src/object.c:863
#4 0x08128102 in low_destruct_objects_to_destruct ()
at /home/matthew/Downloads/Pike-v7.8.352/src/object.c:986
#5 0x0807e99e in low_return ()
at /home/matthew/Downloads/Pike-v7.8.352/src/interpret.c:2051
#6 0x0807ecac in jump_opcode_F_RETURN_0 ()
at /home/zino/hack-local/Pike/7.8-distmaker/src/interpret_functions.h:1614
#7 0x003c8e41 in ?? ()
#8 0x080771cc in catching_eval_instruction (pc=<value optimised out>)
at /home/matthew/Downloads/Pike-v7.8.352/src/interpret.c:2245
#9 0x0807d05d in jump_opcode_F_CATCH ()
at /home/zino/hack-local/Pike/7.8-distmaker/src/interpret_functions.h:1287
#10 0x003992f2 in ?? ()
#11 0x08080dcd in mega_apply (type=APPLY_LOW, args=1, arg1=0x833eb6c,
arg2=0x38) at /home/matthew/Downloads/Pike-v7.8.352/src/interpret.c:2213
---Type <return> to continue, or q <return> to quit---
#12 0x08081170 in apply (o=0x8393270, fun=0x821f691 "_main", args=1)
at /home/matthew/Downloads/Pike-v7.8.352/src/interpret.c:2604
#13 0x0806a468 in main (argc=2, argv=0xbffff444)
at /home/matthew/Downloads/Pike-v7.8.352/src/main.c:634
Problem can be fixed temporarily by explicitly destroying SDL.Joystick objects before call to SDL.quit (thanks to Henrik Grubbström at Roxen):
for ( int i = 0; i < nj; ++i )
{
// Create the SDL.Joystick object.
SDL.Joystick my_joy = SDL.Joystick(i);
write("%d: %s\n", my_joy->index(), my_joy->name());
destruct(my_joy);
} // for
I am using:
Pike v7.8 release 352
on:
Linux tyglyn 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 10:18:49 UTC 2010 i686 GNU/Linux
(Ubuntu 10.10, i386)
```
Thanks.Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/5821Failed to connect postgres server when port specified2010-12-13T16:33:12ZPeter BortasFailed to connect postgres server when port specifiedImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5821
Reported by Eiichiro ITANI, <emu@ceres.dti.ne.jp>
When postgresql server is running with different port,
pike7.4 fail to connect server. I beleive it's because
some...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5821
Reported by Eiichiro ITANI, <emu@ceres.dti.ne.jp>
When postgresql server is running with different port,
pike7.4 fail to connect server. I beleive it's because
some typo in postgres.c code.
I checked with Postgres.so module with 'PGDEBUG' option defined.
On dbhost, I'm running two postgresql instance, one for port 5432 and other
for port 5433. And server listening on 5433 accept connection with those
settings, but 5432 doesn't.
```
$ pike7.4
Pike v7.4 release 693 running Hilfe v3.5 (Incremental Pike Frontend)
> object s = Sql.Sql("postgres://testuser@dbhost:5433/test_db");
pgres_create().
f_create(host=dbhost, port=(null), db=test_db, user=testuser, pass=(null)).
set_error(fe_sendauth: no password supplied
).
Could not connect to database. Reason: "fe_sendauth: no password supplied
".
Sql.postgres: Sql.postgres()->create("dbhost","test_db","testuser","",5433)
/usr/local/pike/pike7.4/pike/7.4.693/lib/modules/Sql.pmod/postgres.pike:160: Sql.postgres()->create("dbhost:5433","test_db","testuser","CENSORED")
/usr/local/pike/pike7.4/pike/7.4.693/lib/modules/Sql.pmod/Sql.pike:232: Sql.Sql()->create("postgres://testuser@dbhost:5433/test_db","test_db","testuser","CENSORED",UNDEFINED)
pgres_destroy().
```
I checked postgres.c and wrote patch. Now I can connect to postgres on port
5433.
```
$ pike7.4
Pike v7.4 release 693 running Hilfe v3.5 (Incremental Pike Frontend)
> object s = Sql.Sql("postgres://neowww@dbhost:5433/neowing_db");
>
```
I know pike7.4 is obsolete already, but I need it for Roxen4.5 running.
Could you check this?
I'll attach my patch later.Pike 7.4Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbström