Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!HP-SDE.SDE.HP.COM!glenne%hplsla From: glenne%hplsla@HP-SDE.SDE.HP.COM (Glenn Engel) Newsgroups: gnu.gdb.bug Subject: segmentation violation with large symbol tables Message-ID: <8903151523.AA12651@labgre.HP.COM> Date: 15 Mar 89 15:23:02 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 17 I received a segmentation violation when attempting to read a file which had a 2.1 Mbyte symbol table. A backtrace revealed the culprit to be the alloca() call near line 1500 of dbxread.c in symbol_file_command(). I'm not sure whether this is a gdb problem or a kernel bug. What seems to be happening is the kernel is generating a segmentation violation when the stack is extended in alloca. Evidently it assumes a 2.1 Mbyte stack extension all at once really means the program is out-to-lunch. Another possibility is that there is a kernel parameter that needs to be tuned for this type of application. At any rate, changing the alloca to malloc fixes my problem but also requires a free at the end of the function. -- | Glenn R. Engel | Hewlett-Packard | (206) 335-2066 | glenne%hplsla@hplabs.hp.com