phpBB2Refugees.com Logo
Not affiliated with or endorsed by the phpBB Group

Register •  Login 

Continue the legacy...

Welcome to all phpBB2 Refugees!Wave Smilie

This site is intended to continue support for the legacy 2.x line of the phpBB2 bulletin board package. If you are a fan of phpBB2, please, by all means register, post, and help us out by offering your suggestions. We are primarily a community and support network. Our secondary goal is to provide a phpBB2 MOD Author and Styles area.

unable to moderate topics with more than 31 pages


 
Search this topic... | Search General Support... | Search Box
Register or Login to Post    Index » General Support  Previous TopicPrint TopicNext Topic
Author Message
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Mon Dec 10, 2012 12:17 pm 
Post subject: unable to moderate topics with more than 31 pages

See topic title. As soon as I have (about) 800 posts (30+ pages with 25 posts per page), I can no longer moderate or split he topic. I have to resort to clicking X on single posts till the total count in that topic goes below (~)800 posts.

When I have so lowered the number of posts the moderate link (http://......../forum/modcp.php?mode=split&t=..........) will work again and I can split the topic now.

Is there a sollution? Somehow? Thanks!!!
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Mon Dec 10, 2012 12:19 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

Maybe this error is somehow related:

Quote:

Could not update user post count information

DEBUG MODE

SQL Error : 1690 BIGINT UNSIGNED value is out of range in '(`kerstdorp_forum`.`phpbb_users`.`user_posts` - 3)'

SELECT poster_id, COUNT(post_id) AS posts FROM phpbb_posts WHERE topic_id IN (7232) GROUP BY poster_id

Line : 296
File : modcp.php
Back to top
dogs and things
Board Member



Joined: 18 Nov 2008

Posts: 628
Location: Spain


flag
PostPosted: Tue Dec 11, 2012 5:23 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

Hi,

Have a read of Out-of-Range and Overflow Handling.

_________________
phpBB2 will never die, I hope!
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Wed Dec 12, 2012 9:20 am 
Post subject: Re: unable to moderate topics with more than 31 pages

Jippie... Ouch...

I've read it... That unfortunately does not mean I understand it... Well. Sort of I guess. Something to do with large numbers icon_lol.gif icon_lol.gif

Now for the 64000 dollar question... Can it be solved in phpBB2? Or is it one of those things I have to learn to live with?
Back to top
dogs and things
Board Member



Joined: 18 Nov 2008

Posts: 628
Location: Spain


flag
PostPosted: Wed Dec 12, 2012 10:04 am 
Post subject: Re: unable to moderate topics with more than 31 pages

Well, I am not very bright when it comes to Mysql and I believe to have understood your problem might have to do with the version of Mysql you are running and whether strict SQL mode is enabled.

What is the version of Mysql you are running on?

Hopefully someone who understands more of Mysql jumps in here.

_________________
phpBB2 will never die, I hope!
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Wed Dec 12, 2012 11:16 am 
Post subject: Re: unable to moderate topics with more than 31 pages

As far as I can find:


MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.5.9
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE -I/usr/local/mysql/include
MYSQL_LIBS -L/usr/local/mysql/lib -lmysqlclient

So, that looks up-to-date.
Back to top
Salvatos
Board Member



Joined: 19 Feb 2009

Posts: 449
Location: Québec


flag
PostPosted: Wed Dec 12, 2012 1:36 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

What I don't get is that from what I understand from that page, the user_posts value would have to be ludicrously high to prompt that error. Does one of your users have more than 18446744073709551615 posts?

You say you "can't moderate" a thread with more than 800 posts in it... what happens if you try, exactly?

Can you post the ~70 lines leading up to 296 (starting at switch( $mode ))?

As for the error you copied, I'm assuming you get it when you delete posts individually, judging from where it appears in the code. Does the deletion work regardless?

May I ask how many users/posts you have on your boards?
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Wed Dec 12, 2012 7:22 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

I am guessing the error is from something different? No way anybody has that amount of posts... My first focus is on the "mass deletetion" tool/option. i.e. Moderation tool. In other words (geez) mass select a ton of posts and delete them.


When we try the moderation mass-select the board does not give an error. The site does.

step by step steps.

forum (duh)
select area (?) / section (?) /
select "moderate" (now we go to http://www.nl/forum/modcp.php?f=14&start=0&sid= ... )
now select a topic with more than 30 pages (now we go to http://www.nl/forum/modcp.php?mode=split&t=9567&sid= ... )

The SITE now gives:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request www.kerstdorpen.nl

PHPbb does not pick it up.



As for "stats":
De gebruikers hebben in totaal 105666 berichten geplaatst (=number of messages)
We hebben 1092 geregistreerde gebruikers (=number of users)



------
this just in, thanks to my SUPERB team of mods:

The error DEBUG MODE SQL Error : 1690

pops up when I try to delete a topic in one go ( http://www.nl/forum/modcp.php?t=11326&mode=delete&sid=... ) when and if that topic has more than 50 pages.


Recap: So, two things, right? But both have to do with deleting of posts. One is trying to remove multiple single posts from a topic. Second is deleting an entire topic with more than (~)50 pages.

As per request:

Code:
switch( $mode )
{
   case 'delete':
      if (!$is_auth['auth_delete'])
      {
         message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_auth_delete'], $is_auth['auth_delete_type']));
      }

      $page_title = $lang['Mod_CP'];
      include($phpbb_root_path . 'includes/page_header.'.$phpEx);

      if ( $confirm )
      {
           if ( empty($HTTP_POST_VARS['topic_id_list']) && empty($topic_id) )
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }
         include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

         $topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ? $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

         $topic_id_sql = '';
         for($i = 0; $i < count($topics); $i++)
         {
            $topic_id_sql .= ( ( $topic_id_sql != '' ) ? ', ' : '' ) . intval($topics[$i]);
         }

         $sql = "SELECT topic_id
            FROM " . TOPICS_TABLE . "
            WHERE topic_id IN ($topic_id_sql)
               AND forum_id = $forum_id";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, 'Could not get topic id information', '', __LINE__, __FILE__, $sql);
         }
         
         $topic_id_sql = '';
         while ($row = $db->sql_fetchrow($result))
         {
            $topic_id_sql .= (($topic_id_sql != '') ? ', ' : '') . intval($row['topic_id']);
         }
         $db->sql_freeresult($result);
         if ( $topic_id_sql == '')
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }
         $sql = "SELECT poster_id, COUNT(post_id) AS posts
            FROM " . POSTS_TABLE . "
            WHERE topic_id IN ($topic_id_sql)
            GROUP BY poster_id";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, 'Could not get poster id information', '', __LINE__, __FILE__, $sql);
         }

         $count_sql = array();
         while ( $row = $db->sql_fetchrow($result) )
         {
            $count_sql[] = "UPDATE " . USERS_TABLE . "
               SET user_posts = user_posts - " . $row['posts'] . "
               WHERE user_id = " . $row['poster_id'];
         }
         $db->sql_freeresult($result);

         if ( sizeof($count_sql) )
         {
            for($i = 0; $i < sizeof($count_sql); $i++)
            {
               if ( !$db->sql_query($count_sql[$i]) )
               {
                  message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);
               }
            }
         }
         




Thank you for any and all help!
Back to top
Salvatos
Board Member



Joined: 19 Feb 2009

Posts: 449
Location: Québec


flag
PostPosted: Thu Dec 13, 2012 1:30 am 
Post subject: Re: unable to moderate topics with more than 31 pages

Your internal server error is probably a timeout, either from PHP or MySQL. Not much we can do about that in the code as far as I know, so you'd have to increase your limits in your configuration.

As for 1690, have you confirmed that this happens on more than one topic? Considering that unsigned bigints have a minimum value of 0, I'm thinking there might be an issue with a particular user in a particular thread that causes the code to try and insert something like "0 - 3". Can you try changing
Code:
message_die(GENERAL_ERROR, 'Could not update user post count information', '', __LINE__, __FILE__, $sql);

into
Code:
message_die(GENERAL_ERROR, 'Could not update user post count information for user '.$row['poster_id'], '', __LINE__, __FILE__, $count_sql[$i]);

temporarily to see where the operation fails? Please post the resulting error and check 1) that user's post count and 2) how many posts that user has in the thread you're deleting. This should allow us to see if the data is what it should be. If it is, we know that there's an issue fetching it (maybe a more discreet timeout if this does happen in any large thread), and if it's not we can try to figure out why.
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Fri Dec 14, 2012 5:20 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

I have opened a topic on my board where I call for posts icon_wink.gif I do not have a topic with 50+ pages available for deleting, so we have to wait till we have gathered a topic with that amount of posts to test. icon_rolleyes.gif


(edit: we have hit 15 pages in 15 minutes icon_biggrin.gif icon_biggrin.gif Thjs is turning in to a fun challenge icon_mrgreen.gif icon_mrgreen.gif icon_twisted.gif )
Back to top
Holger
Board Member



Joined: 19 Jan 2009

Posts: 509
Location: Hanover


flag
PostPosted: Tue Jan 01, 2013 10:42 am 
Post subject: Re: unable to moderate topics with more than 31 pages

(I have topics with far more pages working correctly.)
_________________
Love your data! Back it up!
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Wed Jan 02, 2013 9:51 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

I may be a bit closer to the reason for the problem. Hang on: this is going to be a fun ride:

We had a few problems with a specific user on the board, and (long story) I ended up deleting that user. Completely. Not "inactive", Not "banned", nope: deleted. From within the forum. Not thru SQL magic.

Now we have discovered, a topic with 50+ pages can be moderated and can be deleted. UNLESS (!) that deleted user posted somewhere in that topic!

So... Since we have 91085 posts on the board and there is no way to locate any posts by that ex-member (seacrh for "poster" comes up empty, search for "the name" pops up 100's of results, that member was center of some heavy debate) I change my question icon_rolleyes.gif

How can I locate posts made on my forum made by a member that is no longer a member, and is now categorized as a guest on the forum?

I understand the problem now (deleting a post by an unknown user is pretty darn difficult), now for the sollution? One sollution I found was to relocate the entire thread to a seperate forum (ex. forum/viewforum.php?f=45), and than delete the entire forum #45. That seems to work...



kdbug.JPG
 Description:
 Filesize:  5.34 KB
 Viewed:  38347 Time(s)

kdbug.JPG


Back to top
Salvatos
Board Member



Joined: 19 Feb 2009

Posts: 449
Location: Québec


flag
PostPosted: Thu Jan 03, 2013 2:55 pm 
Post subject: Re: unable to moderate topics with more than 31 pages

If you can locate one of his posts, I think you should still be able to see his IP. With this you can manually search the relevant tables to remove associated entries (posts, posts_text, etc.). Keep in mind that he probably had more than one throughout his stay, so you won't get everything at once.

However I'm surprised that you can't search for his name. I have a member who deleted his account at one point and made a new one, and I can find his old posts using an author search along with his new account's posts. His username also shows up in the 'posts' table even where his userid is -1.
Back to top
novw
Board Member



Joined: 14 Nov 2011

Posts: 15



PostPosted: Sat Jan 05, 2013 11:28 am 
Post subject: Re: unable to moderate topics with more than 31 pages

Manually as per mysql? Big nono on that idea icon_biggrin.gif I am too dumb to use that icon_confused.gif

The member name no longer exists. It was not them deleting their account, it was me. What we now have figured out is we can delete single posts, if and when we do that twice (??) in other words, find a post made by the ghost member, press the X (delete singe post), get an error, go page back, press the X again, and the post is now reported as non-existing. It is gone. And thats what we want...

It is a drag, but fortunately as far as we can see now it is a relatively quick sollution.

It ofcourse has no sense to report this as a bug in PHPbb, right?
Back to top
Display posts from previous:   
Register or Login to Post    Index » General Support  Previous TopicPrint TopicNext Topic
Page 1 of 1 All times are GMT - 4 Hours
 
Jump to:  

Index • About • FAQ • Rules • Privacy • Search •  Register •  Login 
Not affiliated with or endorsed by the phpBB Group
Powered by phpBB2 © phpBB Group
Generated in 0.1346 seconds using 19 queries. (SQL 0.0146 Parse 0.0211 Other 0.0989)
phpBB Customizations by the phpBBDoctor.com
Template Design by DeLFlo and MomentsOfLight.com Moments of Light Logo