Adam, there are two problems here. We have some kind of bug regarding
putting the stderr string in the Galaxy database when it contains unicode
strings.

However, in both cases you can still read the message it is trying to save.
In the first case, "Error in hclustfun(distfun(x))" -- this might just be a
warning and the tool might still work -- but in the second case, Error in
library("cummeRbund"), is definitely fatal.


--
James Taylor, Assistant Professor, Biology/CS, Emory University


On Sun, May 12, 2013 at 12:34 AM, Panzer, Adam <panze...@kids.wustl.edu>wrote:

>  Hello All,
>
> I have recently deployed a local instance of Galaxy at work and while I've
> been able to troubleshoot problems with all other tool types, I have a
> persistent issue with using any tool that relies on R.
>
> For deseq:
>
>
> Traceback (most recent call last):
>   File "/home/adam/galaxy-dist/lib/galaxy/jobs/runners/local.py", line 109, 
> in queue_job
>     job_wrapper.finish( stdout, stderr, exit_code )
>   File "/home/adam/galaxy-dist/lib/galaxy/jobs/__init__.py", line 999, in 
> finish
>     self.sa_session.flush()
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/scoping.py",
>  line 127, in do
>     return getattr(self.registry(), name)(*args, **kwargs)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/session.py",
>  line 1356, in flush
>     self._flush(objects)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/session.py",
>  line 1434, in _flush
>     flush_context.execute()
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 261, in execute
>     UOWExecutor().execute(self, tasks)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 753, in execute
>     self.execute_save_steps(trans, task)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 768, in execute_save_steps
>     self.save_objects(trans, task)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 759, in save_objects
>     task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/mapper.py",
>  line 1413, in _save_obj
>     c = connection.execute(statement.values(value_params), params)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 824, in execute
>     return Connection.executors[c](self, object, multiparams, params)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 874, in _execute_clauseelement
>     return self.__execute_context(context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 896, in __execute_context
>     self._cursor_execute(context.cursor, context.statement, 
> context.parameters[0], context=context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 950, in _cursor_execute
>     self._handle_dbapi_exception(e, statement, parameters, cursor, context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 931, in _handle_dbapi_exception
>     raise exc.DBAPIError.instance(statement, parameters, e, 
> connection_invalidated=is_disconnect)
> ProgrammingError: (ProgrammingError) You must not use 8-bit bytestrings 
> unless you use a text_factory that can interpret 8-bit bytestrings (like 
> text_factory = str). It is highly recommended that you instead just switch 
> your application to Unicode strings. u'UPDATE job SET update_time=?, 
> stdout=?, stderr=? WHERE job.id = ?' ['2013-05-10 06:12:01.564757', '', 
> 'Error: Loading required package: Biobase\nLoading required package: 
> BiocGenerics\nLoading required package: methods\nLoading required package: 
> parallel\n\nAttaching package: \xe2\x80\x98BiocGenerics\xe2\x80\x99\n\nThe 
> following objects are masked from 
> \xe2\x80\x98package:parallel\xe2\x80\x99:\n\n    clusterApply, 
> clusterApplyLB, clusterCall, clusterEvalQ,\n    clusterExport, clusterMap, 
> parApply, parCapply, parLapply,\n    parLapplyLB, parRapply, parSapply, 
> parSapplyLB\n\nThe following object is masked from 
> \xe2\x80\x98package:stats\xe2\x80\x99:\n\n    xtabs\n\nThe following objects 
> are masked from \xe2\x80\x98package:base\xe2\x8
> 0\x99:\n\n    anyDuplicated, as.data.frame, cbind, colnames, duplicated, 
> eval,\n    Filter, Find, get, intersect, lapply, Map, mapply, match, mget,\n  
>   order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,\n    rbind, 
> Reduce, rep.int, rownames, sapply, setdiff, sort, table,\n    tapply, union, 
> unique, unlist\n\nWelcome to Bioconductor\n\n    Vignettes contain 
> introductory material; view with\n    \'browseVignettes()\'. To cite 
> Bioconductor, see\n    \'citation("Biobase")\', and for packages 
> \'citation("pkgname")\'.\n\nLoading required package: locfit\nlocfit 1.5-9.1 
> \t 2013-03-22\nLoading required package: lattice\nWarning message:\nIn 
> xy.coords(x, y, xlabel, ylabel, log) :\n  9 y values <= 0 omitted from 
> logarithmic plot\nError in hclustfun(distfun(x)) : \n  NA/NaN/Inf in foreign 
> function call (arg 11)\nCalls: heatmap -> hclustfun\nExecution halted\n\n', 
> 116]
>
>
> For cummerbund:
>
>
> Traceback (most recent call last):
>   File "/home/adam/galaxy-dist/lib/galaxy/jobs/runners/local.py", line 109, 
> in queue_job
>     job_wrapper.finish( stdout, stderr, exit_code )
>   File "/home/adam/galaxy-dist/lib/galaxy/jobs/__init__.py", line 999, in 
> finish
>     self.sa_session.flush()
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/scoping.py",
>  line 127, in do
>     return getattr(self.registry(), name)(*args, **kwargs)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/session.py",
>  line 1356, in flush
>     self._flush(objects)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/session.py",
>  line 1434, in _flush
>     flush_context.execute()
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 261, in execute
>     UOWExecutor().execute(self, tasks)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 753, in execute
>     self.execute_save_steps(trans, task)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 768, in execute_save_steps
>     self.save_objects(trans, task)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/unitofwork.py",
>  line 759, in save_objects
>     task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/orm/mapper.py",
>  line 1413, in _save_obj
>     c = connection.execute(statement.values(value_params), params)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 824, in execute
>     return Connection.executors[c](self, object, multiparams, params)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 874, in _execute_clauseelement
>     return self.__execute_context(context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 896, in __execute_context
>     self._cursor_execute(context.cursor, context.statement, 
> context.parameters[0], context=context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 950, in _cursor_execute
>     self._handle_dbapi_exception(e, statement, parameters, cursor, context)
>   File 
> "/home/adam/galaxy-dist/eggs/SQLAlchemy-0.5.6_dev_r6498-py2.7.egg/sqlalchemy/engine/base.py",
>  line 931, in _handle_dbapi_exception
>     raise exc.DBAPIError.instance(statement, parameters, e, 
> connection_invalidated=is_disconnect)
> ProgrammingError: (ProgrammingError) You must not use 8-bit bytestrings 
> unless you use a text_factory that can interpret 8-bit bytestrings (like 
> text_factory = str). It is highly recommended that you instead just switch 
> your application to Unicode strings. u'UPDATE job SET update_time=?, 
> stdout=?, stderr=? WHERE job.id = ?' ['2013-05-10 04:38:55.946925', '', 
> 'Fatal error: Exit code 1 (CummerBund Error)\nError running R script. Error 
> in library("cummeRbund") : there is no package called 
> \xe2\x80\x98cummeRbund\xe2\x80\x99\nExecution halted\n\n', 112]
>
>
> It appears that they all fail in a similar fashion. I noticed a similar
> issue brought up about a year ago but deploying the fixes mentioned then
> (using a python wrapper to keep R messages out of stderr and telling R to
> run without curly quotes) has not done anything to stop it. Any ideas would
> be most appreciated as several R tools are a part of my target RNA-Seq
> pipeline.
>
> Thanks!
> Adam
>
>
>   The materials in this email are private and may contain Protected
> Health Information. If you are not the intended recipient, be advised that
> any unauthorized use, disclosure, copying, distribution or the taking of
> any action in reliance on the contents of this information is strictly
> prohibited. If you have received this email in error, please immediately
> notify the sender via telephone or return email.
>
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
>   http://lists.bx.psu.edu/
>
> To search Galaxy mailing lists use the unified search at:
>   http://galaxyproject.org/search/mailinglists/
>
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to