Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

运行了一段时间时间应用直接挂掉 #189

Closed
clivhua opened this issue Jan 25, 2021 · 6 comments
Closed

运行了一段时间时间应用直接挂掉 #189

clivhua opened this issue Jan 25, 2021 · 6 comments
Labels
bug Something isn't working

Comments

@clivhua
Copy link

clivhua commented Jan 25, 2021

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00007fdf31f2749f, pid=61205, tid=0x00007fdea5d56700

JRE version: OpenJDK Runtime Environment (8.0_275) (build 1.8.0_275-_2020_12_15_09_29-b00)

Java VM: OpenJDK 64-Bit Server VM (25.275-b00 mixed mode linux-amd64 compressed oops)

Problematic frame:

V [libjvm.so+0x6bf49f] java_lang_Thread::get_thread_status(oopDesc*)+0xf

hs_err_pid65.log
目前使用到版本:Alibaba_Dragonwell_8.5.5-GA_Linux_x64

@joeyleeeeeee97 joeyleeeeeee97 added the bug Something isn't working label Jan 25, 2021
@zhengxiaolinX
Copy link
Contributor

Thank you for opening this issue.
We cannot reproduce this issue in our local environment. Could you please provide more information about this crash?

  1. environment: your application type, based on spring-boot / jetty etc.
  2. frequency of reproducing this problem
  3. if it's reproducible, could version 8.4.4 generates the same problem?
  4. better to offer us a case to reproduce this problem
    Thank you for your help!

@clivhua
Copy link
Author

clivhua commented Jan 26, 2021

tomcat9.0.39发生crash,生了一次,目前更新tomcat到9.0.41版在使用。 生产系统涉及比较多,不容抽离故障代码case。

@luchsh
Copy link
Contributor

luchsh commented Feb 7, 2021

我稍微喵了一眼日志,一些线索是:

  • 看起来执行的指令是move (rdi, rax, 1), rax
  • rax=0x30看起来没啥问题
  • rdi=0x79bfa9970是合法的heap地址[0x0000000700000000~ 0x00000007C0000000]
  • 但日志中RDI=0x000000079bfa9970 is an unallocated location in the heap,所以是不是rdi所代表的某些 协程 c++层存储的oop在GC的时候没有更新或没加入GC root?

@zhengxiaolinX
Copy link
Contributor

实在是非常有启发性的提醒,"an unallocated location in the heap" 的确不太正常。我多加几个 guarantee 排查一下。

@zhengxiaolinX
Copy link
Contributor

我稍微喵了一眼日志,一些线索是:

  • 看起来执行的指令是move (rdi, rax, 1), rax
  • rax=0x30看起来没啥问题
  • rdi=0x79bfa9970是合法的heap地址[0x0000000700000000~ 0x00000007C0000000]
  • 但日志中RDI=0x000000079bfa9970 is an unallocated location in the heap,所以是不是rdi所代表的某些 协程 c++层存储的oop在GC的时候没有更新或没加入GC root?

我只能说胜哥无敌

zhengxiaolinX added a commit that referenced this issue Aug 8, 2022
Summary: Wisp unfortunately missed doing do_oop() for WispThread, which is corresponded to a Coroutine data structure. We shall add it.

Test Plan: all wisp tests

Reviewed-by: yuleil, sanhong

Issue: #189
@zhengxiaolinX
Copy link
Contributor

这个问题在接下来的 Dragonwell 8.12.13 中理论上是修复掉了,所以我先关闭这个 issue 了。如果之后还有问题的话请随时 reopen。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants