Date: Tue, 18 Jan 2000 01:58:02 +0200 From: Iani Brankov <ian@bulinfo.net> To: hackers@freebsd.org Subject: The stack size for a process? Message-ID: <3883AC8A.7A6F7D5F@bulinfo.net>
next in thread | raw e-mail | index | archive | help
Hi, after making world of a CURRENT cvsupped yesterday, one of my applications stopped working because of a Segmentation fault. The C procedure where the problem pops has about 64k local variables. here's the assembly output of the procedure's beginning: 0x805bb60 <transaction_read_objects>: pushl %ebp 0x805bb61 <transaction_read_objects+1>: movl %esp,%ebp 0x805bb63 <transaction_read_objects+3>: subl $0x1000c,%esp 0x805bb69 <transaction_read_objects+9>: pushl %edi The Segmentation fault happens when the process tries to push %edi in the stack, which has been just decreased by 0x1000c. here's the stack in the beginning of main(): esp 0xbfbfd744 ss 0x27 and after the fault: esp 0xbfacae68 ss 0x27 If I decrease the size of the local vars, it goes ok. It's interesting, because I made a simple test using 640k local vars, and it worked! void ab() { char buf[655360]; buf[0] = 0; buff[655359] = 0; } main () { ab(); } --iani To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3883AC8A.7A6F7D5F>