slavapestov/factor — Issue #276: benchmark.tcp-echo0 causes crashes
Author: erg
Created: 2011-10-18 17:32:56+00:00
State: open

The tcp-echo benchmark opens a server/client TCP connection and sends an n-byte byte-array #times times. Right now it's set to send a 64mb file 4 times, and running this on my Mac hardlocks it after awhile and you have to reboot (swapping too much?).

So I turned it down to 2 25^ 1- (32mb) and got this:

```
Error in thread 1106 (server connection from T{ inet4 f "127.0.0.1" 49296 }, [ ~duplex-stream~ ~inet4~ ~inet4~ handle-client ]):
Memory protection fault at address 11dcc0000
You have triggered a bug in Factor. Please report.
critical_error: Bad frame type: 3
Starting low level debugger...
Basic commands:
q -- continue executing Factor - NOT SAFE
im -- save image to fep.image
x -- exit Factor
Advanced commands:
d -- dump memory
u -- dump object at tagged
. -- print object at tagged
t -- toggle output trimming
s r -- dump data, retain stacks
.s .r .c -- print data, retain, call stacks
e -- dump environment
g -- dump generations
data -- data heap dump
words -- words dump
tuples -- tuples dump
refs -- find data heap references to object
push -- push object on data stack - NOT SAFE
code -- code heap dump
READY
==== DATA STACK:
T{ io.streams.duplex:duplex-stream T{ io.ports:input-port syntax:t f T{ io.backend.unix:fd syntax:t f 20 } T{ calendar:duration 0 0 0 0 1 0 } T{ io.buffers:buffer 65536 # 0 0 syntax:t } } T{ io.ports:output-port syntax:t f T{ io.backend.unix:fd syntax:t f 20 } T{ calendar:duration 0 0 0 0 1 0 } T{ io.buffers:buffer 65536 # 0 0 syntax:t } } }
T{ io.sockets:inet4 "127.0.0.1" 49296 }
T{ io.sockets:inet4 "0.0.0.0" 49295 }
Error in thread 1106 (server connection from T{ inet4 f "127.0.0.1" 49296 }, [ ~duplex-stream~ ~inet4~ ~inet4~ handle-client ]):
Memory protection fault at address 10001cdf0
T{ dlists.private:dlist-node T{ threads:thread "Log server" T{ kernel:curry [ namespaces:init-namespaces [ logging.server:log-server-loop ] [ debugger:error. logging.server:(close-logs) ] continuations:recover syntax:t ] [ kernel:loop ] } [ ] 47 T{ boxes:box # syntax:t } f syntax:t T{ concurrency.mailboxes:mailbox T{ dlists:dlist f f } T{ dlists:dlist T{ dlists.private:dlist-node { "log-message" { "Memory protection fault at address 11dcae000" "" } "handle-client" "ERROR" "server" } f f } T{ dlists.private:dlist-node { "log-message" { "Memory protection fault at address 11dcae000" "" } "handle-client" "ERROR" "server" } f f } } } T{ hashtables:hashtable 0 0 { T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{ hashtables.private:tombstone f } } } f } T{You have triggered a bug in Factor. Please report.
critical_error: Bad frame type: 3
Low level debugger disabled
([0x0-0x19019].org.factorcode.Factor[310]) Exited with exit code: 1```