Hi Guys,
First, on the release branch in libdp/flowControl.hh I see:
Bool wakeUpCheck(LongTime *t){
return first != NULL && t > &time;}
shouldn't that be:
Bool wakeUpCheck(LongTime *t){
return first != NULL && *t > time;}
I think the original only checks pointers, while the second invokes
the class specific comparison operators. Can you confirm? Btw, I'd
be grateful, if someone could figure out if the HZ bump which forced
me to revise os.cc could also affect tasks (by way of the 1st arg of
check and process procs).
Second, the problem with DP/gcc 3.2 is even stranger than I thought.
I tried to combine Dragan's "freelist avoidance patches" with my new
implementation, but that did not help. I managed to get some DP
tracing info (which I include below) between two processes, both on my
laptop (off the net): Process 1 offers atom foo and Process 2 takes
the corresponding ticket.
The short story is that, while Process 2 works a lot, Process 1 never
sees anything. I include the traces below and hope someone can
suggest a way to proceed with debugging: the trace information just
does not speak to me.
---------- [Process 1: program]
declare [DP] = {Link ['x-oz://system/DPInit']} {Wait DP}
declare [DP] = {Link ['x-oz://boot/DPMisc']} {Wait DP}
for I in 0..49 do {DP.dvset I 1} end
{Show {Connection.offer 'foo'}}
---------- [Process 1: trace]
SITE: add hvalue:183535779 site:type:64 134.96.186.163:9000:1037831570/23089
'x-ozticket://134.96.186.163:9000:7bMlry:azt/y:w:x:s:YEOOqw'
---------- [Process 2: program]
declare [DP] = {Link ['x-oz://system/DPInit']} {Wait DP}
declare [DP] = {Link ['x-oz://boot/DPMisc']} {Wait DP}
for I in 0..49 do {DP.dvset I 1} end
declare X={Connection.take 'x-ozticket://134.96.186.163:9000:7bMlry:azt/y:w:x:s:YEOOqw'}
---------- [Process 2: trace]
SITE: add hvalue:183535795 site:type:64 134.96.186.163:9001:1037831587/23095
SITE: unmarshalsite NONE
SITE: add hvalue:183535779 site:type:65535 134.96.186.163:9000:1037831570/23089
SITE: initsite DIF_SITE
HASH: find Place hvalue=79169552, net139169912:0
LOOKUP: borrow not found
CREDIT_NEW: borrow_new::persistent 84b9078 0
HASH: find Place hvalue=79169552, net139169912:0
HASH: adding hvalue=79169552 net=139169912:0 bindex=0
TABLE: borrow insert: b:0
delay(30000)
NET_HANDLER: Watcher installed on tertiary 404fb680
SITE: connect, the type of this site: 1
TCP_INTERFACE: Installing probe 0<x<30000, at 5000
SITE: connect; not connected yet, connecting to remote 139097056
SITE: connect, the type of this site: 9
SITE: getComObj returning the remote 139097056
TCP_INTERFACE: ---send: ping fr 23095 to 23089
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
NET_HANDLER: Watcher installed on tertiary 404fb680
PORT: sendingTo type:9 134.96.186.163:9000:1037831570/23089 0
SITE: connect, the type of this site: 9
SITE: connect, the type of this site: 9
SITE: getComObj returning the remote 139097056
TCP_INTERFACE: ---send: port_send fr 23095 to 23089
TABLE: owner insert: o:1
GLOBALIZING: globalize var index:1
CREDIT_NEW: owner::getCreditBig 1 524288 0
TCP_INTERFACE: Time to check timers at 11950 (since last 100)
TCP_INTERFACE: Time to check timers at 11950 (since last 100)
TCP_INTERFACE: Time to check timers at 12050 (since last 200)
TCP_INTERFACE: Time to check timers at 12050 (since last 200)
TCP_INTERFACE: Time to check timers at 12150 (since last 300)
TCP_INTERFACE: Time to check timers at 12150 (since last 300)
TCP_INTERFACE: Time to check timers at 12250 (since last 400)
TCP_INTERFACE: Time to check timers at 12250 (since last 400)
TCP_INTERFACE: Time to check timers at 12350 (since last 500)
TCP_INTERFACE: Time to check timers at 12350 (since last 500)
TCP_INTERFACE: Time to check timers at 12450 (since last 600)
TCP_INTERFACE: Time to check timers at 12450 (since last 600)
TCP_INTERFACE: Time to check timers at 12550 (since last 700)
TCP_INTERFACE: Time to check timers at 12550 (since last 700)
TCP_INTERFACE: Time to check timers at 12650 (since last 800)
TCP_INTERFACE: Time to check timers at 12650 (since last 800)
TCP_INTERFACE: Time to check timers at 12750 (since last 900)
TCP_INTERFACE: Time to check timers at 12750 (since last 900)
TCP_INTERFACE: Time to check timers at 12850 (since last 1000)
TCP_INTERFACE: Time to check timers at 12850 (since last 1000)
TCP_INTERFACE: Time to check timers at 13850 (since last 2000)
TCP_INTERFACE: Time to check timers at 13850 (since last 2000)
TCP_INTERFACE: Time to check timers at 14850 (since last 3000)
TCP_INTERFACE: Time to check timers at 14850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 14850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 14850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 14850 to 500
TCP_INTERFACE: Time to check timers at 15850 (since last 1000)
TCP_INTERFACE: Time to check timers at 15850 (since last 1000)
TCP_INTERFACE: Time to wake up timers at 15850 (since last 1000)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 15950 (since last 100)
TCP_INTERFACE: Time to check timers at 15950 (since last 100)
TCP_INTERFACE: Time to check timers at 16050 (since last 200)
TCP_INTERFACE: Time to check timers at 16050 (since last 200)
TCP_INTERFACE: Time to check timers at 16150 (since last 300)
TCP_INTERFACE: Time to check timers at 16150 (since last 300)
TCP_INTERFACE: Time to check timers at 16250 (since last 400)
TCP_INTERFACE: Time to check timers at 16250 (since last 400)
TCP_INTERFACE: Time to check timers at 16350 (since last 500)
TCP_INTERFACE: Time to check timers at 16350 (since last 500)
TCP_INTERFACE: Time to check timers at 16450 (since last 600)
TCP_INTERFACE: Time to check timers at 16450 (since last 600)
TCP_INTERFACE: Time to check timers at 16550 (since last 700)
TCP_INTERFACE: Time to check timers at 16550 (since last 700)
TCP_INTERFACE: Time to check timers at 16650 (since last 800)
TCP_INTERFACE: Time to check timers at 16650 (since last 800)
TCP_INTERFACE: Time to check timers at 16750 (since last 900)
TCP_INTERFACE: Time to check timers at 16750 (since last 900)
TCP_INTERFACE: Time to check timers at 16850 (since last 1000)
TCP_INTERFACE: Time to check timers at 16850 (since last 1000)
TCP_INTERFACE: Time to check timers at 17850 (since last 2000)
TCP_INTERFACE: Time to check timers at 17850 (since last 2000)
TCP_INTERFACE: Time to check timers at 18850 (since last 3000)
TCP_INTERFACE: Time to check timers at 18850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 18850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 18850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 18850 to 750
TCP_INTERFACE: Time to check timers at 19850 (since last 1000)
TCP_INTERFACE: Time to check timers at 19850 (since last 1000)
TCP_INTERFACE: Time to wake up timers at 19850 (since last 1000)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 19950 (since last 100)
TCP_INTERFACE: Time to check timers at 19950 (since last 100)
TCP_INTERFACE: Time to check timers at 20050 (since last 200)
TCP_INTERFACE: Time to check timers at 20050 (since last 200)
TCP_INTERFACE: Time to check timers at 20150 (since last 300)
TCP_INTERFACE: Time to check timers at 20150 (since last 300)
TCP_INTERFACE: Time to check timers at 20250 (since last 400)
TCP_INTERFACE: Time to check timers at 20250 (since last 400)
TCP_INTERFACE: Time to check timers at 20350 (since last 500)
TCP_INTERFACE: Time to check timers at 20350 (since last 500)
TCP_INTERFACE: Time to check timers at 20450 (since last 600)
TCP_INTERFACE: Time to check timers at 20450 (since last 600)
TCP_INTERFACE: Time to check timers at 20550 (since last 700)
TCP_INTERFACE: Time to check timers at 20550 (since last 700)
TCP_INTERFACE: Time to check timers at 20650 (since last 800)
TCP_INTERFACE: Time to check timers at 20650 (since last 800)
TCP_INTERFACE: Time to check timers at 20750 (since last 900)
TCP_INTERFACE: Time to check timers at 20750 (since last 900)
TCP_INTERFACE: Time to check timers at 20850 (since last 1000)
TCP_INTERFACE: Time to check timers at 20850 (since last 1000)
TCP_INTERFACE: Time to check timers at 21850 (since last 2000)
TCP_INTERFACE: Time to check timers at 21850 (since last 2000)
TCP_INTERFACE: Time to check timers at 22850 (since last 3000)
TCP_INTERFACE: Time to check timers at 22850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 22850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 22850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 22850 to 1125
TCP_INTERFACE: Time to check timers at 23850 (since last 1000)
TCP_INTERFACE: Time to check timers at 23850 (since last 1000)
TCP_INTERFACE: Time to check timers at 24850 (since last 2000)
TCP_INTERFACE: Time to check timers at 24850 (since last 2000)
TCP_INTERFACE: Time to wake up timers at 24850 (since last 2000)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 24950 (since last 100)
TCP_INTERFACE: Time to check timers at 24950 (since last 100)
TCP_INTERFACE: Time to check timers at 25050 (since last 200)
TCP_INTERFACE: Time to check timers at 25050 (since last 200)
TCP_INTERFACE: Time to check timers at 25150 (since last 300)
TCP_INTERFACE: Time to check timers at 25150 (since last 300)
TCP_INTERFACE: Time to check timers at 25250 (since last 400)
TCP_INTERFACE: Time to check timers at 25250 (since last 400)
TCP_INTERFACE: Time to check timers at 25350 (since last 500)
TCP_INTERFACE: Time to check timers at 25350 (since last 500)
TCP_INTERFACE: Time to check timers at 25450 (since last 600)
TCP_INTERFACE: Time to check timers at 25450 (since last 600)
TCP_INTERFACE: Time to check timers at 25550 (since last 700)
TCP_INTERFACE: Time to check timers at 25550 (since last 700)
TCP_INTERFACE: Time to check timers at 25650 (since last 800)
TCP_INTERFACE: Time to check timers at 25650 (since last 800)
TCP_INTERFACE: Time to check timers at 25750 (since last 900)
TCP_INTERFACE: Time to check timers at 25750 (since last 900)
TCP_INTERFACE: Time to check timers at 25850 (since last 1000)
TCP_INTERFACE: Time to check timers at 25850 (since last 1000)
TCP_INTERFACE: Time to check timers at 26850 (since last 2000)
TCP_INTERFACE: Time to check timers at 26850 (since last 2000)
TCP_INTERFACE: Time to check timers at 27850 (since last 3000)
TCP_INTERFACE: Time to check timers at 27850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 27850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 27850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 27850 to 1687
TCP_INTERFACE: Time to check timers at 28850 (since last 1000)
TCP_INTERFACE: Time to check timers at 28850 (since last 1000)
TCP_INTERFACE: Time to check timers at 29850 (since last 2000)
TCP_INTERFACE: Time to check timers at 29850 (since last 2000)
TCP_INTERFACE: Time to wake up timers at 29850 (since last 2000)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 29950 (since last 100)
TCP_INTERFACE: Time to check timers at 29950 (since last 100)
TCP_INTERFACE: Time to check timers at 30050 (since last 200)
TCP_INTERFACE: Time to check timers at 30050 (since last 200)
TCP_INTERFACE: Time to check timers at 30150 (since last 300)
TCP_INTERFACE: Time to check timers at 30150 (since last 300)
TCP_INTERFACE: Time to check timers at 30250 (since last 400)
TCP_INTERFACE: Time to check timers at 30250 (since last 400)
TCP_INTERFACE: Time to check timers at 30350 (since last 500)
TCP_INTERFACE: Time to check timers at 30350 (since last 500)
TCP_INTERFACE: Time to check timers at 30450 (since last 600)
TCP_INTERFACE: Time to check timers at 30450 (since last 600)
TCP_INTERFACE: Time to check timers at 30550 (since last 700)
TCP_INTERFACE: Time to check timers at 30550 (since last 700)
TCP_INTERFACE: Time to check timers at 30650 (since last 800)
TCP_INTERFACE: Time to check timers at 30650 (since last 800)
TCP_INTERFACE: Time to check timers at 30750 (since last 900)
TCP_INTERFACE: Time to check timers at 30750 (since last 900)
TCP_INTERFACE: Time to check timers at 30850 (since last 1000)
TCP_INTERFACE: Time to check timers at 30850 (since last 1000)
TCP_INTERFACE: Time to check timers at 31850 (since last 2000)
TCP_INTERFACE: Time to check timers at 31850 (since last 2000)
TCP_INTERFACE: Time to check timers at 32850 (since last 3000)
TCP_INTERFACE: Time to check timers at 32850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 32850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 32850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 32850 to 2530
TCP_INTERFACE: Time to check timers at 33850 (since last 1000)
TCP_INTERFACE: Time to check timers at 33850 (since last 1000)
TCP_INTERFACE: Time to check timers at 34850 (since last 2000)
TCP_INTERFACE: Time to check timers at 34850 (since last 2000)
TCP_INTERFACE: Time to check timers at 35850 (since last 3000)
TCP_INTERFACE: Time to check timers at 35850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 35850 (since last 3000)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 35950 (since last 100)
TCP_INTERFACE: Time to check timers at 35950 (since last 100)
TCP_INTERFACE: Time to check timers at 36050 (since last 200)
TCP_INTERFACE: Time to check timers at 36050 (since last 200)
TCP_INTERFACE: Time to check timers at 36150 (since last 300)
TCP_INTERFACE: Time to check timers at 36150 (since last 300)
TCP_INTERFACE: Time to check timers at 36250 (since last 400)
TCP_INTERFACE: Time to check timers at 36250 (since last 400)
TCP_INTERFACE: Time to check timers at 36350 (since last 500)
TCP_INTERFACE: Time to check timers at 36350 (since last 500)
TCP_INTERFACE: Time to check timers at 36450 (since last 600)
TCP_INTERFACE: Time to check timers at 36450 (since last 600)
TCP_INTERFACE: Time to check timers at 36550 (since last 700)
TCP_INTERFACE: Time to check timers at 36550 (since last 700)
TCP_INTERFACE: Time to check timers at 36650 (since last 800)
TCP_INTERFACE: Time to check timers at 36650 (since last 800)
TCP_INTERFACE: Time to check timers at 36750 (since last 900)
TCP_INTERFACE: Time to check timers at 36750 (since last 900)
TCP_INTERFACE: Time to check timers at 36850 (since last 1000)
TCP_INTERFACE: Time to check timers at 36850 (since last 1000)
TCP_INTERFACE: Time to check timers at 37850 (since last 2000)
TCP_INTERFACE: Time to check timers at 37850 (since last 2000)
TCP_INTERFACE: Time to check timers at 38850 (since last 3000)
TCP_INTERFACE: Time to check timers at 38850 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 38850 (since last 3000)
TCP_INTERFACE: openTimerExpired at 38850 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 38850 to 3795
TCP_INTERFACE: Time to check timers at 39850 (since last 1000)
TCP_INTERFACE: Time to check timers at 39850 (since last 1000)
TCP_INTERFACE: Time to check timers at 40850 (since last 2000)
TCP_INTERFACE: Time to check timers at 40850 (since last 2000)
TCP_INTERFACE: Time to check timers at 41829 (since last 2979)
TCP_INTERFACE: Time to check timers at 41829 (since last 2979)
delay(done)
one(_<dist:mgr> _<optimized>#time)
two(_<dist:mgr> _<optimized>#time)
NET_HANDLER: Watcher deinstalled
NET_HANDLER: Watcher deinstalled
%*********************** Error: connections *********************
%**
%** connection(ticketTakeTimeOut 'x-ozticket://134.96.186.163:9000:7bMlry:azt/y:w:x:s:YEOOqw')
%**
%** Call Stack:
%** procedure 'TakeWithTimer' in file "/home/denys/src/Mozart/Denys/mozart3/share/lib/dp/Connection.oz", line 233, column 3, PC = 139075192
%**--------------------------------------------------------------
TCP_INTERFACE: Time to check timers at 42829 (since last 3979)
TCP_INTERFACE: Time to check timers at 42829 (since last 3979)
TCP_INTERFACE: Time to wake up timers at 42829 (since last 3979)
TCP_INTERFACE: ***** Connection to 23089 (84a73e0) initiated *****
TCP_INTERFACE: Time to check timers at 42929 (since last 100)
TCP_INTERFACE: Time to check timers at 42929 (since last 100)
TCP_INTERFACE: Time to check timers at 43029 (since last 200)
TCP_INTERFACE: Time to check timers at 43029 (since last 200)
TCP_INTERFACE: Time to check timers at 43129 (since last 300)
TCP_INTERFACE: Time to check timers at 43129 (since last 300)
TCP_INTERFACE: Time to check timers at 43229 (since last 400)
TCP_INTERFACE: Time to check timers at 43229 (since last 400)
TCP_INTERFACE: Time to check timers at 43329 (since last 500)
TCP_INTERFACE: Time to check timers at 43329 (since last 500)
TCP_INTERFACE: Time to check timers at 43429 (since last 600)
TCP_INTERFACE: Time to check timers at 43429 (since last 600)
TCP_INTERFACE: Time to check timers at 43529 (since last 700)
TCP_INTERFACE: Time to check timers at 43529 (since last 700)
TCP_INTERFACE: Time to check timers at 43629 (since last 800)
TCP_INTERFACE: Time to check timers at 43629 (since last 800)
TCP_INTERFACE: Time to check timers at 43729 (since last 900)
TCP_INTERFACE: Time to check timers at 43729 (since last 900)
TCP_INTERFACE: Time to check timers at 43829 (since last 1000)
TCP_INTERFACE: Time to check timers at 43829 (since last 1000)
TCP_INTERFACE: Time to check timers at 44829 (since last 2000)
TCP_INTERFACE: Time to check timers at 44829 (since last 2000)
TCP_INTERFACE: Time to check timers at 45829 (since last 3000)
TCP_INTERFACE: Time to check timers at 45829 (since last 3000)
TCP_INTERFACE: Time to wake up timers at 45829 (since last 3000)
TCP_INTERFACE: openTimerExpired at 45829 84a73e0
TCPCACHE: ---Closing a connection at 23095 (comObj 84a73e0) from state 1 to 3
TCP_INTERFACE: problem timer set at 45829 to 5692
TCP_INTERFACE: Time to check timers at 46829 (since last 1000)
TCP_INTERFACE: Time to check timers at 46829 (since last 1000)
...
--Denys
-
Please send submissions to hackers@mozart-oz.org
and administriva mail to hackers-request@mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.