strange "UNADDRESSABLE ACCESS beyond top of stack" message

69 views
Skip to first unread message

Vincent Torri

unread,
Feb 5, 2020, 3:35:43 AM2/5/20
to drmemor...@googlegroups.com
Hello

i have that error on Windows, using MSYS2 + mingw-w64 64 bits
toolchain, on Win7 or Win 10:

Error #5: UNADDRESSABLE ACCESS beyond top of stack: reading
0x000000000065ec68-0x000000000065ec70 8 byte(s)
# 0 libeina-1.dll!___chkstk_ms
[E:/mingwbuild/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/CRT_fp10.c:24]
# 1 libeina-1.dll!eina_xdg_env_init [../src/lib/eina/eina_vpath_xdg.c:17]
# 2 libeina-1.dll!eina_vpath_init [../src/lib/eina/eina_vpath.c:186]
# 3 libeina-1.dll!eina_init [../src/lib/eina/eina_main.c:327]
# 4 libecore-1.dll!ecore_init [../src/lib/ecore/ecore.c:248]
# 5 libecore_evas-1.dll!ecore_evas_init [../src/lib/ecore_evas/ecore_evas.c:609]
# 6 main
[C:\Documents\msys2\home\vincent.torri\code/ecore_evas_keys.c:48]
Note: @0:00:02.705 in thread 8348
Note: 0x000000000065ec68 refers to 4072 byte(s) beyond the top of the
stack 0x000000000065fc50
Note: instruction: or $0x0000000000000000 (%rcx) -> (%rcx)


../src/lib/eina/eina_vpath.c:186 is :

eina_xdg_env_init();

it is declared in an included header file like that :

void eina_xdg_env_init(void);

and ../src/lib/eina/eina_vpath_xdg.c:17 (definition of
eina_xdg_env_init()) is :

void
eina_xdg_env_init(void)
{
etc...
}

do you understand why I have that error from drmemory ?

thank you

Vincent Torri

Derek Bruening

unread,
Feb 5, 2020, 11:29:36 AM2/5/20
to drmemor...@googlegroups.com
"chkstk" is used to ensure the stack and its guard page are properly extended for large stack allocations in a function.  It deliberately touches memory beyond the top of the stack.  This is considered incorrect behavior for regular code, and is a type of error that Dr. Memory looks for and reports.  Dr. Memory has logic to recognize typical chkstk code and avoid reporting errors for that particular code.  This must be a new variant that is not recognized.  I would suggest filing an issue for a long-term fix, and using a suppression to ignore this ___chkstk_ms in the short term.

--

---
You received this message because you are subscribed to the Google Groups "Dr. Memory Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drmemory-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/drmemory-users/CAMq1adr3Fa4h3QcQE7aSTG3GqCS%3Db6WWHb3RKaFpR56brwmCew%40mail.gmail.com.

Vincent Torri

unread,
Feb 6, 2020, 3:21:12 AM2/6/20
to Dr. Memory Users


Le mercredi 5 février 2020 17:29:36 UTC+1, Derek a écrit :
"chkstk" is used to ensure the stack and its guard page are properly extended for large stack allocations in a function.  It deliberately touches memory beyond the top of the stack.  This is considered incorrect behavior for regular code, and is a type of error that Dr. Memory looks for and reports.  Dr. Memory has logic to recognize typical chkstk code and avoid reporting errors for that particular code.  This must be a new variant that is not recognized.  I would suggest filing an issue for a long-term fix, and using a suppression to ignore this ___chkstk_ms in the short term

Reply all
Reply to author
Forward
0 new messages