Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bibtex citation not working for some IOP DOIs #89

Open
ppolischuk opened this issue May 2, 2019 · 6 comments
Open

Bibtex citation not working for some IOP DOIs #89

ppolischuk opened this issue May 2, 2019 · 6 comments
Assignees
Labels

Comments

@ppolischuk
Copy link

IOP is having some more concerns about DOIs related to that hugely hyped black hole picture that was all over the place recently. The BibTeX citation formatting isn’t working for them.
10.3847/2041-8213/ab0ec7
10.3847/2041-8213/ab0c96
10.3847/2041-8213/ab0c57
10.3847/2041-8213/ab0e85
10.3847/2041-8213/ab0f43
10.3847/2041-8213/ab1141

The problem is that the citation formatting service doesn’t work for them. If you ask for BibTeX from it, you get a blank response

curl -LH “Accept: text/bibliography; style=bibtex” http://dx.doi.org/10.3847/2041-8213/ab0c96

and if you ask for some other formats, you get an error message: curl -LH “Accept: text/bibliography; style=harvard1" http://dx.doi.org/10.3847/2041-8213/ab0c96 returns a Java stack trace.

There’s a ‘BibTeX’ button on the article home page on IOPscience that tries to use this functionality, so it’s broken for these articles.

I can also confirm this by using search.crossref.org and trying Actions>Cite for the above DOIs.

@afandian
Copy link
Member

afandian commented May 3, 2019

Stack trace:

{
	"status":"error",
	"message-type":"exception",
	"message-version":"1.0.0",
	"message":{
		"name":"class java.lang.IllegalArgumentException",
		"description":"java.lang.IllegalArgumentException: Could not update items",
		"message":"Could not update items",
		"stack":["de.undercouch.citeproc.CSL.registerCitationItems(CSL.java:285)
cayenne.formats.citation$__GT_citation.invokeStatic(citation.clj:78)
cayenne.formats.citation$__GT_citation.doInvoke(citation.clj:71)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
cayenne.api.transform$eval19358$fn__19359.invoke(transform.clj:67)
clojure.lang.MultiFn.invoke(MultiFn.java:233)
cayenne.api.transform$eval19370$fn__19371.invoke(transform.clj:75)
clojure.lang.MultiFn.invoke(MultiFn.java:233)
cayenne.api.v1.routes$work_transform_resource$fn__23539$fn__23543.invoke(routes.clj:270)
liberator.core$run_handler.invokeStatic(core.clj:190)
liberator.core$run_handler.invoke(core.clj:147)
liberator.core$handle_ok.invokeStatic(core.clj:244)
liberator.core$handle_ok.invoke(core.clj:244)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$multiple_representations_QMARK_.invokeStatic(core.clj:250)
liberator.core$multiple_representations_QMARK_.invoke(core.clj:250)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$put_to_existing_QMARK_.invokeStatic(core.clj:317)
liberator.core$put_to_existing_QMARK_.invoke(core.clj:317)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$post_to_existing_QMARK_.invokeStatic(core.clj:320)
liberator.core$post_to_existing_QMARK_.invoke(core.clj:320)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_patch_QMARK_.invokeStatic(core.clj:329)
liberator.core$method_patch_QMARK_.invoke(core.clj:329)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_delete_QMARK_.invokeStatic(core.clj:331)
liberator.core$method_delete_QMARK_.invoke(core.clj:331)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_modified_since_exists_QMARK_.invokeStatic(core.clj:351)
liberator.core$if_modified_since_exists_QMARK_.invoke(core.clj:351)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_none_match_exists_QMARK_.invokeStatic(core.clj:369)
liberator.core$if_none_match_exists_QMARK_.invoke(core.clj:369)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_unmodified_since_exists_QMARK_.invokeStatic(core.clj:389)
liberator.core$if_unmodified_since_exists_QMARK_.invoke(core.clj:389)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_match_exists_QMARK_.invokeStatic(core.clj:403)
liberator.core$if_match_exists_QMARK_.invoke(core.clj:403)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$exists_QMARK_.invokeStatic(core.clj:406)
liberator.core$exists_QMARK_.invoke(core.clj:406)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$processable_QMARK_.invokeStatic(core.clj:409)
liberator.core$processable_QMARK_.invoke(core.clj:409)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$encoding_available_QMARK_.invokeStatic(core.clj:413)
liberator.core$encoding_available_QMARK_.invoke(core.clj:413)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:428)
liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:428)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_charset_exists_QMARK_.invokeStatic(core.clj:441)
liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:441)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_language_exists_QMARK_.invokeStatic(core.clj:455)
liberator.core$accept_language_exists_QMARK_.invoke(core.clj:455)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$media_type_available_QMARK_.invokeStatic(core.clj:465)
liberator.core$media_type_available_QMARK_.invoke(core.clj:465)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_exists_QMARK_.invokeStatic(core.clj:468)
liberator.core$accept_exists_QMARK_.invoke(core.clj:468)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$is_options_QMARK_.invokeStatic(core.clj:485)
liberator.core$is_options_QMARK_.invoke(core.clj:485)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$valid_entity_length_QMARK_.invokeStatic(core.clj:488)
liberator.core$valid_entity_length_QMARK_.invoke(core.clj:488)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$known_content_type_QMARK_.invokeStatic(core.clj:491)
liberator.core$known_content_type_QMARK_.invoke(core.clj:491)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$valid_content_header_QMARK_.invokeStatic(core.clj:493)
liberator.core$valid_content_header_QMARK_.invoke(core.clj:493)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$allowed_QMARK_.invokeStatic(core.clj:496)
liberator.core$allowed_QMARK_.invoke(core.clj:496)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$authorized_QMARK_.invokeStatic(core.clj:499)
liberator.core$authorized_QMARK_.invoke(core.clj:499)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$malformed_QMARK_.invokeStatic(core.clj:502)
liberator.core$malformed_QMARK_.invoke(core.clj:502)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_allowed_QMARK_.invokeStatic(core.clj:505)
liberator.core$method_allowed_QMARK_.invoke(core.clj:505)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$uri_too_long_QMARK_.invokeStatic(core.clj:508)
liberator.core$uri_too_long_QMARK_.invoke(core.clj:508)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$known_method_QMARK_.invokeStatic(core.clj:511)
liberator.core$known_method_QMARK_.invoke(core.clj:511)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$service_available_QMARK_.invokeStatic(core.clj:514)
liberator.core$service_available_QMARK_.invoke(core.clj:514)
liberator.core$run_resource.invokeStatic(core.clj:599)
liberator.core$run_resource.invoke(core.clj:597)
cayenne.api.v1.routes$work_transform_resource$fn__23539.invoke(routes.clj:255)
compojure.response$eval22712$fn__22713.invoke(response.clj:47)
compojure.response$eval22634$fn__22635$G__22625__22642.invoke(response.clj:7)
compojure.core$wrap_response$fn__23304.invoke(core.clj:158)
compojure.core$wrap_route_middleware$fn__23288.invoke(core.clj:128)
compojure.core$wrap_route_info$fn__23293.invoke(core.clj:137)
compojure.core$wrap_route_matches$fn__23297.invoke(core.clj:146)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$make_context$handler__23382.invoke(core.clj:285)
compojure.core$make_context$fn__23384.invoke(core.clj:293)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
ring.middleware.logstash$wrap_logstash$fn__29143.invoke(logstash.clj:110)
ring.middleware.keyword_params$wrap_keyword_params$fn__30014.invoke(keyword_params.clj:36)
ring.middleware.nested_params$wrap_nested_params$fn__30062.invoke(nested_params.clj:89)
ring.middleware.params$wrap_params$fn__29978.invoke(params.clj:67)
cayenne.api.route$wrap_cors$fn__30605.invoke(route.clj:101)
metrics.ring.expose$expose_metrics_as_json$fn__29529.invoke(expose.clj:94)
metrics.ring.instrument$instrument$fn__29545$fn__29546.invoke(instrument.clj:44)
metrics.ring.instrument.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)
com.yammer.metrics.core.Timer.time(Timer.java:91)
metrics.ring.instrument$instrument$fn__29545.invoke(instrument.clj:43)
heartbeat.ring$wrap_heartbeat$fn__29231.invoke(ring.clj:18)
cayenne.api.conneg$wrap_accept$fn__21175.invoke(conneg.clj:53)
cayenne.api.route$wrap_exception_handler$fn__30610.invoke(route.clj:110)
cayenne.api.route$wrap_ignore_trailing_slash$fn__30618.invoke(route.clj:136)
org.httpkit.server.HttpHandler.run(RingHandler.java:91)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
"],
"cause":{
	"name":"class de.undercouch.citeproc.script.ScriptRunnerException",
	"description":"de.undercouch.citeproc.script.ScriptRunnerException: Could not call method",
	"stack":["de.undercouch.citeproc.CSL.registerCitationItems(CSL.java:285)
cayenne.formats.citation$__GT_citation.invokeStatic(citation.clj:78)
cayenne.formats.citation$__GT_citation.doInvoke(citation.clj:71)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
cayenne.api.transform$eval19358$fn__19359.invoke(transform.clj:67)
clojure.lang.MultiFn.invoke(MultiFn.java:233)
cayenne.api.transform$eval19370$fn__19371.invoke(transform.clj:75)
clojure.lang.MultiFn.invoke(MultiFn.java:233)
cayenne.api.v1.routes$work_transform_resource$fn__23539$fn__23543.invoke(routes.clj:270)
liberator.core$run_handler.invokeStatic(core.clj:190)
liberator.core$run_handler.invoke(core.clj:147)
liberator.core$handle_ok.invokeStatic(core.clj:244)
liberator.core$handle_ok.invoke(core.clj:244)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$multiple_representations_QMARK_.invokeStatic(core.clj:250)
liberator.core$multiple_representations_QMARK_.invoke(core.clj:250)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$put_to_existing_QMARK_.invokeStatic(core.clj:317)
liberator.core$put_to_existing_QMARK_.invoke(core.clj:317)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$post_to_existing_QMARK_.invokeStatic(core.clj:320)
liberator.core$post_to_existing_QMARK_.invoke(core.clj:320)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_patch_QMARK_.invokeStatic(core.clj:329)
liberator.core$method_patch_QMARK_.invoke(core.clj:329)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_delete_QMARK_.invokeStatic(core.clj:331)
liberator.core$method_delete_QMARK_.invoke(core.clj:331)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_modified_since_exists_QMARK_.invokeStatic(core.clj:351)
liberator.core$if_modified_since_exists_QMARK_.invoke(core.clj:351)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_none_match_exists_QMARK_.invokeStatic(core.clj:369)
liberator.core$if_none_match_exists_QMARK_.invoke(core.clj:369)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_unmodified_since_exists_QMARK_.invokeStatic(core.clj:389)
liberator.core$if_unmodified_since_exists_QMARK_.invoke(core.clj:389)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$if_match_exists_QMARK_.invokeStatic(core.clj:403)
liberator.core$if_match_exists_QMARK_.invoke(core.clj:403)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$exists_QMARK_.invokeStatic(core.clj:406)
liberator.core$exists_QMARK_.invoke(core.clj:406)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$processable_QMARK_.invokeStatic(core.clj:409)
liberator.core$processable_QMARK_.invoke(core.clj:409)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$encoding_available_QMARK_.invokeStatic(core.clj:413)
liberator.core$encoding_available_QMARK_.invoke(core.clj:413)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:428)
liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:428)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_charset_exists_QMARK_.invokeStatic(core.clj:441)
liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:441)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_language_exists_QMARK_.invokeStatic(core.clj:455)
liberator.core$accept_language_exists_QMARK_.invoke(core.clj:455)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$media_type_available_QMARK_.invokeStatic(core.clj:465)
liberator.core$media_type_available_QMARK_.invoke(core.clj:465)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$accept_exists_QMARK_.invokeStatic(core.clj:468)
liberator.core$accept_exists_QMARK_.invoke(core.clj:468)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$is_options_QMARK_.invokeStatic(core.clj:485)
liberator.core$is_options_QMARK_.invoke(core.clj:485)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$valid_entity_length_QMARK_.invokeStatic(core.clj:488)
liberator.core$valid_entity_length_QMARK_.invoke(core.clj:488)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$known_content_type_QMARK_.invokeStatic(core.clj:491)
liberator.core$known_content_type_QMARK_.invoke(core.clj:491)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$valid_content_header_QMARK_.invokeStatic(core.clj:493)
liberator.core$valid_content_header_QMARK_.invoke(core.clj:493)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$allowed_QMARK_.invokeStatic(core.clj:496)
liberator.core$allowed_QMARK_.invoke(core.clj:496)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$authorized_QMARK_.invokeStatic(core.clj:499)
liberator.core$authorized_QMARK_.invoke(core.clj:499)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$malformed_QMARK_.invokeStatic(core.clj:502)
liberator.core$malformed_QMARK_.invoke(core.clj:502)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$method_allowed_QMARK_.invokeStatic(core.clj:505)
liberator.core$method_allowed_QMARK_.invoke(core.clj:505)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$uri_too_long_QMARK_.invokeStatic(core.clj:508)
liberator.core$uri_too_long_QMARK_.invoke(core.clj:508)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$known_method_QMARK_.invokeStatic(core.clj:511)
liberator.core$known_method_QMARK_.invoke(core.clj:511)
liberator.core$decide.invokeStatic(core.clj:103)
liberator.core$decide.invoke(core.clj:91)
liberator.core$service_available_QMARK_.invokeStatic(core.clj:514)
liberator.core$service_available_QMARK_.invoke(core.clj:514)
liberator.core$run_resource.invokeStatic(core.clj:599)
liberator.core$run_resource.invoke(core.clj:597)
cayenne.api.v1.routes$work_transform_resource$fn__23539.invoke(routes.clj:255)
compojure.response$eval22712$fn__22713.invoke(response.clj:47)
compojure.response$eval22634$fn__22635$G__22625__22642.invoke(response.clj:7)
compojure.core$wrap_response$fn__23304.invoke(core.clj:158)
compojure.core$wrap_route_middleware$fn__23288.invoke(core.clj:128)
compojure.core$wrap_route_info$fn__23293.invoke(core.clj:137)
compojure.core$wrap_route_matches$fn__23297.invoke(core.clj:146)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$make_context$handler__23382.invoke(core.clj:285)
compojure.core$make_context$fn__23384.invoke(core.clj:293)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
compojure.core$routing$fn__23312.invoke(core.clj:185)
clojure.core$some.invokeStatic(core.clj:2592)
clojure.core$some.invoke(core.clj:2583)
compojure.core$routing.invokeStatic(core.clj:185)
compojure.core$routing.doInvoke(core.clj:182)
clojure.lang.RestFn.applyTo(RestFn.java:139)
clojure.core$apply.invokeStatic(core.clj:648)
clojure.core$apply.invoke(core.clj:641)
compojure.core$routes$fn__23316.invoke(core.clj:192)
ring.middleware.logstash$wrap_logstash$fn__29143.invoke(logstash.clj:110)
ring.middleware.keyword_params$wrap_keyword_params$fn__30014.invoke(keyword_params.clj:36)
ring.middleware.nested_params$wrap_nested_params$fn__30062.invoke(nested_params.clj:89)
ring.middleware.params$wrap_params$fn__29978.invoke(params.clj:67)
cayenne.api.route$wrap_cors$fn__30605.invoke(route.clj:101)
metrics.ring.expose$expose_metrics_as_json$fn__29529.invoke(expose.clj:94)
metrics.ring.instrument$instrument$fn__29545$fn__29546.invoke(instrument.clj:44)
metrics.ring.instrument.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)
com.yammer.metrics.core.Timer.time(Timer.java:91)
metrics.ring.instrument$instrument$fn__29545.invoke(instrument.clj:43)
heartbeat.ring$wrap_heartbeat$fn__29231.invoke(ring.clj:18)
cayenne.api.conneg$wrap_accept$fn__21175.invoke(conneg.clj:53)
cayenne.api.route$wrap_exception_handler$fn__30610.invoke(route.clj:110)
cayenne.api.route$wrap_ignore_trailing_slash$fn__30618.invoke(route.clj:136)
org.httpkit.server.HttpHandler.run(RingHandler.java:91)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.run

@ssmulyan
Copy link

This might need its own issue, but somewhat related example.
https://search.crossref.org/?q=10.1002%2Fcphy.c150015#

In the IOP examples, with multiple forward slashes, if I use Actions > Cite on CRMDS, all citation formats are blank.

In this case, for 10.1002/cphy.c150015 only BibTex is blank. The rest of the citation formats work correctly.

The user gave an example of their query and its results.

You could try this command: "curl -L -H "Accept:application/x-bibtex; charset=utf-8" https://doi.org/10.1002/cphy.c150015"
Output:
{"status":"error","message-type":"exception","message-version":"1.0.0","message":{"name":"class java.lang.NullPointerException","description":"java.lang.NullPointerException","message":null,"stack":[],"cause":null}}%

@ppolischuk
Copy link
Author

Update here, more comms coming from @gbilder and @ifarley, but unfortunately at this stage we are not able to unfreeze the cayenne codebase to fix this issue, so we'll need to push back to IOP.

@ifarley
Copy link

ifarley commented May 29, 2019

IOP curious if we have a timetable or a workaround for this issue? I am not aware of either @ppolischuk or @gbilder. I have communicated our decision to keep the freeze in place to IOP. When we have a timetable or a workaround, we'll provide updates here and within Zendesk (ticket 131006 for reference).

@afandian
Copy link
Member

Afraid this is something we just have to say "we don't have time for it now, and we don't take that lightly". Could be weeks at least.

@ifarley
Copy link

ifarley commented Jun 10, 2019

Looks like we have another example of this problem from this DOI - https://doi.org/10.21105/joss.01137. Zendesk ticket 134241 for internal reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants