Hello, Somewhat related to the recent "never-ending" job email, We have a situation where a new dataset is created (status=new), but due to an exception, the job never runs and the dataset remains new (gray) forever. One way to create such an exception is to enter unicode characters which confuses some module down the line. Example: Enter the following expression in the "Filter and Sort" -> "Filter" tool: c1 == “chr12“ If my email program didn't mangle things up, you'll notice that these are not double-quotes (ASCII 34) - they are Unicode Character 'LEFT DOUBLE QUOTATION MARK' (U+201C) which are common if you copy&paste double-quotes from/to Word or Internet-Explorer. Executing this filter tool, the following exception is returned (I verified it on your 'test' server): =================== URL: http://test.g2.bx.psu.edu/tool_runner/index File '/galaxy/home/g2test/galaxy_test/eggs/Paste-1.6-py2.5.egg/paste/exceptions/errormiddleware.py', line 143 in __call__ app_iter = self.application(environ, start_response) File '/galaxy/home/g2test/galaxy_test/eggs/Paste-1.6-py2.5.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/galaxy/home/g2test/galaxy_test/eggs/Paste-1.6-py2.5.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/web/controllers/tool_runner.py', line 59 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/__init__.py', line 831 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/__init__.py', line 1103 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/actions/__init__.py', line 309 in execute for name, value in tool.params_to_strings( incoming, trans.app ).iteritems(): File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/__init__.py', line 1106 in params_to_strings return params_to_strings( self.inputs, params, app ) File '/var/opt/galaxy/test/lib/galaxy/tools/parameters/__init__.py', line 79 in params_to_strings File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/parameters/basic.py', line 103 in value_to_basic return self.to_string( value, app ) File '/galaxy/home/g2test/galaxy_test/lib/galaxy/tools/parameters/basic.py', line 94 in to_string return str( value ) UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 4: ordinal not in range(128) ===================== A new dataset is created (in the 'dataset' table), but no job is created for it. It will stay gray forever. This also confuses users (who usually ignore the exception and just click "refresh") - they will wait for this job forever, and even use it as input for further jobs - which will never run. Many thanks to Delphine Fagegaltier for reporting and helping reproduce this bug. Regards, -gordon