Currently running latest dev, but the same problem occurs with beta2. When trying to update the translation for all projects, the batch process crashes after handling the fourth project (first three projects always show up-to-date) with AJAX HTTP 403 error. I tried manually downloading the .po files and configuring l10n_update to import them from local file system but same error.

Here's the error string:
An AJAX HTTP error occurred. HTTP Result Code: 403 Debugging information follows. Path: /batch?id=58&op=do StatusText: Forbidden ResponseText: Access Denied | Website title @import url("http://mydomain.com/modules/system/system.base.css?lujwqq"); @import url("http://mydomain.com/modules/system/system.menus.css?lujwqq"); @import url("http://mydomain.com/modules/system/system.messages.css?lujwqq"); @import url("http://mydomain.com/modules/system/system.theme.css?lujwqq"); @import url("http://mydomain.com/modules/system/system.admin.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/footnotes/footnotes.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/date/date_api/date.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/date/date_popup/themes/datepicker.1.7.css?lujwqq"); @import url("http://mydomain.com/modules/field/theme/field.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/logintoboggan/logintoboggan.css?lujwqq"); @import url("http://mydomain.com/modules/node/node.css?lujwqq"); @import url("http://mydomain.com/modules/search/search.css?lujwqq"); @import url("http://mydomain.com/modules/user/user.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/views/css/views.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/ctools/css/ctools.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/follow/follow.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/lexicon/css/lexicon.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/typogrify/typogrify.css?lujwqq"); @import url("http://mydomain.com/sites/mydomain.com/modules/extlink/extlink.css?lujwqq"); @import url("http://mydomain.com/modules/toolbar/toolbar.css?lujwqq"); @import url("http://mydomain.com/themes/seven/reset.css?lujwqq"); @import url("http://mydomain.com/themes/seven/style.css?lujwqq"); Skip to main content Home Hello admin Log out Administrative toolbarContent (Find and manage content.) Structure (Administer blocks, content types, menus, etc.) Appearance (Select and configure your themes.) People (Manage user accounts, roles, and permissions.) Modules (Extend site functionality.) Configuration (Administer settings.) Reports (View reports, updates, and errors.) Help (Reference for usage, configuration, and modules.) You are hereHome Access Denied Status message The translation was successfully imported. There are 0 newly created translated strings, 949 strings were updated and 0 strings were removed. One translation string was skipped because it contains disallowed HTML. Successfully downloaded and imported translation from http://ftp.drupal.org/files/translations/7.x/ctools/ctools-7.x-1.0-rc1.fr.po You are not authorized to access this page.

Would anybody have a clue on where to look for a solution?

Comments

mesr01’s picture

Update: I also tried importing only 1 or 2 .po at a time from the local file system but, no matter what project these files are for, the update always crashes the same way. Also, remember that first 3 project translations always show up-to-date? Well amazingly, when I manually remove all project translations and start the update over from the beginning, the first 3 project translations get imported correctly.

Gábor Hojtsy’s picture

You can get access denied for the /batch page if the batch data gets corrupted. Not sure of the common ways that happens, but you might have a huge (over a hundred modules?) site with lots of languages, which would explode the data set to save for the batch, and it could get cut. Whether you get access denied for the /batch page seems to be generally out of scope for this module, since we merely reuse the core batch system.

mesr01’s picture

There are 58 modules listed in the l10n update page and 109 modules enabled out of 186 (23 core modules enabled out of 44). When the l10n batch process starts, it display that 88 projects translations are to be processed. Furthermore, I only have 2 languages enabled, namely english and french, and all content is language neutral (only the interface is translated). I don't feel this is a huge site, speaking of localization handling...

However, if the problem lies in D7's batch process handling, this is quite an issue because many sites are bigger than this one, with more complex localization handling. Do you know of any good documentation on this issue?

Gábor Hojtsy’s picture

Well, you can do some simple debugging by adding something like this before the drupal_access_denied() call in http://api.drupal.org/api/drupal/modules--system--system.admin.inc/funct...

watchdog('debug', 'Batch page empty');

Then you can watch your logs for this message. If it appears, you got the access denied from the batch. You can go further down to http://api.drupal.org/api/drupal/includes--batch.inc/function/_batch_page/7 and figure out where the issue came from similarly.

mesr01’s picture

Thanks @Gábor Hojtsy for the tip.

Update (just for the records): emptying the 'batch' table to force D7 to rebuild the batch info did not solve the issue.

Gábor Hojtsy’s picture

Yes, I was suggesting the batch might be stored corrupted or something like that. Looking forward to your investigation details.

mesr01’s picture

