On Tue, Sep 3, 2013 at 2:42 AM, Felipe Sateler <fsate...@debian.org> wrote: > On Mon, Sep 2, 2013 at 8:16 PM, Felipe Sateler <fsate...@debian.org> wrote: >> On Mon, Sep 2, 2013 at 7:33 PM, Felipe Sateler <fsate...@debian.org> wrote: >>> Hi liblo devs, >>> >>> The python liblo wrapper has a test suite that has uncovered a bug in >>> liblo. >> >> I just tried current git (5a7a54b4a0a) and the test provided by >> Sebastian continues to fail. > > It appears the problem is that in sparc, you can't just say > *(datatype*)data. Depending on datatype, 'data' has to be aligned at a > certain number of bytes from the original block (4 for int, 8 for > int64): > > char* src = something(); > int* tmp = (int*)(src + 1); // If 1 is replaced by 4, no bus error. > *src = 1; // Bus error here. > int a = *src; // This yields bus error too > > So, at least lo_message_add_data (plus all its users), > lo_arg_pp_internal and lo_arg_host_endian need to change to support > sparc. >
Any idea how to get a sparc test environment running? Is there an emulator I can use for example? In the provided stack traces the "data" variable does seem to be 4-byte aligned, but the error is on a 64-bit data type. I am curious to know if this problem _only_ occurs for 64-bit types? Type-casting is somewhat fundamental to how liblo uses the lo_arg data structure and for interpreting raw memory blocks of OSC data. In general OSC is by-design 32-bit-aligned, so generally this shouldn't be an issue, but if there are cases where things need to be 64-bit-aligned I can see how this problem might creep in. Suggestions on how to debug would be useful as I am completely unfamiliar with sparc. thanks, Steve _______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers