Open szanati opened 10 years ago
I stashed the package in GitHub_763
This error was not reproducible on ripple or my development machine. Seems very specific to production.
I un-stashed this package and reset it and it archived. I noticed that this packaged was stashed on May 30th and the new memory on darchive was replaced on June 13. This was the first time I retried it since the memory cards were replaced. I not sure if it had anything to do with it but it archived now.
This has happened again on https://fda.fcla.edu/package/EGME4GT7C_SMVE3M in production.
The processing history of this package:
submit Thu May 12 2016 04:48:58 PM Stephen 0 comment(s)
sip path: /var/daitss/ops/incoming/ftpdl/FTPDL_20160512T090802/UF00015180_01425
ingest started Fri May 13 2016 09:35:48 AM Stephen 0 comment(s)
ingest stopped Fri May 13 2016 09:36:10 AM Stephen 0 comment(s)
ingest started Mon May 16 2016 03:12:53 PM Stephen 0 comment(s)
ingest stopped Mon May 16 2016 03:13:56 PM Stephen 0 comment(s)
ingest started Mon May 16 2016 04:00:07 PM Stephen 0 comment(s)
ingest error Mon May 16 2016 04:00:31 PM SYSTEM 0 comment(s) invalid byte sequence in US-ASCII
This package was started on Friday under the new docMD schema, and restarted again under the old docMD schema. It may require a "redo", which I believe deletes all of the steps run to date and starts processing the WIP from scratch (definition of "do over": starts processing of a WIP's task from the first step).
"do over" did not correct the problem in https://fda.fcla.edu/package/EGME4GT7C_SMVE3M.
In this case the package failed after "ingest digiprov":
describe-migrate-normalize-43 2016-05-16T17:03:03-04:00 000.04
describe-migrate-normalize-34 2016-05-16T17:03:03-04:00 000.53
describe-migrate-normalize-7 2016-05-16T17:03:03-04:00 000.11
describe-migrate-normalize-8 2016-05-16T17:03:04-04:00 000.09
describe-migrate-normalize-18 2016-05-16T17:03:04-04:00 000.12
describe-migrate-normalize-25 2016-05-16T17:03:04-04:00 000.37
describe-migrate-normalize-12 2016-05-16T17:03:04-04:00 000.11
describe-migrate-normalize-15 2016-05-16T17:03:04-04:00 000.16
xml-resolution 2016-05-16T17:03:04-04:00 001.15
ingest digiprov 2016-05-16T17:03:06-04:00 000.00
So this package seems to have failed during creation of the AIP descriptor - something to do with passenger_phusion or perhaps the AIP descriptor is being passed some bad characters? Where would the bad characters come from - description service?
If the DAITSS database isn't updated until a tarball is stored, then this error seems to have nothing to do with
The complete stack trace:
2016-05-16 17:03:06 -0400 message
invalid byte sequence in US-ASCII
trace
/opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:912:in gsub' /opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:912:in
html_escape'
(erb):5:in dmd' /opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:838:in
eval'
/opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:838:in result' /opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/dmd.rb:19:in
dmd'
(erb):14:in make_aip_descriptor' /opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:838:in
eval'
/opt/ruby-1.9.3-p545/lib/ruby/1.9.1/erb.rb:838:in result' /opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/template/descriptor.rb:16:in
make_aip_descriptor'
/opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/ingest.rb:40:in block in ingest' /opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/journal.rb:16:in
step'
/opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/ingest.rb:40:in ingest' /opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/process.rb:82:in
block in spawn'
/opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/process.rb:66:in fork' /opt/web-services/sites/core/releases/20141117161651/lib/daitss/proc/wip/process.rb:66:in
spawn'
/opt/web-services/sites/core/releases/20141117161651/app.rb:949:in block in ' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1602:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1602:in block in compile!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in
[]'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in block (3 levels) in route!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in
route_eval'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in block (2 levels) in route!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in
block in process_route'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in catch' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in
process_route'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in block in route!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in
each'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in route!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in
block in dispatch!'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in block in invoke' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
catch'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in invoke' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in
dispatch!'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in block in call!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
block in invoke'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in catch' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
invoke'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in call!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:945:in forward' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1019:in
route_missing'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:980:in route!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:976:in
route!'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in block in dispatch!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
block in invoke'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in catch' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
invoke'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in dispatch!' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in
block in call!'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in block in invoke' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in
catch'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in invoke' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in
call!'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in
context'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in
call'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in block in call' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in
synchronize'
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in call' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/rack/request_handler.rb:97:in
process_request'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:520:in accept_and_process_next_request' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:274:in
main_loop'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:206:in start_request_handler' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:171:in
block in handle_spawn_application'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/utils.rb:470:in safe_fork' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:166:in
handle_spawn_application'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in server_main_loop' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in
start_synchronously'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:180:in start' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:129:in
start'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:253:in block (2 levels) in spawn_rack_application' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:132:in
lookup_or_add'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:246:in block in spawn_rack_application' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:82:in
block in synchronize'
:10:in synchronize' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server_collection.rb:79:in
synchronize'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:244:in spawn_rack_application' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:137:in
spawn_application'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:275:in handle_spawn_application' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in
server_main_loop'
/opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in start_synchronously' /opt/ruby-1.9.3-p545/lib/ruby/gems/1.9.1/gems/passenger-3.0.21/helper-scripts/passenger-spawn-server:99:in
Stephen - what filetypes are in the SIP for https://fda.fcla.edu/package/EGME4GT7C_SMVE3M? It's time-consuming to figure that out from the WIP.
I wonder if this could be the problem with the above package: in the workspace, in the sip-descriptor, the METS contains some non-ASCII labels:
<METS:div DMDID="DMD1 DMD2" ADMID="DIGIPROV1 TECH1" LABEL="Diario de sesiones del Congreso de la Républica de Cuba"
as well, in the WIP dmd-title contains "Diario de sesiones del Congreso de la Républica de Cuba"
The SIP descriptor is encoded as UTF-8, and from what I can see AIP descriptors are UTF-8 encoded as well, but I wonder if some part of the AIP descriptor creating process uses US-ASCII and doesn't support UTF-8 and therefore fails at times.
However, other issues of this title have successfully ingested, which would indicate that this is not the problem. See https://fda.fcla.edu/package/ESAZ4MTSK_4JPMOZ.
The files in the above package are as follows: jpg, jp2, tif, txt, pro, a mets file and a xml file. No pdfs.
It seems today that the packages that I started that were stopped in the workspace have all had the above error. They have all errored out on the ingest digiprov step. The common log on one of the packages the last part gives this: 2016 May 17 11:59:10 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Rack: 192.168.36.60 - - [17/May/2016 11:59:10] "PUT /ieids/EN0NRD3SP_R2CAMQ " 201 37 0.0006 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Handling uploaded document file://192.168.36.60/EN0NRD3SP_R2CAMQ/UF00015180_00995.xml. 192.168.36.60 - - "POST /ieids/EN0NRD3SP_R2CAMQ/ HTTP/1.1" 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Rack: 192.168.36.60 - - [17/May/2016 11:59:15] "POST /ieids/EN0NRD3SP_R2CAMQ/ " 200 1497 0.2139 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Handling uploaded document file://192.168.36.60/EN0NRD3SP_R2CAMQ/UF00015180_00995.mets. 192.168.36.60 - - "POST /ieids/EN0NRD3SP_R2CAMQ/ HTTP/1.1" 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Rack: 192.168.36.60 - - [17/May/2016 11:59:15] "POST /ieids/EN0NRD3SP_R2CAMQ/ " 200 1497 0.1371 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Rack: 192.168.36.60 - - [17/May/2016 11:59:15] "GET /ieids/EN0NRD3SP_R2CAMQ/ " 200 373248 0.0142 2016 May 17 11:59:15 fclnx30 XmlResolution[17880]: INFO xmlresolution.fda.fcla.edu: Rack: 192.168.36.60 - - [17/May/2016 11:59:15] "DELETE /ieids/remove/EN0NRD3SP_R2CAMQ " 200 - 0.0006
I have been able to reset all the errored packages and they archive. It doesn't matter if it just the one package running or two. It still errors. I did notice that there were about 114 package that ran over night without any errors. The only difference they ran with having to manually start them.
The above problem package finally archived. I reset it and let pulse pick up instead of me manually starting the package and it archived.
That may be the key to this problem!
From: szanati [mailto:notifications@github.com] Sent: Tuesday, May 17, 2016 3:14 PM To: daitss/core Cc: Lydia Motyka; Comment Subject: Re: [daitss/core] invalid byte sequence in US-ASCII (#763)
The above problem package finally archived. I reset it and let pulse pick up instead of me manually starting the package and it archived.
— You are receiving this because you commented. Reply to this email directly or view it on GitHubhttps://github.com/daitss/core/issues/763#issuecomment-219823342
The one that fails in 2014 and 05/13/16 has the traceback error in writing to database, inside dm_core. The latest error has the traceback in composing the aip descriptors. Despite having the same error message, they are most likely two different problems.
For the latest one, it does like it has to do with the DMD content inside the SIP descriptor. Stephen, ff you can put the package on the daitss package site on snow, I can see if I can reproduce it on ripple or my local development environment and perhaps find a solution for it.
Since the file archived I was in the process of deleted the batch. The time I saw your message that package already deleted. I was able to save a couple of packages that had the same invalid byte sequence in US-ASCII error.
Where do you keep them? Can you load them on http://www.fcla.edu/daitss-test/packages/?
I put one of the packages on http://www.fcla.edu/daitss-test/packages/. The package is called UF00015180_01455.zip.
I got the following error:
invalid byte sequence in US-ASCII
trace
/opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/dm-core-1.2.1/lib/dm-core/support/ext/blank.rb:19:in
=~' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/dm-core-1.2.1/lib/dm-core/support/ext/blank.rb:19:in
!~' /opt/web-services/sites/core/shared/bundle/ruby/1.9.1/gems/dm-core-1.2.1/lib/dm-core/support/ext/blank.rb:19:in `blank?'