Breakpoint 2, insert_symbol (sym=0xbfffe25c) at symbols.c:197
197         if (!((node = (struct node *)malloc(sizeof(struct node)))  &&
(gdb) l 197
192
193     enum flag insert_symbol(struct symbol *sym)
194     {
195         struct node  *node;
196
197         if (!((node = (struct node *)malloc(sizeof(struct node)))  &&
198               (node->data = (struct symbol *)malloc(sizeof(struct 
symbol))))) {
199             fprintf(stderr, sym_tab_msg[MEMORY_ALLOCATION_FAILURE]);
200             return FALSE;
201         }
(gdb) n

Program received signal SIGSEGV, Segmentation fault.
0x400af19e in malloc () from /lib/libc.so.6
(gdb) 


How can it be? If malloc can not allocate memory it should return a NULL 
pointer. How can it Seg fault?

[03:09:45 16]$ free
             total       used       free     shared    buffers     cached
Mem:         63584      60936       2648      31452       1344      20472
-/+ buffers/cache:      39120      24464
Swap:       116924      52580      64344
[03:09:49 16]$ 

Since all the memory is used and the machine is running for some time now, 
doesn't that precludes hardware problems?

Obviously I am missing something.


-- 

        Shaul Karl <[EMAIL PROTECTED]>


Reply via email to