Memory checking crashes

From:

Juri Linkov

Subject:

Memory checking crashes

Date:

Fri, 24 Dec 2004 04:33:29 +0200

User-agent:

Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

Since I turned on GC/XMALLOC_CHECK_* checking definitions as Kim suggested,
I got a memory checking crash in X code. This crash is easily repeatable.
It crashes every time when X menus are used on the following configuration:
What operating system and machine description files should Emacs use?
`s/gnu-linux.h' and `m/intel386.h'
What compiler should emacs be built with? gcc -g -O2
Should Emacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should Emacs use a relocating allocator for buffers? yes
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? x11
What toolkit should Emacs use? none
Where do we find X Windows header files? /usr/X11R6/include
Where do we find X Windows libraries? /usr/X11R6/lib
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? yes
Does Emacs use -ljpeg? yes
Does Emacs use -ltiff? no
Does Emacs use -lungif? yes
Does Emacs use -lpng? yes
Does Emacs use X toolkit scroll bars? no
Program received signal SIGSEGV, Segmentation fault.
0x4024e1f4 in mallopt () from /lib/libc.so.6
(gdb) bt
#0 0x4024e1f4 in mallopt () from /lib/libc.so.6
#1 0x4024d00f in free () from /lib/libc.so.6
#2 0x08115a6a in overrun_check_free (block=0x86b5d20) at alloc.c:684
#3 0x08116002 in emacs_blocked_free (ptr=0x86b5d20) at alloc.c:1137
#4 0x4024cfc5 in free () from /lib/libc.so.6
#5 0x0816c85f in XDestroyAssocTable (table=0x8683db8) at XDestAssoc.c:38
#6 0x0816b92c in XMenuDestroy (display=0x868d950, menu=0x861b8b8) at
Destroy.c:54
#7 0x0807ebb4 in pop_down_menu (arg=139776733) at xmenu.c:3221
#8 0x0812c9d9 in unbind_to (count=3, value=137212857) at eval.c:3134
#9 0x0807f353 in xmenu_show (f=0x86bd800, x=333, y=140, for_click=1,
keymaps=0, title=140475331, error=0xbffff180) at xmenu.c:3508
#10 0x0807e6ec in Fx_popup_menu (position=139776861, menu=139776741) at
xmenu.c:978
#11 0x0812c08d in Ffuncall (nargs=3, args=0xbffff200) at eval.c:2778
#12 0x081512ec in Fbyte_code (bytestr=136596347, vector=136596404, maxdepth=40)
at bytecode.c:686
#13 0x0812b714 in Feval (form=136596333) at eval.c:2136
#14 0x08127be2 in Fcall_interactively (function=140476169,
record_flag=137212857, keys=137273932) at callint.c:383
#15 0x080dd336 in Fcommand_execute (cmd=140476169, record_flag=137212857,
keys=137212857, special=137212857) at keyboard.c:9710
#16 0x080d3e2f in command_loop_1 () at keyboard.c:1785
#17 0x0812a701 in internal_condition_case (bfun=0x80d3114 <command_loop_1>,
handlers=137278689, hfun=0x80d2cd0 <cmd_error>) at eval.c:1385
#18 0x080d2f98 in command_loop_2 () at keyboard.c:1312
#19 0x0812a271 in internal_catch (tag=137271137, func=0x80d2f74
<command_loop_2>, arg=137212857) at eval.c:1144
#20 0x080d2f47 in command_loop () at keyboard.c:1291
#21 0x080d2a78 in recursive_edit_1 () at keyboard.c:984
#22 0x080d2bb0 in Frecursive_edit () at keyboard.c:1045
#23 0x080d1972 in main (argc=2, argv=0xbffffaa4) at emacs.c:1760
(gdb) xba
"x-popup-menu"
"byte-code"
"call-interactively"
Note that even if this memory overrun might cause some problems,
it is not related to GC crashes, because I haven't used X popup menus
before GC crashes.
--
Juri Linkov
http://www.jurta.org/emacs/