Обсуждение: BUG #6161: Not enough memory error in psql with UTF8 console

Поиск
Список
Период
Сортировка

BUG #6161: Not enough memory error in psql with UTF8 console

От
"Gavin Kistner"
Дата:
The following bug has been logged online:

Bug reference:      6161
Logged by:          Gavin Kistner
Email address:      gkistner@nvidia.com
PostgreSQL version: 9.0.4
Operating system:   Windows 7x64
Description:        Not enough memory error in psql with UTF8 console
Details:

1. Create registry key "HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\Autorun" with value "@chcp 65001>nul" to set Windows console to
UTF8 (see url[1]).

2. Open a new cmd.exe window

3. Connect to a simple database using psql.exe
--> Text displayed:
WARNING: Console code page (65001) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.

4. Type "\dt"

EXPECTED: List of tables.
ACTUAL: "Not enough memory." displayed.

5. \q and close the cmd.exe window.
6. Delete the Autorun registry key.
7. Repeat steps 2-3
--> Text displayed:
WARNING: Console code page (437) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.

4. Type "\dt"
--> List of tables is properly displayed

[1] http://superuser.com/questions/269818

Re: BUG #6161: Not enough memory error in psql with UTF8 console

От
Bruce Momjian
Дата:
Wow, that is odd.  Can you get us a backtrace of psql in that case?

---------------------------------------------------------------------------

Gavin Kistner wrote:
>
> The following bug has been logged online:
>
> Bug reference:      6161
> Logged by:          Gavin Kistner
> Email address:      gkistner@nvidia.com
> PostgreSQL version: 9.0.4
> Operating system:   Windows 7x64
> Description:        Not enough memory error in psql with UTF8 console
> Details:
>
> 1. Create registry key "HKEY_LOCAL_MACHINE\Software\Microsoft\Command
> Processor\Autorun" with value "@chcp 65001>nul" to set Windows console to
> UTF8 (see url[1]).
>
> 2. Open a new cmd.exe window
>
> 3. Connect to a simple database using psql.exe
> --> Text displayed:
> WARNING: Console code page (65001) differs from Windows code page (1252)
>          8-bit characters might not work correctly. See psql reference
>          page "Notes for Windows users" for details.
>
> 4. Type "\dt"
>
> EXPECTED: List of tables.
> ACTUAL: "Not enough memory." displayed.
>
> 5. \q and close the cmd.exe window.
> 6. Delete the Autorun registry key.
> 7. Repeat steps 2-3
> --> Text displayed:
> WARNING: Console code page (437) differs from Windows code page (1252)
>          8-bit characters might not work correctly. See psql reference
>          page "Notes for Windows users" for details.
>
> 4. Type "\dt"
> --> List of tables is properly displayed
>
> [1] http://superuser.com/questions/269818
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

Re: BUG #6161: Not enough memory error in psql with UTF8 console

От
Gavin Kistner
Дата:
I'm not a PSQL dev, just a normal user. If you let me know how to get you a=
 backtrace, I'd be happy to help.

Here are simpler repro steps (no registry hacking required):
https://gist.github.com/1142428

Note the last line - the psql binary doesn't quit or crash with the "Not en=
ough memory." error, it just fails to perform the specified command when th=
e cmd.exe code page is set to 65001.


-----Original Message-----
From: Bruce Momjian [mailto:bruce@momjian.us]=20
Sent: Tuesday, August 16, 2011 7:35 AM
To: Gavin Kistner
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #6161: Not enough memory error in psql with UTF8 co=
nsole


Wow, that is odd.  Can you get us a backtrace of psql in that case?

---------------------------------------------------------------------------

Gavin Kistner wrote:
>=20
> The following bug has been logged online:
>=20
> Bug reference:      6161
> Logged by:          Gavin Kistner
> Email address:      gkistner@nvidia.com
> PostgreSQL version: 9.0.4
> Operating system:   Windows 7x64
> Description:        Not enough memory error in psql with UTF8 console
> Details:=20
>=20
> 1. Create registry key "HKEY_LOCAL_MACHINE\Software\Microsoft\Command
> Processor\Autorun" with value "@chcp 65001>nul" to set Windows console=20
> to
> UTF8 (see url[1]).
>=20
> 2. Open a new cmd.exe window
>=20
> 3. Connect to a simple database using psql.exe
> --> Text displayed:
> WARNING: Console code page (65001) differs from Windows code page (1252)
>          8-bit characters might not work correctly. See psql reference
>          page "Notes for Windows users" for details.
>=20
> 4. Type "\dt"
>=20
> EXPECTED: List of tables.
> ACTUAL: "Not enough memory." displayed.
>=20
> 5. \q and close the cmd.exe window.
> 6. Delete the Autorun registry key.
> 7. Repeat steps 2-3
> --> Text displayed:
> WARNING: Console code page (437) differs from Windows code page (1252)
>          8-bit characters might not work correctly. See psql reference
>          page "Notes for Windows users" for details.
>=20
> 4. Type "\dt"
> --> List of tables is properly displayed
>=20
> [1] http://superuser.com/questions/269818
>=20
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make=20
> changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs

--=20
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
---------------------------------------------------------------------------=
--------
This email message is for the sole use of the intended recipient(s) and may=
 contain
confidential information.  Any unauthorized review, use, disclosure or dist=
ribution
is prohibited.  If you are not the intended recipient, please contact the s=
ender by
reply email and destroy all copies of the original message.
---------------------------------------------------------------------------=
--------