AF:
NF:0
PS:10
SRH:1
SFN:
DSR:
MID:<20090325115359.5a99bf32@ripper.onstor.net>
CFG:
PT:0
S:andy.sharp@onstor.com
RQ:
SSV:mail.onstor.net
NSV:
SSH:
R:<maxim.kozlovsky@onstor.com>,<rendell.fong@onstor.com>
MAID:1
X-Sylpheed-Privacy-System:
X-Sylpheed-Sign:0
SCF:#mh/Mailbox/sent
RMID:#imap/andys@onstor.net@exch1.onstor.net/INBOX	0	2779531E7C760D4491C96305019FEEB52AC8B56FB9@exch1.onstor.net
X-Sylpheed-End-Special-Headers: 1
Date: Wed, 25 Mar 2009 11:54:51 -0700
From: Andrew Sharp <andy.sharp@onstor.com>
To: Maxim Kozlovsky <maxim.kozlovsky@onstor.com>, Rendell Fong
 <rendell.fong@onstor.com>
Subject: Re: Defect  TED00026475 abort function,  assert or verify macros on
 linux produce core with invalid stacktrace Assigned
Message-ID: <20090325115451.71df8f73@ripper.onstor.net>
In-Reply-To: <2779531E7C760D4491C96305019FEEB52AC8B56FB9@exch1.onstor.net>
References: <ea794060-121f-4aba-b0cf-48c930b975f4@exch1.onstor.net>
	<2779531E7C760D4491C96305019FEEB52AC8B56FB9@exch1.onstor.net>
Organization: Onstor
X-Mailer: Sylpheed-Claws 2.6.0 (GTK+ 2.8.20; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Sounds like this should be assigned to you, Max, since you've already
fixed it, at least, in your head.

On Wed, 25 Mar 2009 11:43:06 -0700 Maxim Kozlovsky
<maxim.kozlovsky@onstor.com> wrote:

> This is easy to reproduce, put an assert(0) in any random piece of
> code with deep call stack. 
> 
> The problem is with gcc over optimizing the __attribute__((noreturn))
> on MIPS. The __assert_fail(), abort() and similar functions are
> declared as such in glibc. GCC does not generated the register saving
> code in some cases when processing functions calling only noreturn
> functions and does not adjust the stack properly so the stack gets
> squashed when noreturn function is called making the backtrace
> impossible.
> 
> To fix this you'll need to modify the glibc declarations to remove
> __attribute__((noreturn)) and rebuild glibc, or change all the
> occurrences in the code of the abort, assert, etc, and fix the
> declarations of VERIFY  and ASSERT macros to crash without calling
> abort or assert.
> 
> >-----Original Message-----
> >From: Andy Sharp
> >Sent: Wednesday, March 25, 2009 11:33 AM
> >To: Rendell Fong; Andy Sharp
> >Cc: Maxim Kozlovsky
> >Subject: Defect TED00026475 abort function, assert or verify macros
> >on linux produce core with invalid stacktrace Assigned
> >
> >Severity: 2-Major
> >Build: N/A
> >Note_Entry:
> >This bug should really be kicked back MI, since there's no examples
> >or core dumps or anything useful like that attached.
> >
> >Release_Project: 4.0.2.0
> >Description: if an application crashes as a result of failed
> >assertion or a call to an abort() function the resulting core often
> >has invalid stack trace.
> 
