Re: centericq in -current

From: Jason Evans <jasone_at_FreeBSD.org>
Date: Mon, 13 Mar 2006 12:27:35 -0800
GeX wrote:
> i have a problem with using of the centericq.
> problem appeared after upgrade of my box from 6.1-pre to 7.0-current:
> 
> zsh: segmentation fault (core dumped)  *centericq*
> 
> (gdb) bt
> #0  0x285e18d7 in reallocf () from /lib/libc.so.6
> #1  0x285e39fe in free () from /lib/libc.so.6
> #2  0x282b2811 in operator delete () from /usr/lib/libstdc++.so.5
> #3  0x0813ced0 in __gnu_cxx::operator==<char const*, std::string> ()
> #4  0x080ffb1b in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #5  0x080fd413 in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #6  0x08138cd2 in __gnu_cxx::operator==<char const*, std::string> ()
> #7  0x08138c96 in __gnu_cxx::operator==<char const*, std::string> ()
> #8  0x081387ae in __gnu_cxx::operator==<char const*, std::string> ()
> #9  0x08146896 in
> std::string::_S_construct<__gnu_cxx::__normal_iterator<char*,
> std::string> > ()
> #10 0x080ecf20 in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #11 0x080fd15b in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #12 0x286241ba in __cxa_finalize () from /lib/libc.so.6
> #13 0x285e4206 in exit () from /lib/libc.so.6
> #14 0x080b47ae in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #15 0x080eb26c in std::operator+<char, std::char_traits<char>,
> std::allocator<char> > ()
> #16 0x0804d522 in ?? ()
> #17 0x00000002 in ?? ()
> #18 0xbfbfec08 in ?? ()
> #19 0xbfbfec14 in ?? ()
> #20 0x081ddbb4 in __progname ()
> #21 0x081c4580 in std::setfill<char> ()
> #22 0x00000002 in ?? ()

This is likely due to the application corrupting memory by over-running 
a malloc buffer.  You could potentially detect this by increasing the 
size of redzones in /usr/src/lib/libc/stdlib/malloc.c (increase 
MALLOC_RED_2POW), then running centericq with the custom libc.

	<Edit /usr/src/lib/libc/stdlib/malloc.c.>
	cd /usr/src/lib/libc
	make
	LD_PRELOAD=/usr/obj/usr/src/lib/libc/libc.so.6 centericq

You probably don't want to install the modified libc, since the extra 
memory requirements of the large redzones could swamp your system.

Jason
Received on Mon Mar 13 2006 - 19:27:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:53 UTC