www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - what's this error: allocatestack.c:384: advise_stack_range: Assertion

reply mw <mingwu gmail.com> writes:
Hi,

I got an error message when my program exits (the main 
functionality is done, I guess the error happened during D 
runtime's cleanup)

: allocatestack.c:384: advise_stack_range: Assertion `freesize < 
size' failed.

I suspect it somehow related to I pass some (object) pointers to 
foreign languages containers (C and Rust). But my main program 
seems behave correctly (I keep those pointers on the D side to 
prevent them from being GC-ed), this error only happens when the 
program exits.

Anyone can give me some hint where I should look at? (and where 
is the allocatestack.c?)

Thanks.
Aug 23 2022
parent frame <frame86 live.com> writes:
On Tuesday, 23 August 2022 at 18:50:14 UTC, mw wrote:
 Hi,

 I got an error message when my program exits (the main 
 functionality is done, I guess the error happened during D 
 runtime's cleanup)

 : allocatestack.c:384: advise_stack_range: Assertion `freesize 
 < size' failed.

 I suspect it somehow related to I pass some (object) pointers 
 to foreign languages containers (C and Rust). But my main 
 program seems behave correctly (I keep those pointers on the D 
 side to prevent them from being GC-ed), this error only happens 
 when the program exits.

 Anyone can give me some hint where I should look at? (and where 
 is the allocatestack.c?)

 Thanks.
allocatestack.c is some thing of GLIBC, the line seems to match [1] but I don't think that will help you much. You will need to get a trace where the function is called. [1] https://code.woboq.org/userspace/glibc/nptl/allocatestack.c.html
Aug 23 2022