You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2008/07/03 08:44:45 UTC

[jira] Created: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

[drlvm][signal] stack trace is not available for failing asserts
----------------------------------------------------------------

                 Key: HARMONY-5893
                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Alexey Varlamov


There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12610152#action_12610152 ] 

Alexey Varlamov commented on HARMONY-5893:
------------------------------------------

Win/Lin 32/64 (i.e. any). I see this for a couple of months or longer, in various scenarios. E.g. for current svn HEAD, run 'java -Xem:opt -Xmx6g Hello' on any x86-64 system (aka HARMONY-5890).

> [drlvm][signal] stack trace is not available for failing asserts
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5893
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>
> There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
> Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12613234#action_12613234 ] 

Alexey Varlamov commented on HARMONY-5893:
------------------------------------------

IIRC this is reproducible on Linuxes as well - so you must have been disabled them globally, overkill IMO. OTOH I recall old handler printed abort traces good enough, and I hope your experiments will go well ;)

> [drlvm][signal] stack trace is not available for failing asserts
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5893
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>
> There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
> Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619721#action_12619721 ] 

Ilya Berezhniuk commented on HARMONY-5893:
------------------------------------------

I reproduced the problem on Win'x64.

Unfortunately, when I looked through CRT sources, I found that register context is prepared manually by CRT just before program termination.
I see no way to catch ABORT with register context - although CRT emulates 'signal' function and allows catching SIGABRT, it does not provide 'sigaction' which receives registers.

So the only solution I can see is preparing register context manually right in SIGABRT handler,  like CRT does.
I'll try this way and report results.

> [drlvm][signal] stack trace is not available for failing asserts
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5893
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>
> There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
> Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12610146#action_12610146 ] 

Gregory Shimansky commented on HARMONY-5893:
--------------------------------------------

What is the application and environment/OS where you saw it?

> [drlvm][signal] stack trace is not available for failing asserts
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5893
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>
> There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
> Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5893) [drlvm][signal] stack trace is not available for failing asserts

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12613214#action_12613214 ] 

Ilya Berezhniuk commented on HARMONY-5893:
------------------------------------------

Unfortunately, I can't reproduce the problem now.
On my WinXP/x86 assert() shows dialog box regardless of mode specified with _CrtSetReportMode.

In the near future I'll become (I hope) an owner of 64-bit processor - so I'll be able to check the bug on Win/x86_64.

As I remember, assert() in MSVC library prepares approximate register context manually, so I disabled stack printing for aborts - there is no guarantee that the context is prepared correctly.
I'll make some experiments, and if the context prepared is quite good, we can use it for stack walking.


> [drlvm][signal] stack trace is not available for failing asserts
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5893
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5893
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>
> There is quite annoying peculiarity of crash handler, it reports no stack trace in case of failed assert "due to missing register info".
> Would be really nice to fix this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.