You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Example, M4 populates a directory of long file names (some over 64 chars) into StaticBuffers::dir_tree.files.
Then A7 attempts to read those file names, appending them to a local std::string. A7 will crash while processing one of the longer file names. It crashes while appending the filename string to the local std::string, and seems to always be crashing while appending a character not aligned to a word boundary.
The local std::string data looks intact, and the dir_tree.files vector looks intact, as well as the dir_tree.files[N].filename string.
Perhaps there some sort of alignment restriction difference in A7 vs M4 when allocating strings, or specifically when appending a string to another string, perhaps there is an assumption about the alignment that A7 makes but M4 does not?
To check, if I populate dir_tree.files with long strings on the A7 core, then when the M4 populates the directory it will re-use some of the already allocated strings. This works and does not crash.
Also, copying the dir_tree.files[N].filename string to a local char array on the stack, and then append that local char array to the local string works without crashing.
See commit 9ec151fba42903a13545fb52e8f2dcb01b663209
The text was updated successfully, but these errors were encountered:
Example, M4 populates a directory of long file names (some over 64 chars) into
StaticBuffers::dir_tree.files
.Then A7 attempts to read those file names, appending them to a local
std::string
. A7 will crash while processing one of the longer file names. It crashes while appending the filename string to the local std::string, and seems to always be crashing while appending a character not aligned to a word boundary.The local std::string data looks intact, and the dir_tree.files vector looks intact, as well as the dir_tree.files[N].filename string.
Perhaps there some sort of alignment restriction difference in A7 vs M4 when allocating strings, or specifically when appending a string to another string, perhaps there is an assumption about the alignment that A7 makes but M4 does not?
To check, if I populate dir_tree.files with long strings on the A7 core, then when the M4 populates the directory it will re-use some of the already allocated strings. This works and does not crash.
Also, copying the dir_tree.files[N].filename string to a local char array on the stack, and then append that local char array to the local string works without crashing.
See commit 9ec151fba42903a13545fb52e8f2dcb01b663209
The text was updated successfully, but these errors were encountered: