Re: PGexec dumps core at pqResultAlloc
От | ljb |
---|---|
Тема | Re: PGexec dumps core at pqResultAlloc |
Дата | |
Msg-id | boulmg$evl$2@news.hub.org обсуждение исходный текст |
Ответ на | PGexec dumps core at pqResultAlloc ("ryan p bobko" <ryan@ostrich-emulators.com>) |
Ответы |
Re: PGexec dumps core at pqResultAlloc
|
Список | pgsql-general |
ryan@ostrich-emulators.com wrote: >... > #0 0x408cf47e in malloc_consolidate () from /lib/libc.so.6 > #1 0x408ced83 in _int_malloc () from /lib/libc.so.6 > #2 0x408cdf1a in malloc () from /lib/libc.so.6 > #3 0x40c834cd in pqResultAlloc (res=0x4098a9a0, nBytes=1083746720, > isBinary=1 '\001') at fe-exec.c:496 > #4 0x40c83e18 in getRowDescriptions (conn=0x80699b8) at fe-exec.c:1129 > #5 0x40c83d5f in parseInput (conn= x80699b8) at fe-exec.c:1023 > #6 0x40c8437b in PQgetResult (conn=0x80699b8) at fe-exec.c:1349 > #7 0x40c84489 in PQexec (conn=0x80699b8, query=0x8070398 "select * from > accounts where ID!=0") at fe-exec.c:1461 > > The code is pretty basic, in my opinion. The following is the snippet that's > failling. By the time execution gets to this point, the connection is open, > and the first line always prints 0 1 0 > --- > cout<<conn<<": "<<PQstatus( conn )<<" "<<CONNECTION_BAD<<" > "<<CONNECTION_OK<<endl; > > PGresult * result=PQexec( conn, "BEGIN" ); > cout<<"here a"<<endl; > PQclear( result ); > > cout<<"here a.1"<<endl; > result=PQexec( conn, stmt ); > cout<<"here a.2"<<endl; > -- > > Platform: Slackware Linux 9.1, x86, gcc-3.2.3 If you aren't getting answers it's not because nobody looked at this. I did, and I can't figure it out. You are apparently running 7.3.x based on the code line numbers. The only way pqResultAlloc could be asked to allocate 1,083,746,720 bytes there would be if you had a table with 67,734,170 columns which is impossible - the protocol simply doesn't allow it. Sorry this doesn't help, but either your PostgreSQL server is returning garbage for the RowDescription message, or something else is badly awry in your program.
В списке pgsql-general по дате отправления: