August 18, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #50 from Jonathan M Davis <jmdavisProg@gmx.com> 2011-08-18 13:20:46 PDT ---
Those don't generate exceptions. They generate signals, which are completely different. And it's the OS which generates them, I believe.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 18, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #51 from Trass3r <mrmocool@gmx.de> 2011-08-18 13:31:02 PDT ---
I do know about signals, I just wasn't sure if druntime is supposed to catch
(some of) them.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 18, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #52 from bearophile_hugs@eml.cc 2011-08-18 16:32:21 PDT ---
(In reply to comment #50)
> Those don't generate exceptions. They generate signals, which are completely different. And it's the OS which generates them, I believe.

If the compiler adds tests (in nonrelease mode only, or maybe only in nonrelease -debug mode only) before those operations, then they too are able to produce a stack trace. Stack traces are handy. So is this a new feature worth asking for?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 19, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #55 from Don <clugdbug@yahoo.com.au> 2011-08-18 17:43:11 PDT ---
(In reply to comment #54)
> Yeah, Linux sends a signal when you have a memory violation like accessing a null pointer, and I've had success with creating a signal handler for SIGSEGV and throwing an exception manually. It's actually really easy, and it's much faster than having null pointer checks.

And Windows creates an exception, which does appear in the stack trace. The behaviour is very strongly OS-dependent.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 19, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #56 from Sean Kelly <sean@invisibleduck.org> 2011-08-19 14:12:24 PDT ---
If you want exceptions for these events on Posix, create a signal handler and throw one.  On some OSes it will work and on others it won't.  Assuming you're targeting a platform where it works though, doing so might be a net win.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 02, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #57 from Trass3r <mrmocool@gmx.de> 2011-12-01 17:25:12 PST ---
Seems like stack traces are finally supported on x64. Any plans to add line numbers to them?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 06, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1001


Vladimir Panteleev <thecybershadow@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thecybershadow@gmail.com


--- Comment #58 from Vladimir Panteleev <thecybershadow@gmail.com> 2012-01-06 09:33:29 PST ---
(In reply to comment #57)
> Seems like stack traces are finally supported on x64. Any plans to add line numbers to them?

Looks like that would be difficult without a dependency on binutils.
Even then, binutils is GPL. I'm not sure how GPL works with regards to weak
(optional) dependencies?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 24, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #59 from bearophile_hugs@eml.cc 2012-07-24 06:00:03 PDT ---
How much work is left to do before closing down this issue as fixed?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 24, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #60 from Vladimir Panteleev <thecybershadow@gmail.com> 2012-07-24 06:43:58 PDT ---
I believe two matters remain:

1) Getting stack traces on unhandled signals (or at least SIGSEGV).

There is ongoing discussion in this pull request: https://github.com/D-Programming-Language/druntime/pull/187

2) Getting line numbers on POSIX.

I don't think this goal is easily directly reachable. The corresponding library (binutils) that parses DWARF debug information and extracts line numbers in licensed under the GNU GPL, meaning that loading it dynamically and passing around data structures is out of the question (see http://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins). However, the D distribution can include a small GPL-licensed program that can take an exception stack trace as stdin, and convert it to include line number information, similar to the addr2line utility.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #61 from Benjamin Thaut <code@benjamin-thaut.de> 2012-12-23 06:48:44 PST ---
For windows x86: https://github.com/D-Programming-Language/druntime/pull/368

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------