Skip site navigation (1) Skip section navigation (2)

回复:Re: BUG #6460: routine my_log2 use incorrect data type ?

From: zoulx1982 <zoulx1982(at)163(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: 回复:Re: BUG #6460: routine my_log2 use incorrect data type ?
Date: 2012-02-18 08:28:56
Message-ID: 796a140d.1740d.1358f940468.Coremail.zoulx1982@163.com (view raw or flat)
Thread:
Lists: 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(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>zoulx1982(at)163(dot)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

In response to

pgsql-bugs by date

Next:From: zoulx1982Date: 2012-02-18 08:34:21
Subject: Re: BUG #6460: routine my_log2 use incorrect data type ?
Previous:From: mark.langsdorfDate: 2012-02-17 22:55:59
Subject: BUG #6462: rpmbuild fails during regression tests on SMP ARM machines

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group