[OSM-dev] Reminder: Node 32-bit exhaustion

Stephan Knauss osm at stephans-server.de
Tue Feb 5 22:52:11 GMT 2013


Hello Andrew,

On 05.02.2013 21:13, Andrew M. Bishop wrote:
> Since 2^31 nodes will make older versions of some software unusable
> and 2^32 nodes will make other versions unusable it would be helpful
> to have a wiki page to record this information.  I think that most
> useful would be a table of the minimum version of each piece of
> software to support true 32-bit (> 2^31) and 64-bit node numbers.

I was going to suggest exactly the same.

I recently double checked and contrary to my believe, my server was not 
a 64bit installation but 32bit userland inside a 64bit kernel.
Maybe I selected the wrong basic image when buying the vserver years 
ago. And PHP has only 64bit ints as a 64bit binary :(

I verified my scripts and think they are safe. You might want to check 
yours as well.

I hope most software should be able to handle a long long (64bit int) on 
a 32 bit platform, checking does help bringing clarity.

Sharing some basic stuff for an upcoming wiki page:

How do I find out how many bits my server OS has?

Windows:
"wmic os get osarchitecture"

Linux
kernel:
uname -m

software:
dpkg --print-architecture


Webspace with PHP:
<?php
echo "PHP int size: ".PHP_INT_SIZE." which is max ".PHP_INT_MAX;


Consequences of 32 bit:
PHP doing postgresql queries return ID from bigint column not as 
integer, but as string. If doing numerical operations a lib like GMP is 
required.


Stephan




More information about the dev mailing list