Segmentation fault in psql
От | Patrick Bye (WFF) |
---|---|
Тема | Segmentation fault in psql |
Дата | |
Msg-id | 0D485272F9CB4E4AA9171FD13CBAC78206BD9D98@ntexsrvr.westfair.ca обсуждение исходный текст |
Список | pgsql-general |
I'm getting a segmentation fault in psql in 7.3.2. Last working version I had was 7.2.4. Here's the backtrace from the debugger. > Program received signal SIGSEGV, Segmentation fault. > 0x4017c8f8 in strlen () at ../sysdeps/generic/strlen.c:150 > 150 ../sysdeps/generic/strlen.c: No such file or directory. > (gdb) bt > #0 0x4017c8f8 in strlen () at ../sysdeps/generic/strlen.c:150 > #1 0x4017c5f8 in strdup () at strdup.c:49 > #2 0x412870 in SetVariable (space=0x443aa0, name=0x410a51 "ENCODING", > value=0xd105810 <Address 0xd105810 out of bounds>) at variables.c:107 > #3 0x41112c in main (argc=2, argv=0x0) at startup.c:227 I'm getting an invalid address back everytime pg_encoding_to_char is called. I added a printf to the function (shown below) and then everything works fine. I think it has something to do with the optimizations but I don't know where to change that. const char * pg_encoding_to_char(int encoding) { if (PG_VALID_ENCODING(encoding)) { pg_enc2name *p = &pg_enc2name_tbl[encoding]; Assert(encoding == p->encoding); printf("p->name = %s\n",p->name); return p->name; } return ""; } Patrick Bye Programmer / Analyst Westfair Foods Ltd. pbye@westfair.ca (403) 291-6538
В списке pgsql-general по дате отправления: