The config takes exception when the address of an load/store is unaligned

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

The config takes exception when the address of an load/store is unaligned

Wuweijia

I am new. I run valgrind in arm64 server, it show me the information in red, and then valgrind exit. What problem is it ? Can you tell me how to make continue to run ( not exit ).

 

 

[EIS_IVP][I] temporal_denoise_multi_frame:1885 frame[1]: imgSize / 3 / 2 = 1331712, motionPixNum = 0

 

Error: The config takes exception when the address of an load/store is unaligned. The address 0xfead844c is not properly aligned.

==32249==

==32249== HEAP SUMMARY:

==32249==     in use at exit: 60,503,682 bytes in 38 blocks

==32249==   total heap usage: 3,112 allocs, 3,074 frees, 131,593,040 bytes allocated

==32249==

==32249== LEAK SUMMARY:

==32249==    definitely lost: 204 bytes in 17 blocks

==32249==    indirectly lost: 180,263 bytes in 1 blocks

==32249==      possibly lost: 60,320,908 bytes in 16 blocks

==32249==    still reachable: 2,307 bytes in 4 blocks

==32249==         suppressed: 0 bytes in 0 blocks

==32249== Rerun with --leak-check=full to see details of leaked memory

==32249==

==32249== For counts of detected and suppressed errors, rerun with: -v

==32249== Use --track-origins=yes to see where uninitialised values come from

 

 

Test machine information

CPU aarch64

OS  android 7.0

Valgrind  3.11

 

 

What anything else do  you need ?


------------------------------------------------------------------------------

_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The config takes exception when the address of an load/store is unaligned

John Reiser
> Error: The config takes exception when the address of an load/store is unaligned. The address 0xfead844c is not properly aligned.

That complaint is from the application, and not from valgrind (memcheck).
The substring 'takes exception' does not appear anywhere in the valgrind source code.
Also, every line that _is_ a valgrind complaint begins with "==PID==" where PID
is the process ID in decimal.

The address 0xfead844c is 4-byte aligned.  What alignment is the application expecting?
Look at the source code of the application to find out.  malloc() claims that each
newly-allocated block is "suitably aligned for any built-in type", and memcheck's
replacement for malloc() obeys this rule.  On aarch64 the maximum required alignment
is 16-byte alignment, but this is required only when using the stack pointer register
SP as a base register, or for special exclusive and explicitly-ordered memory accesses
that are part of multi-threaded synchronization.  Otherwise, most compilers and
runtime libraries use natural alignment: sizeof(x) divides &x for any builtin type;
and align_of(struct) is max(align_of(members)).  Therefore in practice the maximum
alignment is likely to be 8-byte alignment because of the 'double' type.
On x86_64 it is 16 bytes because some "multi-media" SIMD instructions require
128-bit alignment for operands in memory.  aarch64 does not have this requirement,
although there are VectorFloatingPoint and other SIMD loads and stores which may
execute faster when aligned to 4 times the alignment of an individual element.


------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Loading...