Обсуждение: Tsearch1 problem
Greetings,
The function txt2txtidx of tsearch1 crashes the backend
in my installation when it is called with a text where '-' is
immediately followed by a number.
Does any one has any solution for it?
Regds
Mallah.
tradein_clients=# SELECT version();
+-----------------------------------------------------------+
| version |
+-----------------------------------------------------------+
| PostgreSQL 7.3 on i686-pc-linux-gnu, compiled by GCC 2.96 |
+-----------------------------------------------------------+
(1 row)
Time: 0.61 ms
tradein_clients=# SELECT txt2txtidx('Hello');
+------------+
| txt2txtidx |
+------------+
| 'hello' |
+------------+
(1 row)
Time: 0.72 ms
tradein_clients=# SELECT txt2txtidx('Hello A');
+------------+
| txt2txtidx |
+------------+
| 'hello' |
+------------+
(1 row)
Time: 0.72 ms
tradein_clients=# SELECT txt2txtidx('Hello A-');
+------------+
| txt2txtidx |
+------------+
| 'hello' |
+------------+
(1 row)
Time: 0.64 ms
tradein_clients=# SELECT txt2txtidx('Hello A-A');
+---------------+
| txt2txtidx |
+---------------+
| 'a-a' 'hello' |
+---------------+
(1 row)
Time: 0.92 ms
tradein_clients=# SELECT txt2txtidx('Hello A-1');
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!#
On Tue, 24 Feb 2004, Rajesh Kumar Mallah wrote:
>
> Greetings,
>
> The function txt2txtidx of tsearch1 crashes the backend
> in my installation when it is called with a text where '-' is
> immediately followed by a number.
example, please. Cut'n paste from psql console would be fine.
Also, what's version of postgresql ?
>
> Does any one has any solution for it?
>
> Regds
> Mallah.
>
>
>
> tradein_clients=# SELECT version();
> +-----------------------------------------------------------+
> | version |
> +-----------------------------------------------------------+
> | PostgreSQL 7.3 on i686-pc-linux-gnu, compiled by GCC 2.96 |
> +-----------------------------------------------------------+
> (1 row)
>
> Time: 0.61 ms
> tradein_clients=# SELECT txt2txtidx('Hello');
> +------------+
> | txt2txtidx |
> +------------+
> | 'hello' |
> +------------+
> (1 row)
>
> Time: 0.72 ms
> tradein_clients=# SELECT txt2txtidx('Hello A');
> +------------+
> | txt2txtidx |
> +------------+
> | 'hello' |
> +------------+
> (1 row)
>
> Time: 0.72 ms
> tradein_clients=# SELECT txt2txtidx('Hello A-');
> +------------+
> | txt2txtidx |
> +------------+
> | 'hello' |
> +------------+
> (1 row)
>
> Time: 0.64 ms
> tradein_clients=# SELECT txt2txtidx('Hello A-A');
> +---------------+
> | txt2txtidx |
> +---------------+
> | 'a-a' 'hello' |
> +---------------+
> (1 row)
>
> Time: 0.92 ms
> tradein_clients=# SELECT txt2txtidx('Hello A-1');
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> The connection to the server was lost. Attempting reset: Failed.
> !#
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
On Tue, 24 Feb 2004, Oleg Bartunov wrote:
> On Tue, 24 Feb 2004, Rajesh Kumar Mallah wrote:
>
> >
> > Greetings,
> >
> > The function txt2txtidx of tsearch1 crashes the backend
> > in my installation when it is called with a text where '-' is
> > immediately followed by a number.
>
> example, please. Cut'n paste from psql console would be fine.
> Also, what's version of postgresql ?
That would be what's below.
> > Does any one has any solution for it?
> >
> > Regds
> > Mallah.
> >
> >
> >
> > tradein_clients=# SELECT version();
> > +-----------------------------------------------------------+
> > | version |
> > +-----------------------------------------------------------+
> > | PostgreSQL 7.3 on i686-pc-linux-gnu, compiled by GCC 2.96 |
> > +-----------------------------------------------------------+
> > (1 row)
> >
> > Time: 0.61 ms
> > tradein_clients=# SELECT txt2txtidx('Hello');
> > +------------+
> > | txt2txtidx |
> > +------------+
> > | 'hello' |
> > +------------+
> > (1 row)
> >
> > Time: 0.72 ms
> > tradein_clients=# SELECT txt2txtidx('Hello A');
> > +------------+
> > | txt2txtidx |
> > +------------+
> > | 'hello' |
> > +------------+
> > (1 row)
> >
> > Time: 0.72 ms
> > tradein_clients=# SELECT txt2txtidx('Hello A-');
> > +------------+
> > | txt2txtidx |
> > +------------+
> > | 'hello' |
> > +------------+
> > (1 row)
> >
> > Time: 0.64 ms
> > tradein_clients=# SELECT txt2txtidx('Hello A-A');
> > +---------------+
> > | txt2txtidx |
> > +---------------+
> > | 'a-a' 'hello' |
> > +---------------+
> > (1 row)
> >
> > Time: 0.92 ms
> > tradein_clients=# SELECT txt2txtidx('Hello A-1');
> > server closed the connection unexpectedly
> > This probably means the server terminated abnormally
> > before or while processing the request.
> > The connection to the server was lost. Attempting reset: Failed.
> > !#
> >
>
> Regards,
> Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>
--
Sam Barnett-Cormack
Software Developer | Student of Physics & Maths
UK Mirror Service (http://www.mirror.ac.uk) | Lancaster University
On Tue, 24 Feb 2004, Sam Barnett-Cormack wrote:
> On Tue, 24 Feb 2004, Oleg Bartunov wrote:
>
> > On Tue, 24 Feb 2004, Rajesh Kumar Mallah wrote:
> >
> > >
> > > Greetings,
> > >
> > > The function txt2txtidx of tsearch1 crashes the backend
> > > in my installation when it is called with a text where '-' is
> > > immediately followed by a number.
> >
> > example, please. Cut'n paste from psql console would be fine.
> > Also, what's version of postgresql ?
>
> That would be what's below.
>
Ah, sorry :) Just tested on 7.4 and it works fine (as expected).
qq=# select version();
version
------------------------------------------------------------------------
PostgreSQL 7.4.1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.2
(1 row)
qq=# SELECT txt2txtidx('Hello A-1');
txt2txtidx
-------------------
'1' 'a-1' 'hello'
Also, I run test on 7.3.3
qq=# select version();
version
---------------------------------------------------------------
PostgreSQL 7.3.3 on i686-pc-linux-gnu, compiled by GCC 2.95.3
(1 row)
qq=# SELECT txt2txtidx('Hello A-1');
txt2txtidx
-------------------
'1' 'a-1' 'hello'
(1 row)
Everything is ok.
I see your version of postgresql is outdated (you may upgrade at least
to 7.3.5 !) and most suspicious is the version of your compiler 2.96 !
I don't remember 2.96 was officially released ! I'd recommend to think twice
about your compiler. Don't know if postgresql supports unoffical releases.
Oleg
> > > Does any one has any solution for it?
> > >
> > > Regds
> > > Mallah.
> > >
> > >
> > >
> > > tradein_clients=# SELECT version();
> > > +-----------------------------------------------------------+
> > > | version |
> > > +-----------------------------------------------------------+
> > > | PostgreSQL 7.3 on i686-pc-linux-gnu, compiled by GCC 2.96 |
> > > +-----------------------------------------------------------+
> > > (1 row)
> > >
> > > Time: 0.61 ms
> > > tradein_clients=# SELECT txt2txtidx('Hello');
> > > +------------+
> > > | txt2txtidx |
> > > +------------+
> > > | 'hello' |
> > > +------------+
> > > (1 row)
> > >
> > > Time: 0.72 ms
> > > tradein_clients=# SELECT txt2txtidx('Hello A');
> > > +------------+
> > > | txt2txtidx |
> > > +------------+
> > > | 'hello' |
> > > +------------+
> > > (1 row)
> > >
> > > Time: 0.72 ms
> > > tradein_clients=# SELECT txt2txtidx('Hello A-');
> > > +------------+
> > > | txt2txtidx |
> > > +------------+
> > > | 'hello' |
> > > +------------+
> > > (1 row)
> > >
> > > Time: 0.64 ms
> > > tradein_clients=# SELECT txt2txtidx('Hello A-A');
> > > +---------------+
> > > | txt2txtidx |
> > > +---------------+
> > > | 'a-a' 'hello' |
> > > +---------------+
> > > (1 row)
> > >
> > > Time: 0.92 ms
> > > tradein_clients=# SELECT txt2txtidx('Hello A-1');
> > > server closed the connection unexpectedly
> > > This probably means the server terminated abnormally
> > > before or while processing the request.
> > > The connection to the server was lost. Attempting reset: Failed.
> > > !#
> > >
> >
> > Regards,
> > Oleg
> > _____________________________________________________________
> > Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> > Sternberg Astronomical Institute, Moscow University (Russia)
> > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> > phone: +007(095)939-16-83, +007(095)939-23-83
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 7: don't forget to increase your free space map settings
> >
>
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
----- Original Message ----- From: "Oleg Bartunov" <oleg@sai.msu.su> To: "Sam Barnett-Cormack" <s.barnett-cormack@lancaster.ac.uk> Cc: "Rajesh Kumar Mallah" <mallah@trade-india.com>; <pgsql-admin@postgresql.org> <snip,snip> > I see your version of postgresql is outdated (you may upgrade at least > to 7.3.5 !) and most suspicious is the version of your compiler 2.96 ! > I don't remember 2.96 was officially released ! I'd recommend to think twice > about your compiler. Don't know if postgresql supports unoffical releases. > 2.96 is an official release under Redhat Linux version 2.4.7-10 (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)) #1 Thu Sep 6 17:27:27 EDT 2001 I am also using postgres 7.3.4, but unfortunatley I am using tsearch2 so I cannot run the same tests. Donald Fraser
Oleg Bartunov <oleg@sai.msu.su> writes:
> Also, I run test on 7.3.3
> Everything is ok.
> I see your version of postgresql is outdated (you may upgrade at least
> to 7.3.5 !) and most suspicious is the version of your compiler 2.96 !
There was at least one post-7.3 bug fix in tsearch, according to the CVS
logs. Could this be it?
2002-12-06 00:15 momjian
* contrib/tsearch/morph.c (REL7_3_STABLE): Thank you very much, you
catch it :). This bug had a long life, because it exists if and
only if locale of postmaster was a different from C (or
ru_RU.KOI8-R).
Please, apply patch for current CVS & 7.3.1
Magnus Naeslund(f) wrote:
> Ok, I nailed the bug, but i'm not sure what the correct fix is.
> Attached tsearch_morph.diff that remedies this problem by
avoiding it.
> Also there's a debug aid patch if someone would like to know how
i
> finally found it out :)
>
> There problem in the lemmatize() function is that GETDICT(...)
returned
> a value not handled (BYLOCALE).
> The value (-1) and later used as an index into the dicts[] array.
> After that everything went berserk stack went crazy somehow so
trapping
> the fault sent me to the wrong place, and every time i read the
value it
> was positive ;)
>
> So now i just return the initial word passed to the lemmatize
function,
> because i don't know what to do with it.
Magnus Naeslund
regards, tom lane
On Tue, 24 Feb 2004, Tom Lane wrote:
> Oleg Bartunov <oleg@sai.msu.su> writes:
> > Also, I run test on 7.3.3
> > Everything is ok.
> > I see your version of postgresql is outdated (you may upgrade at least
> > to 7.3.5 !) and most suspicious is the version of your compiler 2.96 !
>
> There was at least one post-7.3 bug fix in tsearch, according to the CVS
> logs. Could this be it?
Most probable !
>
> 2002-12-06 00:15 momjian
>
> * contrib/tsearch/morph.c (REL7_3_STABLE): Thank you very much, you
> catch it :). This bug had a long life, because it exists if and
> only if locale of postmaster was a different from C (or
> ru_RU.KOI8-R).
>
> Please, apply patch for current CVS & 7.3.1
>
> Magnus Naeslund(f) wrote:
> > Ok, I nailed the bug, but i'm not sure what the correct fix is.
> > Attached tsearch_morph.diff that remedies this problem by
> avoiding it.
> > Also there's a debug aid patch if someone would like to know how
> i
> > finally found it out :)
> >
> > There problem in the lemmatize() function is that GETDICT(...)
> returned
> > a value not handled (BYLOCALE).
> > The value (-1) and later used as an index into the dicts[] array.
> > After that everything went berserk stack went crazy somehow so
> trapping
> > the fault sent me to the wrong place, and every time i read the
> value it
> > was positive ;)
> >
> > So now i just return the initial word passed to the lemmatize
> function,
> > because i don't know what to do with it.
>
> Magnus Naeslund
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83