On 9 July 2010 00:44, René Wagner wrote: > > On Thu, 2010-07-08 at 19:43 +0900, Daniel Stonier wrote: > > Got into it with a debugger, and found it hanging at > > roslib/include/ros/serialization.h at > > > > > > ROS_CREATE_SIMPLE_SERIALIZER(double); > > Depending on how the serializer is used, this may result in an > unaligned write. You can check whether an alignment error is involved > as follows: > > echo 5 > /proc/cpu/alignment > > and re-run the executable that's causing trouble. The program should > receive a signal (so you can see where exactly things go wrong in gdb) > and the kernel should report an "Alignment trap: ..." on the console or > in dmesg/syslog. > > Cheers, > > Rene > > - Thanks for the pointer Rene. Starting to actually find the right documents when googling now. Some results: INITIAL TESTS - with 'echo 5 > proc/cpu/alignment' (i.e. signal + warning mode)   - *both* my float64 and int32 test programs crash with a bus error - kernel message in both cases also gives an alignment trap msg : Alignment trap: float_client (941) PC=0x40238ad4 Instr=0xe5933000 Address=0x00034ce1 FSR 0x011 - with 'echo 2 > proc/cpu/alignment' (i.e. fixup mode), both programs work successfully - but this is an expensive workaround (I see google sets it to 4 (signal) on android to encourage people to program better) - The output of 'cat /proc/cpu/alignment (should it be different to this?) User: 2 System: 0 Skipped: 0 Half: 0 Word: 0 DWord: 0 Multi: 0 User faults: 5 (signal+warn) AFTER PATCHING (MEMCPY) - Patched (using the memcpy's rather than the reinterprets in the SERIALIZER macro). - In signal+warn mode (echo 5 > /proc/cpu/alignment) - (float64&int32) client gives a bus error and kernel outputs an alignment trap message, but servers are fine - In default mode (echo 0 > /proc/cpu/alignment) - (float64&int32) client and server function without hanging like before So...its working, but is this the right fix?  Cheers, Daniel. > > - > ------------------------------------------------------------ > Dipl.-Inf. René Wagner                     Junior Researcher > DFKI Bremen                           Enrique-Schmidt-Str. 5 > Safe and Secure Cognitive Systems             D-28359 Bremen > > Phone: (+49) 421-218-64224       Fax: (+49) 421-218-98-64224 > Web: http://www.informatik.uni-bremen.de/agebv/en/ReneWagner > --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > Deutsches Forschungszentrum für Künstliche Intelligenz  GmbH > Firmensitz: Trippstadter Strasse 122, D-67663 Kaiserslautern > > Geschäftsführung: >   Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) >                                          Dr. Walter Olthoff > Vorsitzender des Aufsichtsrats: >                                Prof. Dr. h.c. Hans A. Aukes > Amtsgericht Kaiserslautern                          HRB 2313 > ------------------------------------------------------------ > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users -- Phone : +82-10-5400-3296 (010-5400-3296) Home: http://snorriheim.dnsdojo.com/ Yujin Robot: http://www.yujinrobot.com/ Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl