• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Fixed Importing Users Error

#1
We have created a fresh install of the XenForo installation and want to import multiple 1.2 forums into one installation.

I have managed to import the first forum with relatively no problem. All users, user groups, nodes, posts, etc all came in without issue.

However, when I go to import the second forum I run into a server error when importing users:

Server Error
Argument 2 passed to XenForo_Model_Admin::updateUserAdminPermissions() must be an array, boolean given, called in /data/www/forum.gamebreakernation.com/library/XenForo/Model/Import.php on line 909 and defined

  1. XenForo_Application::handlePhpError() in XenForo/Model/Admin.php at line 280
  2. XenForo_Model_Admin->updateUserAdminPermissions() in XenForo/Model/Import.php at line 909
  3. XenForo_Model_Import->importAdmin() in XenForo/Importer/XenForo.php at line 778
  4. XenForo_Importer_XenForo->_importUser() in XenForo/Importer/XenForo.php at line 623
  5. XenForo_Importer_XenForo->_importOrMergeUser() in XenForo/Importer/XenForo.php at line 377
  6. XenForo_Importer_XenForo->stepUsers() in XenForo/Importer/Abstract.php at line 77
  7. XenForo_Importer_Abstract->runStep() in XenForo/ControllerAdmin/Import.php at line 195
  8. XenForo_ControllerAdmin_Import->_runStep() in XenForo/ControllerAdmin/Import.php at line 247
  9. XenForo_ControllerAdmin_Import->_startStep() in XenForo/ControllerAdmin/Import.php at line 190
  10. XenForo_ControllerAdmin_Import->actionStartStep() in XenForo/FrontController.php at line 337
  11. XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
  12. XenForo_FrontController->run() in /data/www/forum.gamebreakernation.com/admin.php at line 13

------------

Any suggestions?
 

Mike

XenForo developer
Staff member
#4
I can see how that can theoretically happen (and an error case that we could cover), but I don't see why it would happen. Would it be possible to get a dump of the xf_admin table (with data) from the forum you're importing?
 

Brogan

XenForo moderator
Staff member
#5
Are you able to determine which user it is failing on?
It should be the one after the last one successfully imported, in terms of user ID.

Just trying to determine what it is about that user which would cause it.
 
#6
Since it fails immediately I assume that would be the first user which is the admin account. I had to wipe the entire forums due to another issue I had noticed, so I am the process of starting over and this issue might be resolved after realizing what I had done in regards to merging by email. So hopefully this attempt goes without that issue.

Will update when I get to that point again.
 
#7
Alright I am still having the same issue and it occurs immediately upon starting to import users. So I assume that means it is the admin account since it would be the first account.

I can not provide a DB dump or anything sadly sorry, as I do not have that access to right now.
 
#8
Sorry for triple posting.

Here is the data from the server error log:

Server Error Log
Error Info
ErrorException: Argument 2 passed to XenForo_Model_Admin::updateUserAdminPermissions() must be an array, boolean given, called in /data/www/forum.gamebreakernation.com/library/XenForo/Model/Import.php on line 909 and defined - library/XenForo/Model/Admin.php:280
Generated By: admin, 11 minutes ago
Stack Trace
#0 /data/www/forum.gamebreakernation.com/library/XenForo/Model/Admin.php(280): XenForo_Application::handlePhpError(4096, 'Argument 2 pass...', '/data/www/forum...', 280, Array)
#1 /data/www/forum.gamebreakernation.com/library/XenForo/Model/Import.php(909): XenForo_Model_Admin->updateUserAdminPermissions(2139, false)
#2 /data/www/forum.gamebreakernation.com/library/XenForo/Importer/XenForo.php(778): XenForo_Model_Import->importAdmin(Array)
#3 /data/www/forum.gamebreakernation.com/library/XenForo/Importer/XenForo.php(623): XenForo_Importer_XenForo->_importUser(Array, Array)
#4 /data/www/forum.gamebreakernation.com/library/XenForo/Importer/XenForo.php(377): XenForo_Importer_XenForo->_importOrMergeUser(Array, Array)
#5 /data/www/forum.gamebreakernation.com/library/XenForo/Importer/Abstract.php(77): XenForo_Importer_XenForo->stepUsers(0, Array)
#6 /data/www/forum.gamebreakernation.com/library/XenForo/ControllerAdmin/Import.php(195): XenForo_Importer_Abstract->runStep(Object(XenForo_ControllerAdmin_Import), Object(XenForo_ImportSession), 'users', 0, Array)
#7 /data/www/forum.gamebreakernation.com/library/XenForo/ControllerAdmin/Import.php(247): XenForo_ControllerAdmin_Import->_runStep(Object(XenForo_Importer_XenForo), Object(XenForo_ImportSession), 'users', 0, Array)
#8 /data/www/forum.gamebreakernation.com/library/XenForo/ControllerAdmin/Import.php(190): XenForo_ControllerAdmin_Import->_startStep(Object(XenForo_Importer_XenForo), Object(XenForo_ImportSession), 'users', Array)
#9 /data/www/forum.gamebreakernation.com/library/XenForo/FrontController.php(337): XenForo_ControllerAdmin_Import->actionStartStep()
#10 /data/www/forum.gamebreakernation.com/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#11 /data/www/forum.gamebreakernation.com/admin.php(13): XenForo_FrontController->run()
#12 {main}
Request State
array(3) {
["url"] => string(62) "http://forum.gamebreakernation.com/admin.php?import/start-step"
["_GET"] => array(1) {
["import/start-step"] => string(0) ""
}
["_POST"] => array(3) {
["options"] => array(4) {
["mergeEmail"] => string(1) "1"
["mergeName"] => string(1) "1"
["gravatar"] => string(1) "1"
["_dummy"] => string(1) "1"
}
["step"] => string(5) "users"
["_xfToken"] => string(8) "********"
}
}

NOTE: I have imported 4 other forums with no issues since this issue and they have all merged properly. It is just this one forum that is breaking immediately at import of users.

More information, I have removed the very first account as I thought it was the culprit, and created a whole new super admin account and changed all that in the config file on that site, but that did not solve the issue. I thought perhaps it was a corrupted account, though I suppose it could mean there are several corrupted accounts in a row.

Last bit of information, a good portion of these accounts were imported from a previous forum installation that was running PunBB.

Is it possible that their is miscellaneous user information sitting in the tables from that import that we cannot see that is breaking it? These are honestly the last forums I need to import than I can begin preparing the forums to go back out to the public again.
 
Last edited:

Brogan

XenForo moderator
Staff member
#9
It could well be due to corrupt/missing data from the PunBB import.

As I understand it there's at tool in the vB ACP to fix user profiles - Maintenance -> Update Counters -> Fix broken user profiles
You could try running that.

Other than that, you will need to provide a dump of the table as Mike asked.
 

Mike

XenForo developer
Staff member
#10
It is very likely related to that previous import. Unfortunately, I won't really be able to do any more debugging unless I can see the actual data in the xf_admin table.
 
#11
@Mike and @Brogan

-- MySQL dump 10.13 Distrib 5.5.24, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: xenforo
-- ------------------------------------------------------
-- Server version 5.5.24-0ubuntu0.12.04.1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `xf_admin`
--

