On 2015.02.25 at 09:38 +0100, Jan Hubicka wrote: > this patch reorganize sem_function::merge and sem_variable::merge. > I read the code in detail and found several issues that are fixed in the > following patch.
I gave your patch a quick spin. It breaks Chromium. Its protocol buffer compiler gets miscompiled: RULE Generating C++ and Python code from copresence/proto/enums.proto FAILED: cd ../../components; python ../tools/protoc_wrapper/protoc_wrapper.py --include "" --protobuf "../out/Release/gen/protoc_out/components/copresence/proto/enums.pb.h" - -proto-in-dir copresence/proto --proto-in-file "enums.proto" "--use-system-protobuf=0" -- ../out/Release/protoc --cpp_out ../out/Release/gen/protoc_out/components/copresence/ proto --python_out ../out/Release/pyproto/components/copresence/proto *** Error in `../out/Release/protoc': double free or corruption (out): 0x00007ffd966468b0 *** ======= Backtrace: ========= /lib/libc.so.6(+0x7265e)[0x7fe09058065e] /lib/libc.so.6(+0x77f1d)[0x7fe090585f1d] /lib/libc.so.6(+0x7874b)[0x7fe09058674b] ../out/Release/protoc[0x45f5e1] ../out/Release/protoc[0x462caf] ../out/Release/protoc[0x462d1c] ../out/Release/protoc[0x46685c] ../out/Release/protoc[0x4677d5] ../out/Release/protoc[0x4679c3] ../out/Release/protoc[0x467b15] ../out/Release/protoc[0x479d89] ../out/Release/protoc[0x4aa058] ../out/Release/protoc[0x4aa0af] ../out/Release/protoc[0x46b217] ../out/Release/protoc[0x4a4832] ../out/Release/protoc[0x4a86cf] ../out/Release/protoc[0x4a890e] ../out/Release/protoc[0x4a0827] ../out/Release/protoc[0x4678fd] ../out/Release/protoc[0x467b15] ../out/Release/protoc[0x40c926] ../out/Release/protoc[0x403131] /lib/libc.so.6(__libc_start_main+0xf0)[0x7fe09052e6d0] ../out/Release/protoc[0x4037f9] ======= Memory map: ======== 00400000-004eb000 r-xp 00000000 00:13 36244132 /var/tmp/chromium/src/out/Release/protoc 004ec000-004ef000 r--p 000eb000 00:13 36244132 /var/tmp/chromium/src/out/Release/protoc 004ef000-004f0000 rw-p 000ee000 00:13 36244132 /var/tmp/chromium/src/out/Release/protoc 01ab0000-01b03000 rw-p 00000000 00:00 0 [heap] 7fe09027f000-7fe09030d000 r-xp 00000000 00:0f 2540736 /lib64/libm-2.21.90.so 7fe09030d000-7fe09050c000 ---p 0008e000 00:0f 2540736 /lib64/libm-2.21.90.so 7fe09050c000-7fe09050d000 r--p 0008d000 00:0f 2540736 /lib64/libm-2.21.90.so 7fe09050d000-7fe09050e000 rw-p 0008e000 00:0f 2540736 /lib64/libm-2.21.90.so 7fe09050e000-7fe09066e000 r-xp 00000000 00:0f 2541268 /lib64/libc-2.21.90.so 7fe09066e000-7fe09086d000 ---p 00160000 00:0f 2541268 /lib64/libc-2.21.90.so 7fe09086d000-7fe090871000 r--p 0015f000 00:0f 2541268 /lib64/libc-2.21.90.so 7fe090871000-7fe090873000 rw-p 00163000 00:0f 2541268 /lib64/libc-2.21.90.so 7fe090873000-7fe090877000 rw-p 00000000 00:00 0 7fe090877000-7fe09088f000 r-xp 00000000 00:0f 2541131 /lib64/libpthread-2.21.90.so 7fe09088f000-7fe090a8e000 ---p 00018000 00:0f 2541131 /lib64/libpthread-2.21.90.so 7fe090a8e000-7fe090a8f000 r--p 00017000 00:0f 2541131 /lib64/libpthread-2.21.90.so 7fe090a8f000-7fe090a90000 rw-p 00018000 00:0f 2541131 /lib64/libpthread-2.21.90.so 7fe090a90000-7fe090a94000 rw-p 00000000 00:00 0 7fe090a94000-7fe090ab6000 r-xp 00000000 00:0f 2541267 /lib64/ld-2.21.90.so 7fe090ad2000-7fe090ad7000 rw-p 00000000 00:00 0 7fe090ad7000-7fe090aee000 r-xp 00000000 00:0f 72800 /lib64/libgcc_s.so.1 7fe090aee000-7fe090aef000 rw-p 00016000 00:0f 72800 /lib64/libgcc_s.so.1 7fe090aef000-7fe090af0000 rw-p 00000000 00:00 0 7fe090af0000-7fe090c7b000 r-xp 00000000 00:0f 3018239 /usr/lib64/gcc/x86_64-pc-linux-gnu/5.0.0/libstdc++.so.6.0.21 7fe090c7b000-7fe090c7c000 ---p 0018b000 00:0f 3018239 /usr/lib64/gcc/x86_64-pc-linux-gnu/5.0.0/libstdc++.so.6.0.21 7fe090c7c000-7fe090c86000 r--p 0018b000 00:0f 3018239 /usr/lib64/gcc/x86_64-pc-linux-gnu/5.0.0/libstdc++.so.6.0.21 7fe090c86000-7fe090c8a000 rw-p 00195000 00:0f 3018239 /usr/lib64/gcc/x86_64-pc-linux-gnu/5.0.0/libstdc++.so.6.0.21 7fe090c8a000-7fe090c8d000 rw-p 00000000 00:00 0 7fe090cb3000-7fe090cb5000 rw-p 00000000 00:00 0 7fe090cb5000-7fe090cb6000 r--p 00021000 00:0f 2541267 /lib64/ld-2.21.90.so 7fe090cb6000-7fe090cb7000 rw-p 00022000 00:0f 2541267 /lib64/ld-2.21.90.so 7fe090cb7000-7fe090cb8000 rw-p 00000000 00:00 0 7ffd96628000-7ffd96649000 rw-p 00000000 00:00 0 [stack] 7ffd967e4000-7ffd967e6000 r--p 00000000 00:00 0 [vvar] 7ffd967e6000-7ffd967e8000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] -- Markus