Post Count Overflow?

Is it possible for me to make so many posts on the SDMB that my post counter will overflow and cause the server to crash? ie: a buffer overflow problem. I think this is unlikely but you never know.

People have been banned from here for basically posting too much so take that into account. There isn’t a hard limit to how much you can post but you do have to put together intelligent and insightful posts taken as a general rule. We have posters with over 10,000 posts and that is good evidence that the counter will go up to 99,999 at least.

I have been posting here most days for 7 years and I haven’t hit 10,000 yet. To hit 99,999 posts, you would have to keep at it for 70 years at my rate or know about 10 times more subjects than I do. I will give you 3 or 4 times as much but 10 is a lot.

That assumes that the counter can’t go past 99,999 and that isn’t a safe bet. You might need to post here for 700 years and the subscription alone would cost you $10,500 in today’s dollars.

Is this factual? I never knew this. I think I was pushing the limit of how much you could post last year. I was up to 21+ posts per day for an extended period. I only had a few posters complain and no mods or admins. What did the offenders manage to do to post too much and get banned? Was it just a lot of nonsense posts?

I know we have at least three posters over 20,000. Possibly more. No one is at 30,000 yet.

Jim (Should I be worried?)

The post counters might not necessarily be able to go all the way to 99,999 even though you may be able to get to 10,000. The reason is that computers use base 2 to count while us lowly humans use base 10. In many programming languages, such as C++, an integer can only go up to around 32,767 (http://home.att.net/~jackklein/c/inttypes.html). Then you run into overflow issues and can cause programs to crash.

Maybe the resident SDMB server tech can answer this question. Or is someone willing to shoot for 99,999 posts? :stuck_out_tongue:

There was at least one person back in the day that got banned for essentially posting too much. I don’t know how much you can talk about that stuff in this forum so that I will just say that the problem was posting to way more threads than expertise allowed and a post count that dwarfed most other active members.

Hmmmmm. Quick googling showed that as of '02, there was a 65535 post count limit in vBulletin.
Whether or not that would carry over, it is a data point.

People are going to be firing up Excel now to plot a time-line to their own day of judgement. Based on past history, I will reach my theoretical upper-bound posting limit on May 3, 2065. Guess I will have to find something else to do after that.

A user’s post count in vBulletin is in the posts field of the user table. The type of the field is INT(10). The maximum value of an INT type is 4294967295.

What happens when the post count goes over the limit, elmwood?

However, PHP does not understand unsigned integers (on most 32 bit platforms, anyways) and as such the real upper bounds for any integer you plan on performing math on is 2147483647. Treating the value as an integer (adding or subtracting from it for example) will bump the internal type to a float, and you will lose precision.

Note that this is only a problem if you are doing math on it. If you let the database increment the value, and then never do anything on the PHP side other than display it, PHP will treat the value as a string and it can be arbitrarily large. I don’t know if MySQL or PHP does the incrementing in this case, though. If it’s PHP, then the upper limit may “only” be 2.1 billion or so.

(I don’t know how 64 bit platforms affect this, and whether or not the SDMB uses 64 bit. This could affect the answer.)

Come off it.

You’ve been posting on message boards for years. As Shagnastius Suetonius Tranquillus you were infamous for answering questions on the lives of the Caesars, whores, and how to get wine stains out of a toga.

We forever say bye to Opal.

Others have pointed out how huge a number of posts you would have to have to cause this. (Thousands of times more that the total of all posts, from all people, since this board was started.)

It is extremely unlikely that such an computational overflow would cause the server to crash! Depending on how the code was written, such overflows normally cause one of these results:

  • the number overflows, and starts over at zero. (Like in an odometer.)
  • the number overflows, and is interpreted as a 2’s complement number. If effect, it becomes a huge negative number.
  • the number overflows the computation field, but is truncated when it is moved to the display field. In most cases, the leftmost digit is dropped; sometimes it’s the rightmost.
    But for any of these, the result would be that your post count would be wrong. It would not effect the operation of the whole server.

And this is NOT a buffer overflow condition. Buffer overruns happen when a system input (file input, a screen input field, or an passed input parameter) is too large for the buffer allocated to it, but the code was poorly written enough to load all that string, thus overflowing the buffer, overwriting some other code, and possibly allowing entry for a hacker. This is partially due to the way the C language allocates strings, which comes from the machine that the designers of C were using. Some other languages protect against this better. The designers of COBOL, back in the 1950’s planned for machine-independence and worried about accuracy, so this kind of string buffer overflow can’t happen in COBOL.

Here’s a link Back to Basics – Joel on Software to a good explanation of buffer overflows (but rather technical, takes a bit of programming knowledge to understand it).

Another marginal possibility (depending on implementation) is binary truncation - in which case the number would increase to a certain point, then snap back down to a value that was 2^(n-1) less than before (where n is the number of bits being used to store the value)

There’s a very cool demo on buffer overflows here. Scroll down to “Buffer Overflow Demos” and click on any of the links to Java applets which visually help you conceptualize exactly what a buffer overflow is, and how it can be used to exploit weakness (like by overwriting a return pointer to point the program to your malicious code.)

There seem to be a few conflicting answers to the OP, but if this one is correct, Guinastasia’s on course to hit this one some time next year, I would imagine.

Well, the best case scenario based on what we know is ~4 billion posts (assuming the database column size is the limiting factor), worst case is ~2 billion (PHP’s integer limit on a 32 bit machine). I can’t imagine how it could be less than 2 billion, unless someone went out of their way to change the column width to something small.

It looks like the 65k value was an old version of the forum software, where they must have been using a smaller column for that data.

Also note that it would be pretty much impossible for hitting this limit to result in a true buffer overflow. PHP is memory managed, so tipping the internal type into a float isn’t going to result in somehow crashing the whole application or server. It might result in posting problems where some code expects the value to change when incremented and it doesn’t, but nothing catastrophic.

…With a grand total of only 8 posts since joining a few days ago it is highly unlikely that a post counter overflow is the culprit.
There may some other factor at work. :wink:

Moved to ATMB.

-xash
General Questions Moderator

Since nobody else is willing to name a name the poster who got banned for posting too much (in some people opinion) was a fella named Handy. Supposedly what did him in was he posted advise, especially concerning medical matters that was not properly researched to say the least. I personally didn’t understand why anyone would take medical advice off these boards, but that’s what was claimed. Fact is that said poster was taken to the PIT time after time by people that didn’t like his hit and run tactics, etc., etc. He claimed to never visit the PIT, which seems to infuriated them even more. He hit 10,000 long before anyone even dreamed it was possible and with that post I believe his fate was sealed, although that will be denied.