Skip to content

Chromium crash in loop with trigonometric functions #16606

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

Closed
DartBot opened this issue Feb 6, 2014 · 4 comments
Closed

Chromium crash in loop with trigonometric functions #16606

DartBot opened this issue Feb 6, 2014 · 4 comments
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. closed-duplicate Closed in favor of an existing report

Comments

@DartBot
Copy link

DartBot commented Feb 6, 2014

This issue was originally filed by [email protected]


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?

@a-siva
Copy link
Contributor

a-siva commented 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
Copy link
Contributor

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
Copy link
Author

DartBot commented Feb 7, 2014

This comment was originally written by [email protected]


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
Copy link

kasperl commented Feb 10, 2014

The fix for this issue is now live on the stable channel in Dart SDK version 1.1.3.

@DartBot DartBot added Type-Defect area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. closed-duplicate Closed in favor of an existing report labels Feb 10, 2014
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. closed-duplicate Closed in favor of an existing report
Projects
None yet
Development

No branches or pull requests

5 participants