Repository navigation
Chromium crash in loop with trigonometric functions #16606
Description
This issue was originally filed by kupka.jirk...@gmail.com
I have got following code:
Timer timer = new Timer.periodic(Duration.ZERO, (Timer t) {
num d = 5161;
num N = 125.1228 - 0.0529538083 * d;
num i = 5.1454;
num w = 318.0634 + 0.1643573223 * d;
num a = 60.2666;
num e = 0.054900;
num m = 115.3654 + 13.0649929509 * d;
N = 2.0;
i = 2.0;
w = 2.0;
m = 2.0;
num ea = 23.0;
num xv = 33.0;
num yv = 12.3;
num v = 34.2;
num r = sqrt(xvxv + yvyv);
print(sin(N) * cos(v+w) + cos(N) * sin(v+w) * cos(i));
print(sin(N) * cos(v+w) + cos(N) * sin(v+w) * cos(i));
print(r * ( sin(v+w) * sin(i) ));
});
When I run it, it's ok - let's say - for 180 iteration of this loop. However than Chromium just crush. It's every time. With more calculations, it's crash earliear.
I'm using Dart SDK version 1.1.1 and build 31822, Ubuntu 13.04 (I tried it on Windows 7 too - same problem), 64bit arch.
I think, in previous build it was ok, but I'm not sure.
chrome://version
Chromium 31.0.1650.48 (Vývojářské sestavení 240209) custom
Operační systém Linux
Blink 537.36 (@164190)
JavaScript V8 3.21.18.2
Dart 1.1.1
Flash 11.2 r202
User agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.48 (Dart) Safari/537.36
Příkazový řádek /opt/google/dartium/dartium --user-data-dir=/home/jirka/.config/dartium --remote-debugging-port=36967 --user-data-dir=/home/jirka/.dartium --enable-experimental-webkit-features --enable-devtools-experiments --no-first-run --no-default-browser-check --no-process-singleton-dialog --user-data-dir=/home/jirka/.config/dartium --flag-switches-begin --flag-switches-end chrome://version/
Spustitelná cesta /opt/google/dartium/dartium
Cesta k profilu /home/jirka/.config/dartium/Default
Varianty b178bdde-5ee54a71
b03ddc1f-2d9ef0cc
f9b252d0-fd526c81
262f996f-42d3ce07
24dca50e-837c4893
ca65a9fe-bf3100d4
5e29d81-f23d1dea
246fb659-a5822863
f296190c-17e37270
4442aae2-6bdfffe7
ed1d377-e1cc0f14
75f0f0a0-e1cc0f14
e2b18481-6e597ede
e7e71889-e1cc0f14
Should I add some more information about the environment?
Activity
a-siva commentedon Feb 6, 2014
I can reproduce this crash on standalone dart 1.1.1 with the backtrace being
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff2ade700 (LWP 17002)]
0x0000000000626d16 in dart::Instruction::InsertAfter(dart::Instruction*) ()
(gdb) where
#0 0x0000000000626d16 in dart::Instruction::InsertAfter(dart::Instruction*) ()
#1 0x00000000005a3498 in dart::FlowGraph::InsertAfter(dart::Instruction*, dart::Instruction*, dart::Environment*, dart::Definition::UseKind) ()
#2 0x00000000005e3f7d in dart::FlowGraphOptimizer::AppendLoadIndexedForMerged(dart::Definition*, long, long) ()
#3 0x00000000005e46f9 in dart::FlowGraphOptimizer::TryMergeMathUnary(dart::GrowableArray<dart::MathUnaryInstr*>*) ()
#4 0x00000000005fb0bc in dart::FlowGraphOptimizer::TryOptimizePatterns() ()
#5 0x000000000057e8f4 in ?? ()
#6 0x000000000057fa1f in ?? ()
#7 0x00000000005759df in dart::DRT_OptimizeInvokedFunction(dart::NativeArguments) ()
#8 0x00007ffff7f5407f in ?? ()
#9 0x0000000000fef280 in ?? ()
#10 0x0000000000000001 in ?? ()
#11 0x00007ffff2add0c0 in ?? ()
#12 0x00007ffff2add0c8 in ?? ()
#13 0x00007ffff2add0e8 in ?? ()
#14 0x00007ffff283e3ef in ?? ()
#15 0x00007ffff2b5a911 in ?? ()
#16 0x00007ffff7f94021 in ?? ()
#17 0x00007ffff7f962c1 in ?? ()
#18 0x00007ffff294acd1 in ?? ()
#19 0x0000000000000000 in ?? ()
It looks like this crasher has been fixed in the newer builds. I tried the latest builds of both standalone Dart and Dartium and the crash does not happen.
We need to verify that this fix has been integrated into the new 1.2 release and
inform the user that he would get a fix by upgrading to the new version.
Removed Area-Dartium label.
Added Area-VM label.
iposva-google commentedon Feb 6, 2014
This is a duplicate of issue #16103, which was fixed with r31858 and r31862. These fixes were integrated into 1.1.2 with r32062.
Jirko, please let us know if upgrading to 1.1.2 does not address your issue.
cc @sgmitrovic.
cc @fsc8000.
cc @a-siva.
Added Duplicate label.
Marked as being merged into #16103.
DartBot commentedon Feb 7, 2014
This comment was originally written by kupka....@gmail.com
Amazing work! Thanks, guys. Now, I have got:
Chromium 32.0.1700.58 (Vývojářské sestavení 247491)
Operační systém Linux
Blink 537.36 (@165984)
JavaScript V8 3.22.24
Dart 1.2.0-dev.3.2
and everything looks fine.
kasperl commentedon Feb 10, 2014
The fix for this issue is now live on the stable channel in Dart SDK version 1.1.3.