{"action":"created","issue":{"url":"https://api.github.com/repos/RcppCore/Rcpp/issues/859","repository_url":"https://api.github.com/repos/RcppCore/Rcpp","labels_url":"https://api.github.com/repos/RcppCore/Rcpp/issues/859/labels{/name}","comments_url":"https://api.github.com/repos/RcppCore/Rcpp/issues/859/comments","events_url":"https://api.github.com/repos/RcppCore/Rcpp/issues/859/events","html_url":"https://github.com/RcppCore/Rcpp/pull/859","id":328687126,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyMTYyODAx","number":859,"title":"Fix protect-unwind","user":{"login":"lionel-","id":4465050,"node_id":"MDQ6VXNlcjQ0NjUwNTA=","avatar_url":"https://avatars2.githubusercontent.com/u/4465050?v=4","gravatar_id":"","url":"https://api.github.com/users/lionel-","html_url":"https://github.com/lionel-","followers_url":"https://api.github.com/users/lionel-/followers","following_url":"https://api.github.com/users/lionel-/following{/other_user}","gists_url":"https://api.github.com/users/lionel-/gists{/gist_id}","starred_url":"https://api.github.com/users/lionel-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lionel-/subscriptions","organizations_url":"https://api.github.com/users/lionel-/orgs","repos_url":"https://api.github.com/users/lionel-/repos","events_url":"https://api.github.com/users/lionel-/events{/privacy}","received_events_url":"https://api.github.com/users/lionel-/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-01T23:17:51Z","updated_at":"2018-06-01T23:31:34Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/RcppCore/Rcpp/pulls/859","html_url":"https://github.com/RcppCore/Rcpp/pull/859","diff_url":"https://github.com/RcppCore/Rcpp/pull/859.diff","patch_url":"https://github.com/RcppCore/Rcpp/pull/859.patch"},"body":"* Unshield the protect-unwind changes from #789 \r\n\r\n* Don't throw exceptions across the C stack. I believe this is what caused the issues on Windows. Instead we now skip the C frames using a longjump and only then throw the longjump exception across the C++ stack.\r\n\r\n* Add unit tests for generating attributes in packages. One mock package exports a function via `Rcpp::interfaces(cpp)` and the other calls it. The tests check that the C++ stack is properly unwound on longjumps issued from the exported function.\r\n\r\nWin-builder and r-hub don't seem to be reliable for testing these changes. Even with current master the former always gets stuck and the latter randomly hangs when running the tests or rebuilding vignettes. However I have set up a local Windows 10 and Rcpp successfully passes the tests. With #789 I get a `terminate called after throwing an instance of 'Rcpp::LongjumpException'` crash. I don't know if all problems are fixed but hopefully we still have some time before the next release to test this further."},"comment":{"url":"https://api.github.com/repos/RcppCore/Rcpp/issues/comments/394035089","html_url":"https://github.com/RcppCore/Rcpp/pull/859#issuecomment-394035089","issue_url":"https://api.github.com/repos/RcppCore/Rcpp/issues/859","id":394035089,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDAzNTA4OQ==","user":{"login":"codecov-io","id":8655789,"node_id":"MDQ6VXNlcjg2NTU3ODk=","avatar_url":"https://avatars0.githubusercontent.com/u/8655789?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov-io","html_url":"https://github.com/codecov-io","followers_url":"https://api.github.com/users/codecov-io/followers","following_url":"https://api.github.com/users/codecov-io/following{/other_user}","gists_url":"https://api.github.com/users/codecov-io/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov-io/subscriptions","organizations_url":"https://api.github.com/users/codecov-io/orgs","repos_url":"https://api.github.com/users/codecov-io/repos","events_url":"https://api.github.com/users/codecov-io/events{/privacy}","received_events_url":"https://api.github.com/users/codecov-io/received_events","type":"User","site_admin":false},"created_at":"2018-06-01T23:31:34Z","updated_at":"2018-06-01T23:31:34Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=h1) Report\n> Merging [#859](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=desc) into [master](https://codecov.io/gh/RcppCore/Rcpp/commit/6886a43ba273c19deb7feaa9c899645d60523a03?src=pr&el=desc) will **decrease** coverage by `0.02%`.\n> The diff coverage is `9.09%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/RcppCore/Rcpp/pull/859/graphs/tree.svg?token=zcvvZmcvvg&src=pr&height=150&width=650)](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=tree)\n\n```diff\n@@            Coverage Diff             @@\n##           master     #859      +/-   ##\n==========================================\n- Coverage   90.49%   90.46%   -0.03%     \n==========================================\n  Files          70       70              \n  Lines        3240     3251      +11     \n==========================================\n+ Hits         2932     2941       +9     \n- Misses        308      310       +2\n```\n\n\n| [Impacted Files](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [src/attributes.cpp](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-c3JjL2F0dHJpYnV0ZXMuY3Bw) | `98.5% <ø> (+0.08%)` | :arrow_up: |\n| [inst/include/RcppCommon.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHBDb21tb24uaA==) | `100% <ø> (ø)` | :arrow_up: |\n| [inst/include/Rcpp/api/meat/Rcpp\\_eval.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHAvYXBpL21lYXQvUmNwcF9ldmFsLmg=) | `63.15% <0%> (ø)` | :arrow_up: |\n| [inst/include/Rcpp/exceptions.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHAvZXhjZXB0aW9ucy5o) | `7.69% <0%> (-42.31%)` | :arrow_down: |\n| [inst/include/Rcpp/Environment.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHAvRW52aXJvbm1lbnQuaA==) | `100% <100%> (ø)` | :arrow_up: |\n| [inst/include/Rcpp/Named.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHAvTmFtZWQuaA==) | `100% <0%> (+18.18%)` | :arrow_up: |\n| [inst/include/Rcpp/grow.h](https://codecov.io/gh/RcppCore/Rcpp/pull/859/diff?src=pr&el=tree#diff-aW5zdC9pbmNsdWRlL1JjcHAvZ3Jvdy5o) | `100% <0%> (+33.33%)` | :arrow_up: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=footer). Last update [6886a43...b4cc4ef](https://codecov.io/gh/RcppCore/Rcpp/pull/859?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov-io"}}