From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Vijlbrief <tom(dot)vijlbrief(at)knoware(dot)nl> |
Cc: | pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, pgsql-patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: libpq++ update |
Date: | 2000-04-20 15:44:50 |
Message-ID: | 200004201544.LAA01617@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-patches |
This looks like good stuff. Can someone suggest what I should do with
it, seeing how close we are to 7.0 final? Maybe I should create a diff
now, and apply it to 7.0.1.
> ============================================================================
> POSTGRESQL BUG REPORT TEMPLATE
> ============================================================================
>
>
> Your name : Tom Vijlbrief
> Your email address : tom(dot)vijlbrief(at)knoware(dot)nl
>
>
> System Configuration
> ---------------------
> Architecture (example: Intel Pentium) : Intel PII
>
> Operating System (example: Linux 2.0.26 ELF) : Linux 2.3.51
>
> PostgreSQL version (example: PostgreSQL-6.5.3): PostgreSQL-6.5.3
>
> Compiler used (example: gcc 2.8.0) : egcs-2.91.66
>
>
> Please enter a FULL description of your problem:
>
> libpq++ leaks file descriptors and memory.
>
> The constructor of PgConnection leaks a file everytime it is called.
> Also DEBUG is on by default.
>
> In addition the header file libpq++.H is insane. It contains
> outdated copies of the header files (pglobject.h and the others).
>
> The libpq++.H declares a smaller PgLargeObject (without class member
> variables) then the PgLargeObject in pglobject.h.
> This is the reason that examples/testlo crashes !
>
> I fixed the header classes and memory/file leakage. I also added
> header file PostgresDatabase.h which contains a new implementation
> with exception handling, cursors and transactions. Look at
> examples/testexcep.cc for the usage. The C++ interface is still
> compatible with the old version.
>
>
> Please describe a way to repeat the problem. Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
> Running the next program, it crashes after approx. 1000 iterations
> (depending on configuration of OS)
>
>
> #include <libpq++.H>
>
> #include <iostream>
>
> int main()
> {
> for (int i= 0; i < 10000; i++) {
> cerr << i << endl;
> PgConnection("");
> }
> }
>
>
> Running examples/testlo crashes with a damaged stack.
>
>
> If you know how this problem might be fixed, list the solution below:
> ---------------------------------------------------------------------
>
> change 'FILE * debug' from a local var to a static var in
> pgconnection.cc.
>
> I added a tar containing a new version of the src/interfaces/libpq++
> directory
> because many files (source, headers, README, TODO, CHANGES) are
> changed.
[Attachment, skipping...]
--
Bruce Momjian | http://www.op.net/~candle
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2000-04-21 22:06:46 | Re: [HACKERS] Re: Join/table alias bug |
Previous Message | Tom Vijlbrief | 2000-04-20 15:11:22 | libpq++ update |
From | Date | Subject | |
---|---|---|---|
Next Message | D'Arcy J.M. Cain | 2000-05-31 02:23:27 | Announce: Release of PyGreSQL version 3.0 |
Previous Message | Tom Vijlbrief | 2000-04-20 15:11:22 | libpq++ update |