From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 12 Nov 2003 12:49:42 +0300 From: Sergey Vlasov To: ALT Devel discussion list Subject: Re: [devel] Re: middleman vs pcre Message-ID: <20031112094942.GF1775@sirius.home> Mail-Followup-To: ALT Devel discussion list References: <200311111729.20782.wrar@altlinux.ru> <200311111922.39750.wrar@altlinux.ru> <20031111143808.GA15999@master.mivlgu.local> <200311112036.34511.wrar@altlinux.ru> <20031111154750.GD15999@master.mivlgu.local> <20031112083249.GE1132@basalt.office.altlinux.org> <20031112092420.GC1775@sirius.home> <20031112094549.GB27099@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="i3lJ51RuaGWuFYNw" Content-Disposition: inline In-Reply-To: <20031112094549.GB27099@basalt.office.altlinux.org> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 09:50:05 -0000 Archived-At: List-Archive: List-Post: --i3lJ51RuaGWuFYNw Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Wed, Nov 12, 2003 at 12:45:49PM +0300, Stanislav Ievlev wrote: > On Wed, Nov 12, 2003 at 12:24:20PM +0300, Sergey Vlasov wrote: > > On Wed, Nov 12, 2003 at 11:32:49AM +0300, Stanislav Ievlev wrote: > > > On Tue, Nov 11, 2003 at 06:47:50PM +0300, Sergey Vlasov wrote: > > > > On Tue, Nov 11, 2003 at 08:36:26PM +0500, Andrey Rahmatullin wrote: > > > > Content-Description: signed data > > > > > В сообщении от 11 Ноябрь 2003 19:38 Sergey Vlasov написал(a): > > > > > > > > > > [...] > > > > > > Попробуйте запустить программу под valgrind - он умеет отлавливать > > > > > > подобные ошибки > > > > > [...] > > > > > > > > > > Ой блин... > > > > > > > > > > ==16664== Invalid write of size 4 > > > > > ==16664== at 0x403261F9: regcomp (in /lib/libc-2.2.6.so) > > > > > ==16664== by 0x806F536: reg_compile (regexp.c:33) > > > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > > > ==16664== by 0x804ACE6: global_load (global.c:102) > > > > > ==16664== Address 0x412BE104 is 4 bytes after a block of size 12 alloc'd > > > > > ==16664== at 0x40026942: malloc (vg_replace_malloc.c:153) > > > > > ==16664== by 0x806610C: xmalloc (mem.c:35) > > > > > ==16664== by 0x806F51F: reg_compile (regexp.c:31) > > > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > > > > > > > > И так кучу раз (похоже, что на каждый регэксп). > > > > > > > > Вот бардак... У этой дряни что, собственное левое определение regex_t > > > > (такая гадость иногда встречается)? > > > Если это намёк на pcre, то почему сразу дрянь. Имеет право. > > > Всё что связано с regex это weekalias (как просвятил меня Дима). У > > > pcre же есть очень удобный POSIX интерфейс с поддержкой расширений > > > perl. А уж если POSIX интерфейс, то и есть regex_t. Было бы > > > удивительно если бы она (pcre) использовала glibc'шный. > > > > Ну здесь-то явно используется regcomp из glibc. Т.е. где-то > > перепутались заголовки и библиотеки. > Наверное забыли -lpcreposix? Похоже на то. > > Против самой pcre я не выступаю. А вот pcreposix - это гадость, т.к. > > вполне может сломать работу POSIX regexp в других библиотеках (не > > glibc). > Не поломает, если будут использовать что-то одно ;) Поломает - если другая libxxx.so была скомпилирована с regex из glibc, а получит реализацию из libpcreposix.so. > >Следовало бы делать эту эмуляцию не прямым переопределением > > regcomp/regexec/..., а через #define regcomp __pcre_regcomp в > > - тогда это бы влияло только на файлы, которые были > > скомпилированы с #include . > Самое смешное, что теперь так и есть ;) Ну вот и прекрасно - видимо, на это уже кто-то наступил. --i3lJ51RuaGWuFYNw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/sgI2W82GfkQfsqIRAh5WAJ9eVWj248wuVgJhFnwWsGUXuLousgCgjPtZ QlhlcBm4iMo0xGnXOyAbEeM= =XMiS -----END PGP SIGNATURE----- --i3lJ51RuaGWuFYNw--