Status: Active » Closed (cannot reproduce)

Update: I started debugging where suggested by Gábor Hojtsy. So I cleared the batch table once again, then went to the l10n update page to run the update again but, to my utmost surprise, the whole process went through without error. It's now hard to debug any further with everything working fine.

Here's another information that may be related, in case somebody else runs into this problem: the whole issue with l10n updates seems to have begun when I installed the second language on the site. I remember that the initial batch process crashed (I must say, repeatedly crashed, since I tried it a couple of times), but seemingly leaving the new language fully installed. So I went on with further developing the site and it's only after a while that I noticed the problem with .po batch updates.

Ilbaboomba’s picture

Hi, I'm having the same problem.
I moved the entire website from my web hosting to a local quickstart virtual machine to try to understand what's going on and to do some debugging, but once I transferred everything, it works and updates correctly.
Is it maybe some hosting limitation?

Sutharsan’s picture

Perhaps mesr01's initial post has some clues. Both automated and manual uploads crash. Compare the php max_file_uploads, upload_max_filesize, max_execution_time, mysql.connect_timeout and try to minic the server settings on your virtual machine.

Ilbaboomba’s picture

I tried those and a few other parameters but nothing seems to reproduce the error.
The only change I noticed is if I try to decrease the memory_limit to 64M like it is on my web hosting it stops at the same point, but it doesn't show any type of error...

cfillion’s picture

It only crash if I activate the ctools and (or?) the meta-tags module.

10thstreetlabel’s picture

I am getting this 403 error code with the modules update manager and not sure how to fix it.

An AJAX HTTP error occurred. HTTP Result Code: 403 Debugging information follows. Path: /batch?id=26&op=do StatusText: Forbidden ResponseText: Access denied | myjobspace.net @import url("http://myjobspace.net/modules/system/system.base.css?oh3zb4"); @import url("http://myjobspace.net/modules/system/system.menus.css?oh3zb4"); @import url("http://myjobspace.net/modules/system/system.messages.css?oh3zb4"); @import url("http://myjobspace.net/modules/system/system.theme.css?oh3zb4"); @import url("http://myjobspace.net/modules/system/system.admin.css?oh3zb4"); @import url("http://myjobspace.net/modules/comment/comment.css?oh3zb4"); @import url("http://myjobspace.net/modules/field/theme/field.css?oh3zb4"); @import url("http://myjobspace.net/modules/node/node.css?oh3zb4"); @import url("http://myjobspace.net/modules/search/search.css?oh3zb4"); @import url("http://myjobspace.net/modules/user/user.css?oh3zb4"); @import url("http://myjobspace.net/sites/all/modules/admin_menu/admin_menu.css?oh3zb4"); @import url("http://myjobspace.net/sites/all/modules/admin_menu/admin_menu.uid1.css?o..."); @import url("http://myjobspace.net/modules/shortcut/shortcut.css?oh3zb4"); @import url("http://myjobspace.net/themes/seven/reset.css?oh3zb4"); @import url("http://myjobspace.net/themes/seven/style.css?oh3zb4"); Skip to main content You are hereHome Access denied Add to Default shortcuts You are not authorized to access this page. IndexFlush all caches Administration menuClass registryCSS and JavaScriptMenuPage and elseTheme registryUpdate dataRun cronRun updatesEnable developer modulesDrupal.org Block issue queueAdministration menu issue queue DashboardContent Add content ArticleBasic pageComments Unapproved comments (0)Structure Blocks Add blockSeven Add blockContent types Add content typeArticle DeleteBasic page DeleteMenus Add menuMain menu Add linkDelete menuEdit menuManagement Add linkDelete menuEdit menuNavigation Add linkDelete menuEdit menuUser menu Add linkDelete menuEdit menuSettingsTaxonomy Add vocabularyTags Add termEditAppearance Install new themeUpdateSettings BartikSevenPeople Add userPermissions RolesModules Install new moduleUpdateUninstallConfiguration Administration Administration menuContent authoring Text formats Add text formatFiltered HTML Disable text formatFull HTML Disable text formatPlain textDevelopment PerformanceLogging and errorsMaintenance modeMedia File systemImage styles Add styleImage toolkitPeople Account settingsIP address blockingRegional and language Regional settingsDate and time Formats Add formatSearch and metadata Search settingsURL aliases Add aliasClean URLsSystem Site informationActionsCronUser interface Shortcuts Add shortcut setWeb services RSS publishingReports Status reportAvailable updates Install new module or themeUpdateSettingsRecent log messagesTop 'access denied' errorsTop 'page not found' errorsTop search phrasesHelp Log outadmin 0 / 0