回复:Re: BUG #6460: routine my_log2 use incorrect data type ? - Mailing list pgsql-bugs

From zoulx1982
Subject 回复:Re: BUG #6460: routine my_log2 use incorrect data type ?
Date
Msg-id 796a140d.1740d.1358f940468.Coremail.zoulx1982@163.com
Whole thread Raw
In response to Re: BUG #6460: routine my_log2 use incorrect data type ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
yes, I  build it by myself, and the version is 9.1.2, following is my build process.
1.  in Visual Studio 2008 x64 cmd, exec  "set CONFIG=DEBUG"
2.  exec "build" , and i see "Detected hardware platform: x64"
3. exec "perl install.pl install2 Debug"
4. cd ****/install2
5. initdb a data dir, "initdb.exe -Atrust -USYSTEM --no-locale -D ../data"
6. startup postgres ""postgres" -D "../data" -c shared_buffers=1073741819"
 
above is my build process, and whether one of these steps incorrect ?
 
here is stack info
 postgres.exe!my_log2(long num=1073741835)  行1397 + 0x1e 字节 C
  postgres.exe!hash_estimate_size(long num_entries=1073741835, unsigned __int64 entrysize=24)  行626 + 0x9 字节 C
  postgres.exe!BufTableShmemSize(int size=1073741835)  行46 C
  postgres.exe!StrategyShmemSize()  行287 + 0xe 字节 C
  postgres.exe!BufferShmemSize()  行175 + 0x5 字节 C
  postgres.exe!CreateSharedMemoryAndSemaphores(char makePrivate=0, int port=5432)  行107 + 0x5 字节 C
  postgres.exe!reset_shared(int port=5432)  行2122 C
  postgres.exe!PostmasterMain(int argc=5, char * * argv=0x0000000000873590)  行971 C
  postgres.exe!main(int argc=5, char * * argv=0x0000000000873590)  行199 + 0xe 字节 C
 
best wishes

At 2012-02-18 06:27:04,"Tom Lane" <tgl@sss.pgh.pa.us> wrote:
>zoulx1982@163.com writes:
>>  I startup postgres in win server 2008 64-bit with
>> shared_buffers=1073741819, but find it doesn't work.
>
>Well, that's hardly the fault of my_log2.  What you should have gotten
>is
>
>FATAL:  requested shared memory size overflows size_t
>
>and I do get that when I try that value.  Apparently the overflow check
>in mul_size() is broken in your build.   Did you build it yourself, and
>if so with which compiler and what compilation options?  If you didn't
>build it yourself, where did you get it from?
>
>> size_t in win64 is 8 bytes, so add_size and mul_size can't check overflow,
>
>Sure they can.  Or at least if they can't, it's not because of size_t
>being 8 bytes.  That code works fine on every other 64-bit platform.
>
> regards, tom lane


pgsql-bugs by date:

Previous
From: khalil.alijani@gmail.com
Date:
Subject: BUG #6463: tables can have at most 1600 columns
Next
From: lucian.naie@gmail.com
Date:
Subject: BUG #6464: Installer (postgresql-9.1.2-1-windows-x64.exe) doesn't work