[BUGS] BUG #3767: tsearch2 index creation fatal crash
The following bug has been logged online: Bug reference: 3767 Logged by: Thomas Haegi Email address: [EMAIL PROTECTED] PostgreSQL version: 8.3b3 Operating system: Windows 2003 Description:tsearch2 index creation fatal crash Details: the previously reported problem gets worse if you execute the query 2-3 times... postgres.exe terminates: Faulting application postgres.exe, version 8.3.0.7319, faulting module postgres.exe, version 8.3.0.7319, fault address 0x001ced2f. from the pgsql logs: 2007-11-21 03:24:40 CET LOG: server process (PID 2376) exited with exit code 128 2007-11-21 03:24:40 CET LOG: terminating any other active server processes 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET LOG: all server processes terminated; reinitializing 2007-11-21 03:24:41 CET FATAL: pre-existing shared memory block is still in use 2007-11-21 03:24:41 CET HINT: Check if there are any old server processes still running, and terminate them. ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
the reported problem below can be reproduced by using this simple query straight from the documentation: SELECT to_tsvector('a fat cat sat on a mat and ate a fat rat'); -- postgres.exe dies instantly, with the logs being the same as in the bugreport. interestingly using ::tsvector (which according to the documentation is equivalent) works just fine: SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector; gives the correct result. default configuration for text search is set to: default_text_search_config = 'pg_catalog.german' - thomas Original Message Subject: [BUGS] BUG #3767: tsearch2 index creation fatal crash From: Thomas Haegi [EMAIL PROTECTED] To: pgsql-bugs@postgresql.org Date: 21.11.2007 03:25 The following bug has been logged online: Bug reference: 3767 Logged by: Thomas Haegi Email address: [EMAIL PROTECTED] PostgreSQL version: 8.3b3 Operating system: Windows 2003 Description:tsearch2 index creation fatal crash Details: the previously reported problem gets worse if you execute the query 2-3 times... postgres.exe terminates: Faulting application postgres.exe, version 8.3.0.7319, faulting module postgres.exe, version 8.3.0.7319, fault address 0x001ced2f. from the pgsql logs: 2007-11-21 03:24:40 CET LOG: server process (PID 2376) exited with exit code 128 2007-11-21 03:24:40 CET LOG: terminating any other active server processes 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET WARNING: terminating connection because of crash of another server process 2007-11-21 03:24:40 CET DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2007-11-21 03:24:40 CET HINT: In a moment you should be able to reconnect to the database and repeat your command. 2007-11-21 03:24:40 CET LOG: all server processes terminated; reinitializing 2007-11-21 03:24:41 CET FATAL: pre-existing shared memory block is still in use 2007-11-21 03:24:41 CET HINT: Check if there are any old server processes still running, and terminate them. ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
Thomas H. [EMAIL PROTECTED] writes: the reported problem below can be reproduced by using this simple query straight from the documentation: SELECT to_tsvector('a fat cat sat on a mat and ate a fat rat'); Works for me: u=# set default_text_search_config = 'pg_catalog.german'; SET u=# SELECT to_tsvector('a fat cat sat on a mat and ate a fat rat'); to_tsvector --- 'a':1,6,10 'on':5 'and':8 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 (1 row) regards, tom lane ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
the reported problem below can be reproduced by using this simple query straight from the documentation: SELECT to_tsvector('a fat cat sat on a mat and ate a fat rat'); Works for me: u=# set default_text_search_config = 'pg_catalog.german'; SET u=# SELECT to_tsvector('a fat cat sat on a mat and ate a fat rat'); to_tsvector --- 'a':1,6,10 'on':5 'and':8 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 (1 row) even when implicitly setting default_text_search_config before the query as you did, it fails (but gives a slightly different error message): ERROR: translation from wchar_t to server encoding failed: No such file or directory maybe win32 / file paths related? there are more problems with tsvectors. this also fails: SELECT ' just a test: 123 '::tsvector; ERROR: syntax error in tsvector: just a test: 123 ** Error ** ERROR: syntax error in tsvector: just a test: 123 SQL state: 42601 without : it works: SELECT ' just a test 123 '::tsvector; regards, thomas ---(end of broadcast)--- TIP 6: explain analyze is your friend
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
there are more problems with tsvectors. this also fails: SELECT ' just a test: 123 '::tsvector; ERROR: syntax error in tsvector: just a test: 123 That's not a bug; your input isn't valid tsvector syntax. ok. after re-reading page http://www.postgresql.org/docs/8.3/static/textsearch-intro.html#TEXTSEARCH-SEARCHES i saw my mistake. i misinterpreted the examples to show the possibility to convert *any* text by using casting to tsvector as an alternative to using to_tsvector :) to new tsearch-users, it might not be obvious clear that you can't just cast any text but should use to_tsvector. the example string 'a fat cat sat on a mat and ate a fat rat' looks like an normal random text string, especially when a tsvector in psql looks like 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 and doesn't contain stopwords like a and and, which are included in the casted string... maybe an additional example that shows the usage of to_tsvector for any input string would help... thanks, thomas ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
Thomas H. [EMAIL PROTECTED] writes: i saw my mistake. i misinterpreted the examples to show the possibility to convert *any* text by using casting to tsvector as an alternative to using to_tsvector :) Yeah, the examples in section 12.1.2 are not actually good practice: both sides of the match should usually get normalized before comparison, and these examples don't do that. I'm not sure that putting in to_tsvector calls there would be an improvement, though, since at that point we haven't introduced to_tsvector. Thoughts anyone? regards, tom lane ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
Tom Lane wrote: Thomas H. [EMAIL PROTECTED] writes: i saw my mistake. i misinterpreted the examples to show the possibility to convert *any* text by using casting to tsvector as an alternative to using to_tsvector :) Yeah, the examples in section 12.1.2 are not actually good practice: both sides of the match should usually get normalized before comparison, and these examples don't do that. I'm not sure that putting in to_tsvector calls there would be an improvement, though, since at that point we haven't introduced to_tsvector. Thoughts anyone? Yep, I saw that chicken and egg problem in the docs when I was reviewing it long ago. I never came up with a solution either. We would have to introduce configurations a lot earlier, but how would you explain them when you don't know what a tsvector is. -- Bruce Momjian [EMAIL PROTECTED]http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 4: Have you searched our list archives? http://archives.postgresql.org
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
Bruce Momjian [EMAIL PROTECTED] writes: Tom Lane wrote: I'm not sure that putting in to_tsvector calls there would be an improvement, though, since at that point we haven't introduced to_tsvector. Thoughts anyone? Yep, I saw that chicken and egg problem in the docs when I was reviewing it long ago. I never came up with a solution either. OTOH, I see that the very next sentence mentions to_tsquery without defining it. So maybe it wouldn't be materially less readable if we just changed the examples to use to_tsquery and to_tsvector instead of literal-casting. Either way, there is something going on that doesn't meet the eye, and we might as well write an example that is actually OK practice rather than bad practice. regards, tom lane ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [BUGS] BUG #3767: tsearch2 index creation fatal crash
I'm not sure that putting in to_tsvector calls there would be an improvement, though, since at that point we haven't introduced to_tsvector. Uh ... wait a moment ... stop the presses. Thomas is looking at beta1 documentation. CVS HEAD handles this a bit better I think: http://developer.postgresql.org/pgdocs/postgres/textsearch-intro.html#TEXTSEARCH-MATCHING So the first thing is to go bug the www team about updating the online 8.3beta docs, which I shall do forthwith. regards, tom lane ---(end of broadcast)--- TIP 6: explain analyze is your friend