This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: ASSERT: cyg_callout_reset() We didn't pick the smallest delta!
Gary Thomas <gthomas@ecoscentric.com> writes:
> > Nope, my last update was Nov 6. However, now I've merged the latest
> > CVS, and this assert goes away. Now I'm consistently hitting the
> > assert below, the "delta is right now" one.
> >
>
> Harrumph! I've never seen that one. Maybe you could detect this case
> and print some data so we can analyze the failure (asserts are nice, but
> sometimes one needs more). Something like this:
> if (delta <= 0) {
> diag_printf("Bad delta: %d, callout: %p, fun: %p(%x)\n", delta, c, f, p);
This run shows a failure with your suggested diag_printf(). I've also
included some relevant parts of 'nm'
Kev
[cyg_net_init] Init: mbinit(0x00000000)
[cyg_net_init] Init: cyg_net_init_devs(0x00000000)
Init device 'i82559_eth0'
eth0 XXX: driver didn't set ifq_maxlen
[cyg_net_init] Init: loopattach(0x00000000)
[cyg_net_init] Init: ifinit(0x00000000)
IFP: 0x801f6f50, next: 0x804c1284
IFP: 0x804c1284, next: 0x00000000
[cyg_net_init] Init: domaininit(0x00000000)
[cyg_net_init] Init: cyg_net_add_domain(0x801faa40)
New domain internet at 0x00000000
[cyg_net_init] Init: cyg_net_add_domain(0x801f9a60)
New domain route at 0x00000000
[cyg_net_init] Init: cyg_route_init(0x00000000)
[cyg_net_init] Done
Start Network Characterization - SLAVE
BOOTP[eth0] op: REQUEST
htype: Ethernet
hlen: 6
hops: 0
xid: 0xa0acffbd
secs: 0
flags: 0x80
hw_addr: 00:02:b3:1b:f1:bd
client IP: 0.0.0.0
my IP: 10.0.16.152
server IP: 10.0.16.20
gateway IP: 0.0.0.0
options:
DHCP message: 3 REQUEST
DHCP server id: 10.0.16.20
DHCP time 51: 604800
DHCP time 58: 302400
DHCP time 59: 529200
subnet mask: 255.255.255.0
gateway: 10.0.16.1
domain server: 10.0.16.20, 10.0.0.20
domain name: sea.equator.com
DHCP option: 37/55.9: 54 51 58 59 1 3 6 15 28
DHCP option: 39/57.2: 576
DHCP requested ip: 10.0.16.152
No load = 170610
Set background load = 20%
Set background load = 0%
High Load[20] = 167715 => 2%
Set background load = 20%
Set background load = 0%
High Load[40] = 168664 => 2%
Set background load = 20%
Set background load = 0%
High Load[80] = 167876 => 2%
Set background load = 20%
Set background load = 0%
High Load[160] = 166217 => 3%
Set background load = 20%
Set background load = 0%
High Load[320] = 163017 => 5%
Set background load = 20%
Set background load = 0%
High Load[640] = 156668 => 9%
Set background load = 20%
Set background load = 0%
High Load[1280] = 143882 => 16%
Set background load = 20%
Set background load = 0%
High Load[2560] = 118385 => 31%
Set background load = 20%
Set background load = 0%
Load[1920] = 131203 => 24%
Set background load = 20%
Set background load = 0%
Load[1600] = 137707 => 20%
Set background load = 20%
Set background load = 0%
Final load[1600] = 137665 => 20%
Start test for eth0
TCP echo - 64 buffers, 10240 bytes
connection from 10.0.16.79.51008
Bad delta: 0, callout: 0x8034b868, fun: 0x8018a7a8(8034b750)
ASSERT FAIL: <3>timeout.c[321]cyg_callout_reset() delta is right now, or even sooner!
ASSERT FAIL: <3>timeout.c [ 321] cyg_callout_reset() delta is right now, or even sooner!
It appears that callout is somewhere in net_mempool_area, fun is
cyg_tcp_timer_2msl and p is also somewhere net_mempool_area.
Parts of nm output (I can send the whole thing if necessary):
8018a420 T cyg_tcp_slowtimo
8018a4b4 T cyg_tcp_canceltimers
8018a5ac T cyg_tcp_timer_delack
8018a7a8 T cyg_tcp_timer_2msl
8018aaa8 T cyg_tcp_timer_keep
8018b070 T cyg_tcp_timer_persist
8018b470 T cyg_tcp_timer_rexmt
8018bc20 T cyg_tcp_init
8018bed4 T cyg_tcp_fillheaders
8018c028 T cyg_tcp_maketemplate
8018c0f4 T cyg_tcp_respond
8018c934 T cyg_tcp_newtcpcb
8018cbc0 T cyg_tcp_drop
8018cd34 T cyg_tcp_close
8018d6cc T cyg_tcp_drain
8018d924 t tcp_notify
8018dab8 T cyg_tcp_ctlinput
8018dff0 T cyg_tcp_new_isn
8018e494 T cyg_tcp_quench
8018e4c8 T cyg_tcp_drop_syn_sent
8018e5b0 T cyg_tcp_mtudisc
8018e874 T cyg_tcp_rtlookup
8018e9d0 T cyg_tcp_gettaocache
[...]
8033eb20 b net_mem
8033eb40 b net_mbufs
8033eb60 b net_clusters
8033eb80 b vm_zones
8033eba0 b net_mempool_area
8034eba0 b net_mem_pool
8034ebc8 b net_mbufs_area
8035ebc8 b net_mbufs_pool
8035ebec b net_clusters_area
8037ebec b net_clusters_pool
8037ec10 b net_clusters_refcnt
8037ec60 b _netisr_handlers
8037ece0 b .ktime_alarm.41
8037ed20 b netint_thread_data
8037edd8 b netint_stack
80394358 b netint_thread_handle
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss