Rebol - core dump
[1/6] from: nigelb:anix at: 15-Jan-2001 11:07
I'm trying to run the script below on rebol/core (also tried view).
The script continually reads http pages from a web server and reports any
difference in subsequent reads to a log file. The script works fine but
crashes after 3-4 hrs hours with a segmentation fault or core dump - I'm
running Mandrake 6.1 Linux & Rebol/core 2.3.0.4.2.
Any ideas about how I can solve the problem - I should be testing the web
server for a crash problem & all I can get is Rebol crashing :-((
Thanks
Nigel
REBOL []
urls_to_check: make block! read %stress_urls.txt
result_blk: []
old_result_blk: []
secure [file allow]
forever [
foreach [url description] urls_to_check [
if error? url_result: try
[checksum read make url! url]
[url_result: disarm :url_result]
switch type?/word url_result [
integer! [
url_result: join "Checksum = " [to-string url_result]
]
object! [
url_result: join "Access Error = " [to-string url_result/code]
]
]
print url_result
print newline
append result_blk join url [" " description " " url_result newline]
]
if result_blk <> old_result_blk [
write/append %results.txt join now [newline result_blk newline]
]
old_result_blk: copy result_blk
clear result_blk
]
[2/6] from: arolls:bigpond:au at: 16-Jan-2001 0:27
I vaguely remember an earlier post like this.
Someone suggested at the time to occasionally do a 'recycle.
Try recycling, say, every 50 iterations and see how it goes.
I'm running your script here to try it out and see if I get
the same problem foreach version
["REBOL/Core 2.3.0.3.1 24-Jun-2000"
REBOL/View 0.10.38.3.1 28-Nov-2000
]
Is your list of urls private? (consider posting [to me]).
Anton.
> I'm trying to run the script below on rebol/core (also tried view).
> The script continually reads http pages from a web server and reports any
<<quoted lines omitted: 3>>
> Any ideas about how I can solve the problem - I should be testing the web
> server for a crash problem & all I can get is Rebol crashing :-((
REBOL []
urls_to_check: make block! read %stress_urls.txt
result_blk: []
old_result_blk: []
secure [file allow]
forever [
foreach [url description] urls_to_check [
if error? url_result: try
[checksum read make url! url]
[url_result: disarm :url_result]
switch type?/word url_result [
integer! [
url_result: join "Checksum = " [to-string url_result]
]
object! [
url_result: join "Access Error = " [to-string url_result/code]
]
]
print url_result
print newline
append result_blk join url [" " description " " url_result newline]
]
if result_blk <> old_result_blk [
write/append %results.txt join now [newline result_blk newline]
]
old_result_blk: copy result_blk
clear result_blk
]
[3/6] from: nigelb::anix::co::uk at: 15-Jan-2001 14:06
Thanks Anton
I did try adding:
recycle/off immediately after forever [
recycle/on immediately after clear result_blk
and a recycle immediately after that
but it didn't seem to make any difference. Perhaps I didn't put the code in
the right place?
The url's I'm looking at are internal, behind a firewall, so not available
for public access but they are just static html pages served from an IBM
http server on a Windows NT machine. I don't think the html content is the
issue.
Nigel
[4/6] from: arolls:bigpond:au at: 16-Jan-2001 1:43
> Thanks Anton
> I did try adding:
<<quoted lines omitted: 4>>
> the code in
> the right place?
You got a segfault already with 'recycle?
Is it always 3-4 hours that it crashes or
is that an average?
(Does adding 'recycle decrease the time?)
> The url's I'm looking at are internal, behind a firewall, so not available
> for public access but they are just static html pages served from an IBM
> http server on a Windows NT machine. I don't think the html content is the
> issue.
You're probably right. (but you could be wrong - perhaps the
server doesn't always return the full page, possibly causing
a problem? or returns too much data occasionally...)
I've been running your script for ~2 hours now on win2k.
No segfaults yet. I'll let it run overnight.
Someone more senior might know.
Anton.
[5/6] from: arolls:bigpond:au at: 16-Jan-2001 15:30
Now it's been running overnight for at least 13 hours,
on the same versions:
REBOL/Core 2.3.0.3.1 24-Jun-2000
REBOL/View 0.10.38.3.1 28-Nov-2000
> I've been running your script for ~2 hours now on win2k.
> No segfaults yet. I'll let it run overnight.
Anton.
[6/6] from: gate:keeper:totalise at: 16-Jan-2001 8:16
Thanks for testing that Anton.
I tried adding the recycle code last week when I got the problem - in the
limiting testing I did it didn''t seem to make much difference. The code
always seems to crash in the 3-5hr time frame.
I think I'll put a Windows machine on the network and run the code again
under Windows. Could this be a first - Windows more reliable than Linux?
Thanks again
Nigel
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted