Menu

#73 segfault on aede caused by non-change files in work area

open
nobody
None
5
2009-01-29
2009-01-29
Anonymous
No

Submitted by Ben Morphett (ben.morphett@silverbrookresearch.com)

I had a change that wouldn't come out of "being_reviewed". I tried aede, and it gave a segfault. I got it passed, and did an aeifail and it also segfaulted. (I have included some debug dumps below.)

I noticed that I had created hundreds of non-change files (576) in the work area *after* the change was put up for review. When those non-change files were deleted, the problem went away, and the change could be brought back to development.

These hundreds of non-change files were all some 10s of kilobytes long, full of text. (I have included an 'ls' listing of some of them below.)

So here's the way to reproduce the bug:
1. submit a change for review.
2. create hundreds of files in the change work area.
3. run aede: it does a segmentation fault.

--------------------

The version of aegis:

dozer$ aegis --version
aegis version 4.22.2.D002

--------------------

The non-change files that caused the trouble. They were just temporary files I wanted to create so that I could compare some change files against the baseline files. They were *not* aenf files:

-rw-r--r-- 1 bmorphett aegis 16873 Jan 18 16:44 kvds_4320_programmer_0.bin.bl.lst
-rw-r--r-- 1 bmorphett aegis 16867 Jan 18 16:44 kvds_4320_programmer_0.bin.c2540.lst
-rw-r--r-- 1 bmorphett aegis 16881 Jan 18 16:44 kvds_4320_programmer_0_format4.bin.bl.lst
-rw-r--r-- 1 bmorphett aegis 16875 Jan 18 16:44 kvds_4320_programmer_0_format4.bin.c2540.lst
-rw-r--r-- 1 bmorphett aegis 16966 Jan 18 16:44 kvds_4320_programmer_10.bin.bl.lst
-rw-r--r-- 1 bmorphett aegis 16960 Jan 18 16:44 kvds_4320_programmer_10.bin.c2540.lst
-rw-r--r-- 1 bmorphett aegis 16974 Jan 18 16:44 kvds_4320_programmer_10_format4.bin.bl.lst
-rw-r--r-- 1 bmorphett aegis 16968 Jan 18 16:44 kvds_4320_programmer_10_format4.bin.c2540.lst
...
etc.

-------------------

What happened when the segfault happened:

dozer$ aedeu 2540
*** glibc detected *** aegis: realloc(): invalid next size: 0x000000001b091830 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3f0cc71e0b]
/lib64/libc.so.6(realloc+0x124)[0x3f0cc72ce4]
aegis[0x49913b]
aegis[0x4b5d28]
aegis[0x457ec0]
aegis[0x45484c]
aegis[0x4549f8]
aegis[0x43f8ac]
aegis[0x411db2]
aegis[0x42fbc5]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x3f0cc1d8a4]
aegis(__gxx_personality_v0+0x231)[0x404899]
======= Memory map: ========
00400000-00511000 r-xp 00000000 08:03 4379587 /usr/local/bin/aegis
00710000-0071e000 rw-p 00110000 08:03 4379587 /usr/local/bin/aegis
0071e000-00730000 rw-p 0071e000 00:00 0
1a5e8000-1b0b2000 rw-p 1a5e8000 00:00 0
3694a00000-3694a05000 r-xp 00000000 08:03 5803382 /lib64/libcrypt-2.5.so
3694a05000-3694c04000 ---p 00005000 08:03 5803382 /lib64/libcrypt-2.5.so
3694c04000-3694c05000 r--p 00004000 08:03 5803382 /lib64/libcrypt-2.5.so
3694c05000-3694c06000 rw-p 00005000 08:03 5803382 /lib64/libcrypt-2.5.so
3694c06000-3694c34000 rw-p 3694c06000 00:00 0
3f0c800000-3f0c81a000 r-xp 00000000 08:03 5800228 /lib64/ld-2.5.so
3f0ca19000-3f0ca1a000 r--p 00019000 08:03 5800228 /lib64/ld-2.5.so
3f0ca1a000-3f0ca1b000 rw-p 0001a000 08:03 5800228 /lib64/ld-2.5.so
3f0cc00000-3f0cd46000 r-xp 00000000 08:03 5800229 /lib64/libc-2.5.so
3f0cd46000-3f0cf46000 ---p 00146000 08:03 5800229 /lib64/libc-2.5.so
3f0cf46000-3f0cf4a000 r--p 00146000 08:03 5800229 /lib64/libc-2.5.so
3f0cf4a000-3f0cf4b000 rw-p 0014a000 08:03 5800229 /lib64/libc-2.5.so
3f0cf4b000-3f0cf50000 rw-p 3f0cf4b000 00:00 0
3f0d000000-3f0d00e000 r-xp 00000000 08:03 4367336 /usr/lib64/libmagic.so.1.0.0
3f0d00e000-3f0d20e000 ---p 0000e000 08:03 4367336 /usr/lib64/libmagic.so.1.0.0
3f0d20e000-3f0d20f000 rw-p 0000e000 08:03 4367336 /usr/lib64/libmagic.so.1.0.0
3f0d400000-3f0d402000 r-xp 00000000 08:03 5800118 /lib64/libuuid.so.1.2
3f0d402000-3f0d602000 ---p 00002000 08:03 5800118 /lib64/libuuid.so.1.2
3f0d602000-3f0d603000 rw-p 00002000 08:03 5800118 /lib64/libuuid.so.1.2
3f0dc00000-3f0dc14000 r-xp 00000000 08:03 4368211 /usr/lib64/libz.so.1.2.3
3f0dc14000-3f0de13000 ---p 00014000 08:03 4368211 /usr/lib64/libz.so.1.2.3
3f0de13000-3f0de14000 rw-p 00013000 08:03 4368211 /usr/lib64/libz.so.1.2.3
3f0e000000-3f0e015000 r-xp 00000000 08:03 5800248 /lib64/libselinux.so.1
3f0e015000-3f0e215000 ---p 00015000 08:03 5800248 /lib64/libselinux.so.1
3f0e215000-3f0e217000 rw-p 00015000 08:03 5800248 /lib64/libselinux.so.1
3f0e217000-3f0e218000 rw-p 3f0e217000 00:00 0
3f0e800000-3f0e83b000 r-xp 00000000 08:03 5800247 /lib64/libsepol.so.1
3f0e83b000-3f0ea3b000 ---p 0003b000 08:03 5800247 /lib64/libsepol.so.1
3f0ea3b000-3f0ea3c000 rw-p 0003b000 08:03 5800247 /lib64/libsepol.so.1
3f0ea3c000-3f0ea46000 rw-p 3f0ea3c000 00:00 0
3f0ec00000-3f0ec0d000 r-xp 00000000 08:03 5800243 /lib64/libgcc_s-4.1.2-20070626.so.1
3f0ec0d000-3f0ee0d000 ---p 0000d000 08:03 5800243 /lib64/libgcc_s-4.1.2-20070626.so.1
3f0ee0d000-3f0ee0e000 rw-p 0000d000 08:03 5800243 /lib64/libgcc_s-4.1.2-20070626.so.1
3f0f800000-3f0f815000 r-xp 00000000 08:03 5800242 /lib64/libnsl-2.5.so
3f0f815000-3f0fa14000 ---p 00015000 08:03 5800242 /lib64/libnsl-2.5.so
3f0fa14000-3f0fa15000 r--p 00014000 08:03 5800242 /lib64/libnsl-2.5.so
3f0fa15000-3f0fa16000 rw-p 00015000 08:03 5800242 /lib64/libnsl-2.5.so
3f0fa16000-3f0fa18000 rw-p 3f0fa16000 00Aborted
dozer$

Discussion


Log in to post a comment.