DROP TABLE IF EXISTS `xf_admin`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xf_admin` (
`user_id` int(10) unsigned NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL,
`last_login` int(10) unsigned NOT NULL DEFAULT '0',
`permission_cache` mediumblob,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `xf_admin`
--

LOCK TABLES `xf_admin` WRITE;
/*!40000 ALTER TABLE `xf_admin` DISABLE KEYS */;
INSERT INTO `xf_admin` VALUES (6,'1,2,3,4,7,16,19,22,23,24,25',0,'a:23:{s:5:\"addOn\";b:1;s:10:\"attachment\";b:1;s:3:\"ban\";b:1;s:12:\"bbCodeSmilie\";b:1;s:4:\"cron\";b:1;s:3:\"dev\";b:1;s:6:\"import\";b:1;s:8:\"language\";b:1;s:4:\"node\";b:1;s:6:\"notice\";b:1;s:6:\"option\";b:1;s:12:\"rebuildCache\";b:1;s:5:\"style\";b:1;s:6:\"thread\";b:1;s:6:\"trophy\";b:1;s:14:\"upgradeXenForo\";b:1;s:4:\"user\";b:1;s:9:\"userField\";b:1;s:9:\"userGroup\";b:1;s:11:\"userUpgrade\";b:1;s:8:\"viewLogs\";b:1;s:14:\"viewStatistics\";b:1;s:7:\"warning\";b:1;}'),(12,'1,2,3,4,5,7,10,16,19',0,'a:23:{s:5:\"addOn\";b:1;s:10:\"attachment\";b:1;s:3:\"ban\";b:1;s:12:\"bbCodeSmilie\";b:1;s:4:\"cron\";b:1;s:3:\"dev\";b:1;s:6:\"import\";b:1;s:8:\"language\";b:1;s:4:\"node\";b:1;s:6:\"notice\";b:1;s:6:\"option\";b:1;s:12:\"rebuildCache\";b:1;s:5:\"style\";b:1;s:6:\"thread\";b:1;s:6:\"trophy\";b:1;s:14:\"upgradeXenForo\";b:1;s:4:\"user\";b:1;s:9:\"userField\";b:1;s:9:\"userGroup\";b:1;s:11:\"userUpgrade\";b:1;s:8:\"viewLogs\";b:1;s:14:\"vie w Statistics\";b:1;s:7:\"warning\";b:1;}'),(15,'',0,''),(545,'',0,'a:10:{s:10:\"attachment\";b:1;s:3:\"ban\";b:1;s:12:\"bbCodeSmilie\";b:1;s:4:\"node\";b:1;s:6:\"notice\";b:1;s:6:\"option\";b:1;s:6:\"thread\";b:1;s:4:\"user\";b:1;s:9:\"userGroup\";b:1;s:7:\"warning\";b:1;}'),(925,'',0,''),(959,'3,4',0,'a:23:{s:5:\"addOn\";b:1;s:10:\"attachment\";b:1;s:3:\"ban\";b:1;s:12:\"bbCodeSmilie\";b:1;s:4:\"cron\";b:1;s:3:\"dev\";b:1;s:6:\"import\";b:1;s:8:\"language\";b:1;s:4:\"node\";b:1;s:6:\"notice\";b:1;s:6:\"option\";b:1;s:12:\"rebuildCache\";b:1;s:5:\"style\";b:1;s:6:\"thread\";b:1;s:6:\"trophy\";b:1;s:14:\"upgradeXenForo\";b:1;s:4:\"user\";b:1;s:9:\"userField\";b:1;s:9:\"userGroup\";b:1;s:11:\"userUpgrade\";b:1;s:8:\"viewLogs\";b:1;s:14:\"viewStatistics\";b:1;s:7:\"warning\";b:1;}'),(1842,'',0,''),(10293,'3',0,'a:23:{s:6:\"option\";b:1;s:12:\"bbCodeSmilie\";b:1;s:5:\"addOn\";b:1;s:4:\"node\";b:1;s:6:\"thread\";b:1;s:10:\"attachment\";b:1;s:6:\"notice\";b:1;s:4:\"user\";b:1;s:9:\"userField \ ";b:1;s:6:\"trophy\";b:1;s:7:\"warning\";b:1;s:3:\"ban\";b:1;s:9:\"userGroup\";b:1;s:11:\"userUpgrade\";b:1;s:5:\"style\";b:1;s:8:\"language\";b:1;s:4:\"cron\";b:1;s:12:\"rebuildCache\";b:1;s:14:\"viewStatistics\";b:1;s:8:\"viewLogs\";b:1;s:6:\"import\";b:1;s:3:\"dev\";b:1;s:14:\"upgradeXenForo\";b:1;}');
/*!40000 ALTER TABLE `xf_admin` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2013-10-03 11:14:05
 

Mike

XenForo developer
Staff member
#12
Looks like users 15 and 1842. I'll have to add a check to prevent the error but as a workaround you can remove those two rows.
 
#13
So I actually realized it has something to do with them being an administrator.

So I removed them from the admin list and it started, but broke again. Looked back at that dump and saw one more number which matched another admin account of ours. Removed it from the admin list and the import went through smoothly.

Time to refresh this import from the start and finally complete a smooth import. Thank you for the help.