RevolutionAnalytics / RHadoop

RHadoop

Home Page:https://github.com/RevolutionAnalytics/RHadoop/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inconsistent columns cause fatal crash.

jamiefolson opened this issue · comments

When 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:

from.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)))))
...
Segmentation fault.
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/library/RevoScaleR/rxLibs/x64/libExaCore.so.2(_Z21CriticalSignalHandleri+0x1e)[0x7ffe57d4459e]
/lib64/libc.so.6[0x30f9832a20]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x4d0c4)[0x7ffe6b9a40c4]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x52da5)[0x7ffe6b9a9da5]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xbfb1e)[0x7ffe6ba16b1e]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x225)[0x7ffe6ba1f785]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8df7)[0x7ffe6ba1fdf7]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8f80)[0x7ffe6ba1ff80]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc425c)[0x7ffe6ba1b25c]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8df7)[0x7ffe6ba1fdf7]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc8f80)[0x7ffe6ba1ff80]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc425c)[0x7ffe6ba1b25c]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0xc5572)[0x7ffe6ba1c572]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x178)[0x7ffe6ba1f6d8]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_applyClosure+0x371)[0x7ffe6ba11fc1]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x225)[0x7ffe6ba1f785]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(+0x53edb)[0x7ffe6b9aaedb]
/usr/lib64/Revo-7.2/R-3.0.3/lib64/R/lib/libR.so(Rf_eval+0x4dc)[0x7ffe6ba1fa3c]

This 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.

Hi Jamie,
sorry we don't accept rmr2 issues here anymore. I opened RevolutionAnalytics/rmr2#142 on your behalf

Thanks, I didn't even notice I wasn't on the rmr2 page.