This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
"PANIC: zinit: Out of memory" when num sockets increased to 64
- From: Grant Edwards <grante at visi dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: Tue, 8 Apr 2008 20:14:52 +0000 (UTC)
- Subject: [ECOS] "PANIC: zinit: Out of memory" when num sockets increased to 64
I'm testing some application code using the pc_rltk8139 target
and the net template. It works fine using the default
FILEIO_NFD and FILEIO_NFILE valus of 16. But one of the tests
I need to run involves opening and closing a TCP connection
about 40 times in a row. This test takes a while, since on the
17th iteration the network stack runs out of sockets and stalls
while the 16 zombie sockets that are all in the TIME_WAIT state
hang around until they timeout and go away.
So, I increated FILEIO_NFD and FILEIO_NFILE to 64, which means
there are 64 sockets available.
But now the app fails to start up:
Booting '/server.elf'
kernel /server.elf
[Multiboot-elf, <0x108000:0x4a860:0x879f8>, shtab=0x1db1e0, entry=0x108000]
[cyg_net_init] Init: mbinit(0x00000000)
[cyg_net_init] Init: cyg_net_init_devs(0x00000000)
Init device 'rltk8139_eth0'
[cyg_net_init] Init: loopattach(0x00000000)
[cyg_net_init] Init: ifinit(0x00000000)
[cyg_net_init] Init: domaininit(0x00000000)
[cyg_net_init] Init: cyg_net_add_domain(0x00152040)
New domain internet at 0x00000000
PANIC: zinit: Out of memory
The target configuration is set for 16MB of RAM, and my
application isn't all that large:
$ size server.elf
text data bss dec hex filename
298992 6248 555512 860752 d2250 server.elf
So there's well over 15MB of unallocated RAM. That seems like
more than enough RAM to handle 64 sockets.
Why am I getting a panic on startup?
--
Grant Edwards grante Yow! Didn't I buy a 1951
at Packard from you last March
visi.com in Cairo?
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss