aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-01-26 10:40:36 +0100
committerBjörn Gustavsson <[email protected]>2012-01-26 10:40:36 +0100
commit9d2a2e3db06e861045e51ca3cc8adb9cf8fc467d (patch)
tree11f3f21c67614168833abb310ad5ef314cd0d7a4 /erts/emulator/beam
parent5f1e8275db07cdbad019f760233492a6cc46486f (diff)
parent319bb885bf243b1c0549a9f5cab3d256ab0c1084 (diff)
downloadotp-9d2a2e3db06e861045e51ca3cc8adb9cf8fc467d.tar.gz
otp-9d2a2e3db06e861045e51ca3cc8adb9cf8fc467d.tar.bz2
otp-9d2a2e3db06e861045e51ca3cc8adb9cf8fc467d.zip
Merge branch 'bjorn/erts/fix-hipe-crash/OTP-9886' into maint
* bjorn/erts/fix-hipe-crash/OTP-9886: Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native code
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/beam_bp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_bp.c b/erts/emulator/beam/beam_bp.c
index 692fa61fe8..dd13cd179a 100644
--- a/erts/emulator/beam/beam_bp.c
+++ b/erts/emulator/beam/beam_bp.c
@@ -1329,10 +1329,14 @@ static BpData *get_break(Process *p, BeamInstr *pc, BeamInstr break_op) {
}
static BpData *is_break(BeamInstr *pc, BeamInstr break_op) {
- BpData **rs = (BpData **) pc[-4];
+ BpData **rs;
BpData *bd = NULL, *ebd = NULL;
ASSERT(pc[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
+ if (erts_is_native_break(pc)) {
+ return NULL;
+ }
+ rs = (BpData **) pc[-4];
if (! rs) {
return NULL;
}