When trying to upload a po file into our tx you get a popup "A strange error occured." When using tx client, the message is a bit longer: [oli@beteigeuze external_resources.plasma_applet_icontaskspot]$ tx push -t -l en_GB Pushing translations for resource external_resources.plasma_applet_icontaskspot: Pushing 'en_GB' translations (file: translations/external_resources.plasma_applet_icontaskspot/en_GB.po) Exception: Remote server replied: {"status": "Error", "message": "A strange error happened."} Translating online is still working, but I can't push any pot file updates from the svn to tx anymore.
Priority: Normal => HighCC: (none) => mageia-i18n
Created attachment 1531 [details] en_GB fake po file for testing purposes I did some "en_GB" translation just for testing, but the problem occurs with other po files in other projects/resources.
I see nothing in the log :/ Could it be related to upgrade ?
CC: (none) => misc
misc: Olli and I thought the same as it might well be that I was the first to upload a .po file to transifex since the upgrade. Unfortunately, the error message displayed is particulary unhelpful.
We can still work in the online editor and download files for commiting them to svn. But we can't work offline anymore and as I said, when there are changes on the pot files, I can't upload those anymore. Last time I know it worked was before the upgrade, e.g. on January 27th, when I uploaded the plasma-icon-tasks pot file.
Can you give sysadmin proof way of reproducing ? I can for sure debug it, but i would like to be sure I do not mess up the installation.
Michael, Unless I'm misunderstanding, the .po file attached with this bugreport should result in the observed error when trying to upload it. You can do this after logging in to transifex and selecting the "Upload file" button, for example at https://transifex.mageia.org/projects/p/urpmi/. On there, click urpmi.pot and select a language which you have translator access to.
Or use tx client in a terminal: - Install transifex-client (on Mga1) or transifex-client0.4 (on Cauldron) According to transifex.org newer versions of the client are foir usage with a newer version of the server. - Go to some temporary directory - Type "tx init" and follow the instructions there - Type "tx set --auto-remote https://transifex.mageia.org/projects/p/external_resources/resource/plasma_applet_icontaskspot/" - Type "tx pull -a" - Move the po file attached to this bug report to the newly created folder "translations/external_resources.plasma_applet_icontaskspot/" renaming it to "en_GB.po" - Type "tx push -t -l en_GB" - Read the error message
Ok so I found out so far that the error message is 400 bad request ( which is weird ). And so, by looking at the proper log file, I found out this error message : [Fri Feb 24 20:18:55 2012] [error] [2012-02-24 20:18:55,326 tx DEBUG] __init__() got an unexpected keyword argument 'mime' ( of course, things would not be funny if init was not present 1 thousand time in source code ... )
More information, seems to be in /usr/share/transifex/storage/api.py
Ok, found it, problem is : >>> m = magic.Magic(mime=True) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: __init__() got an unexpected keyword argument 'mime' So that's related to my previous patch : http://trac.transifex.org/ticket/736 ( and the fact that python-magic changed ). TX is now fixed for this part ( edited in place the file ), I will prepare a proper update and a patch.
I also disabled transaction handling, after reading https://docs.djangoproject.com/en/dev/topics/db/transactions/ I am not sure of that's a good idea, but we will see.
On trying to create a new resource in drakx-net (to replace the buggy 1_drakx-net.pot one) I still get the "COMMIT/ROLLBACK message from Tx.
Priority: High => release_blockerSeverity: major => critical
Ok, found out the error, i was not looking at the good place. It was a configuration problem, django has some middleware ( ie, various layer allowing to do some computing on the request ), and the one in charge of transaction was missing. I think I did enable it during my test, but i forgot to commit it, and puppet did his job of reseting the configuration. Sorry about the delay and the breakage, I should have been more meticulous with the whole debugging session. As a side note, someone should reset the en_gb.po file, since I successfully send it.
Created attachment 1726 [details] tx login tracebackl Now, we can't login any more... Oliver
That's like Zelda III, when you think it finished, everything just start. So basically, if I enable the middleware for transation, the API is working, but login ail. If i do not enable it, that's the reverse. Having read the documentation several time, i think it can be solved but i have no idea how.
So I did read some docs ( yes, i wanted to go to bed 1h ago ). I think the best we could do would be to log all sql query and this should give us more information. But I do not under postgresql doc tonight : So just for the record : http://thebuild.com/blog/2009/11/07/django-postgresql-and-transaction-management/ http://stackoverflow.com/questions/722221/how-to-log-postgres-sql-queries
( and after re reading again, I seen how I can get all query, but since both phpbb and sympa are sending their queries, that's messy ).
So, in the meantime, what should we do. that's either the commandline, or the web interface :/
For the time before the release, needed changes in the translations should be done by the commiters in svn. After the release, find a replacement. Either if it works, use newest tx version if not switch to other tool, e.g. pootle or if nothing else works, create project on tx.net?
Priority: release_blocker => High
As Tx is completely dead...
Status: NEW => RESOLVEDResolution: (none) => WONTFIX