Igniters,
There was a question on SO about using Ignite with ARM: http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault Does anyone have any experience with ARM to shed some light on the issue user is having? Thanks, D. |
ARM device may be working in big endian mode. This can definitely cause
issues with Unsafe that uses predefined x86/x64 offsets (for little endian) in Ignite code. I'll dig deeply to prove my conjecture and can respond the user later. -- Denis On 9/16/2015 4:48 AM, Dmitriy Setrakyan wrote: > Igniters, > > There was a question on SO about using Ignite with ARM: > http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault > > Does anyone have any experience with ARM to shed some light on the issue > user is having? > > Thanks, > D. > |
I think that at least our direct marshalling is incompatible with big
endian, because DirectByteBufferStream always uses Unsafe. We should have something similar to PortablePrimitives (or even this specific class) there and automatically switch to byte-by-byte processing if needed. -Val On Tue, Sep 15, 2015 at 11:15 PM, Denis Magda <[hidden email]> wrote: > ARM device may be working in big endian mode. This can definitely cause > issues with Unsafe that uses predefined x86/x64 offsets (for little endian) > in Ignite code. > > I'll dig deeply to prove my conjecture and can respond the user later. > > -- > Denis > > > On 9/16/2015 4:48 AM, Dmitriy Setrakyan wrote: > >> Igniters, >> >> There was a question on SO about using Ignite with ARM: >> >> http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault >> >> Does anyone have any experience with ARM to shed some light on the issue >> user is having? >> >> Thanks, >> D. >> >> > |
On Wed, Sep 16, 2015 at 9:22 AM, Valentin Kulichenko <
[hidden email]> wrote: > I think that at least our direct marshalling is incompatible with big > endian, because DirectByteBufferStream always uses Unsafe. We should have > something similar to PortablePrimitives (or even this specific class) there > and automatically switch to byte-by-byte processing if needed. > My preference would be to identify the issue and properly document it in Jira. > > -Val > > On Tue, Sep 15, 2015 at 11:15 PM, Denis Magda <[hidden email]> wrote: > > > ARM device may be working in big endian mode. This can definitely cause > > issues with Unsafe that uses predefined x86/x64 offsets (for little > endian) > > in Ignite code. > > > > I'll dig deeply to prove my conjecture and can respond the user later. > > > > -- > > Denis > > > > > > On 9/16/2015 4:48 AM, Dmitriy Setrakyan wrote: > > > >> Igniters, > >> > >> There was a question on SO about using Ignite with ARM: > >> > >> > http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault > >> > >> Does anyone have any experience with ARM to shed some light on the issue > >> user is having? > >> > >> Thanks, > >> D. > >> > >> > > > |
Note that there is another similar problem reported for HP-UX environment:
https://issues.apache.org/jira/browse/IGNITE-1493. While the problem appears to be completely different in nature (address alignment problem), it looks like we need some systematic work on targeting different archs/OSes. I expect that we face lots of problems with endiannes, unaligned access, JVM offsets, memory ordering, etc. As per endiannes and alignment issues, Netty is a good reference point: https://github.com/netty/netty/blob/master/common/src/main/java/io/netty/util/internal/PlatformDependent0.java On Wed, Sep 16, 2015 at 9:23 AM, Dmitriy Setrakyan <[hidden email]> wrote: > On Wed, Sep 16, 2015 at 9:22 AM, Valentin Kulichenko < > [hidden email]> wrote: > > > I think that at least our direct marshalling is incompatible with big > > endian, because DirectByteBufferStream always uses Unsafe. We should have > > something similar to PortablePrimitives (or even this specific class) > there > > and automatically switch to byte-by-byte processing if needed. > > > > My preference would be to identify the issue and properly document it in > Jira. > > > > > > -Val > > > > On Tue, Sep 15, 2015 at 11:15 PM, Denis Magda <[hidden email]> > wrote: > > > > > ARM device may be working in big endian mode. This can definitely cause > > > issues with Unsafe that uses predefined x86/x64 offsets (for little > > endian) > > > in Ignite code. > > > > > > I'll dig deeply to prove my conjecture and can respond the user later. > > > > > > -- > > > Denis > > > > > > > > > On 9/16/2015 4:48 AM, Dmitriy Setrakyan wrote: > > > > > >> Igniters, > > >> > > >> There was a question on SO about using Ignite with ARM: > > >> > > >> > > > http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault > > >> > > >> Does anyone have any experience with ARM to shed some light on the > issue > > >> user is having? > > >> > > >> Thanks, > > >> D. > > >> > > >> > > > > > > |
Guys,
I've created a special task to overcome this issue: [1] Already linked the task with IGNITE-1493 and put a reference to user's question from StackOverflow. Feel free to leave your thought in [1]. [1] https://issues.apache.org/jira/browse/IGNITE-1497 -- Denis On 9/16/2015 10:33 AM, Vladimir Ozerov wrote: > Note that there is another similar problem reported for HP-UX environment: > https://issues.apache.org/jira/browse/IGNITE-1493. While the problem > appears to be completely different in nature (address alignment problem), > it looks like we need some systematic work on targeting different > archs/OSes. I expect that we face lots of problems with endiannes, > unaligned access, JVM offsets, memory ordering, etc. > > As per endiannes and alignment issues, Netty is a good reference point: > https://github.com/netty/netty/blob/master/common/src/main/java/io/netty/util/internal/PlatformDependent0.java > > > > On Wed, Sep 16, 2015 at 9:23 AM, Dmitriy Setrakyan <[hidden email]> > wrote: > >> On Wed, Sep 16, 2015 at 9:22 AM, Valentin Kulichenko < >> [hidden email]> wrote: >> >>> I think that at least our direct marshalling is incompatible with big >>> endian, because DirectByteBufferStream always uses Unsafe. We should have >>> something similar to PortablePrimitives (or even this specific class) >> there >>> and automatically switch to byte-by-byte processing if needed. >>> >> My preference would be to identify the issue and properly document it in >> Jira. >> >> >>> -Val >>> >>> On Tue, Sep 15, 2015 at 11:15 PM, Denis Magda <[hidden email]> >> wrote: >>>> ARM device may be working in big endian mode. This can definitely cause >>>> issues with Unsafe that uses predefined x86/x64 offsets (for little >>> endian) >>>> in Ignite code. >>>> >>>> I'll dig deeply to prove my conjecture and can respond the user later. >>>> >>>> -- >>>> Denis >>>> >>>> >>>> On 9/16/2015 4:48 AM, Dmitriy Setrakyan wrote: >>>> >>>>> Igniters, >>>>> >>>>> There was a question on SO about using Ignite with ARM: >>>>> >>>>> >> http://stackoverflow.com/questions/32592881/apache-ignite-arm-unsafe-getfloat-segmentation-fault >>>>> Does anyone have any experience with ARM to shed some light on the >> issue >>>>> user is having? >>>>> >>>>> Thanks, >>>>> D. >>>>> >>>>> |
Free forum by Nabble | Edit this page |