I'm getting a strange error while rebuilding iproute-2.6.9-3.EL4.3.centos4.src.rpm ...
rpmbuild --rebuild iproute-2.6.9-3.EL4.3.centos4.src.rpm ... ./normal >normal.dist *** glibc detected *** free(): invalid next size (normal): 0x08491050 *** /bin/sh: line 1: 5236 Aborted ./normal >normal.dist make[1]: *** [normal.dist] Error 134 ... + install -m 644 tc/normal.dist tc/pareto.dist tc/paretonormal.dist /data/tmp/cd654c/rpm/tmp/iproute-2.6.9-root/usr/lib/tc install: cannot stat `tc/pareto.dist': No such file or directory install: cannot stat `tc/paretonormal.dist': No such file or directory error: Bad exit status from /data/tmp/cd654c/rpm/tmp/rpm-tmp.36741 (%install) ... etc.
Any ideas as to what might be causing this heap corruption?
I'm using a pretty much stock CentOS 4.3 box to perform the rpm rebuild.
Running the "normal" binary under gdb doesn't provide much additional info:
... *** glibc detected *** free(): invalid next size (normal): 0x08390050 ***
Program received signal SIGABRT, Aborted. 0x00958bf1 in kill () from /lib/i686/libc.so.6
(gdb) bt #0 0x00958bf1 in kill () from /lib/i686/libc.so.6 #1 0x00958845 in raise () from /lib/i686/libc.so.6 #2 0x00959ea0 in abort () from /lib/i686/libc.so.6 #3 0x0098c52e in __libc_message () from /lib/i686/libc.so.6 #4 0x00992b7f in _int_free () from /lib/i686/libc.so.6 #5 0x00992f26 in free () from /lib/i686/libc.so.6 #6 0x080486a8 in main (argc=1, argv=0xbff52e44) at normal.c:54 (gdb) l 54 free(table); 55 return 0; 56 }