www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Assert failure on 2.070.0 without stack trace

reply =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
After upgrading to 2.070.0 I get an assert failure in my 
application that wasn't there before:

core.exception.AssertError knet/linking.d(235): Assertion failure

Why isn't there any stacktrace? I thought has been fixed.

Please help.
Jan 28
parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Thursday, 28 January 2016 at 18:01:09 UTC, Nordlöw wrote:
 After upgrading to 2.070.0 I get an assert failure in my 
 application that wasn't there before:

 core.exception.AssertError knet/linking.d(235): Assertion 
 failure

 Why isn't there any stacktrace? I thought has been fixed.

 Please help.
You can use Digger to find the exact compiler change that caused this assert to manifest, and Dustmite to find the minimal program which behaves differently in two compiler versions.
Jan 28
next sibling parent =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Thursday, 28 January 2016 at 18:13:59 UTC, Vladimir Panteleev 
wrote:
 On Thursday, 28 January 2016 at 18:01:09 UTC, Nordlöw wrote:
 After upgrading to 2.070.0 I get an assert failure in my 
 application that wasn't there before:

 core.exception.AssertError knet/linking.d(235): Assertion 
 failure

 Why isn't there any stacktrace? I thought has been fixed.

 Please help.
You can use Digger to find the exact compiler change that caused this assert to manifest, and Dustmite to find the minimal program which behaves differently in two compiler versions.
My "app" is ca 30klines...
Jan 28
prev sibling parent reply =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Thursday, 28 January 2016 at 18:13:59 UTC, Vladimir Panteleev 
wrote:
 You can use Digger to find the exact compiler change that 
 caused this assert to manifest, and Dustmite to find the 
 minimal program which behaves differently in two compiler 
 versions.
Thanks, I'm aware of these tools. But it's easier to use the stacktrace...if I only get one. The function where the assert() is called is, in turn, called in hundreds of places.
Jan 28
parent Benjamin Thaut <code benjamin-thaut.de> writes:
On Thursday, 28 January 2016 at 18:33:19 UTC, Nordlöw wrote:
 Thanks, I'm aware of these tools.

 But it's easier to use the stacktrace...if I only get one. The 
 function where the assert() is called is, in turn, called in 
 hundreds of places.
Which platform are you on? Are all your binaries compiled with debug symbols? If one or multiple functions on the stack are within phobos or druntime you might not have debug symbols for phobos or druntime. Using inline asm might also destroy your stack frames.
Jan 29