{"action":"closed","issue":{"url":"https://api.github.com/repos/RevolutionAnalytics/rmr2/issues/142","labels_url":"https://api.github.com/repos/RevolutionAnalytics/rmr2/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/RevolutionAnalytics/rmr2/issues/142/comments","events_url":"https://api.github.com/repos/RevolutionAnalytics/rmr2/issues/142/events","html_url":"https://github.com/RevolutionAnalytics/rmr2/issues/142","id":42906323,"number":142,"title":"Inconsistent columns cause fatal crash","user":{"login":"piccolbo","id":905563,"avatar_url":"https://avatars.githubusercontent.com/u/905563?v=3","gravatar_id":"","url":"https://api.github.com/users/piccolbo","html_url":"https://github.com/piccolbo","followers_url":"https://api.github.com/users/piccolbo/followers","following_url":"https://api.github.com/users/piccolbo/following{/other_user}","gists_url":"https://api.github.com/users/piccolbo/gists{/gist_id}","starred_url":"https://api.github.com/users/piccolbo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piccolbo/subscriptions","organizations_url":"https://api.github.com/users/piccolbo/orgs","repos_url":"https://api.github.com/users/piccolbo/repos","events_url":"https://api.github.com/users/piccolbo/events{/privacy}","received_events_url":"https://api.github.com/users/piccolbo/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"piccolbo","id":905563,"avatar_url":"https://avatars.githubusercontent.com/u/905563?v=3","gravatar_id":"","url":"https://api.github.com/users/piccolbo","html_url":"https://github.com/piccolbo","followers_url":"https://api.github.com/users/piccolbo/followers","following_url":"https://api.github.com/users/piccolbo/following{/other_user}","gists_url":"https://api.github.com/users/piccolbo/gists{/gist_id}","starred_url":"https://api.github.com/users/piccolbo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piccolbo/subscriptions","organizations_url":"https://api.github.com/users/piccolbo/orgs","repos_url":"https://api.github.com/users/piccolbo/repos","events_url":"https://api.github.com/users/piccolbo/events{/privacy}","received_events_url":"https://api.github.com/users/piccolbo/received_events","type":"User","site_admin":false},"milestone":null,"comments":7,"created_at":"2014-09-16T17:03:30Z","updated_at":"2015-03-05T22:26:58Z","closed_at":"2015-03-05T22:26:58Z","body":"Opened on a report by @jamiefolson\r\n\r\nWhen the reduce function returns different columns for different values, the job completes successfully, but any attempt to work with the results will lead to a fatal error crashing the R session:\r\n\r\n```r\r\nfrom.dfs(mapreduce(to.dfs(letters),map=function(k,v)keyval(v,v),reduce=function(k,vv)keyval(k,as.data.frame(structure(list(vv),names=vv)))))\r\n...\r\nSegmentation fault.\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/library/RevoScaleR/rxLibs/x64/libExaCore.so.2(_Z21CriticalSignalHandleri+0x1e)[0x7ffe57d4459e]\r\n/lib64/libc.so.6[0x30f9832a20]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x4d0c4)[0x7ffe6b9a40c4]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x52da5)[0x7ffe6b9a9da5]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xbfb1e)[0x7ffe6ba16b1e]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x225)[0x7ffe6ba1f785]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8df7)[0x7ffe6ba1fdf7]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8f80)[0x7ffe6ba1ff80]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc425c)[0x7ffe6ba1b25c]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8df7)[0x7ffe6ba1fdf7]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8f80)[0x7ffe6ba1ff80]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc425c)[0x7ffe6ba1b25c]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc5572)[0x7ffe6ba1c572]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x225)[0x7ffe6ba1f785]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x53edb)[0x7ffe6b9aaedb]\r\n/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x4dc)[0x7ffe6ba1fa3c]\r\n```\r\n\r\nThis may seem like an odd thing to want to do, but for sequences of operations, it is convenient to construct a result sequentially and return as partial results even when the full result cannot be calculated."}}