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

Future.chain: an exception is thrown if chained future receives an exception before the first future is completed. #1917

Closed
DartBot opened this issue Feb 29, 2012 · 4 comments
Assignees
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries.

Comments

@DartBot
Copy link

DartBot commented Feb 29, 2012

This issue was originally filed by ms...@unipro.ru


What steps will reproduce the problem?
Run the following test:

main() {
  Completer completer = new Completer();
  Future f = completer.future;

  Completer chainCompleter = new Completer();

  Future chained = f.chain((value) {
    return chainCompleter.future;
  });

  chainCompleter.completeException(1);
  completer.complete(0);
  print(chained.exception);
}

What is the expected output? What do you see instead?
From the documentation of method chain(): "If an exception occurs (received by this future, thrown by transformation, or received by the future returned by transformation) then the returned future will receive the exception.". So, that test should just print '1'. But when complete() is invoked on completer, exception 1 is thrown.

What version of the product are you using? On what operating system?
DartVM, Frog r4736. OS Ubuntu 10.04

Please provide any additional information below.

@kasperl
Copy link

kasperl commented Feb 29, 2012

Set owner to @sigmundch.
Added Area-Library, Triaged labels.

@sigmundch
Copy link
Member

Will fix shortly (https://chromiumcodereview.appspot.com/9533014/)


Added Accepted label.

@sigmundch
Copy link
Member

Fixed in r4762

@sigmundch
Copy link
Member

Added Fixed label.

@DartBot DartBot added Type-Defect area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. labels Feb 29, 2012
copybara-service bot pushed a commit that referenced this issue Jan 26, 2023
Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/04c9346..a23ea85):
  a23ea85  2023-01-25  Devon Carew  update the publishing script (#232)

dartdoc (https://github.com/dart-lang/dartdoc/compare/ed56883..99df16a):
  99df16a0  2023-01-24  Parker Lougheed  Use a sun for light theme toggle instead of moon (#3309)
  758e1851  2023-01-24  Parker Lougheed  Switch dart:js and some dart:js_util usages to use static interop (#3299)
  9735d895  2023-01-24  dependabot[bot]  Bump github/codeql-action from 2.1.38 to 2.1.39 (#3306)
  f6cd8eb9  2023-01-23  Sam Rawlins  Fix various bits in testing code to comply with new warnings (#3307)

http (https://github.com/dart-lang/http/compare/57c53b0..092bb2d):
  092bb2d  2023-01-25  Brian Quinlan  Create a `package:cronet_http/cronet_http.dart` import (#859)
  a62f5b3  2023-01-24  Brian Quinlan  Create a single top-level lib file. (#858)

intl (https://github.com/dart-lang/intl/compare/3fcc810..946c34c):
  946c34c  2023-01-25  Copybara-Service  Merge pull request #533 from dart-lang:updateVersion
  19b6785  2023-01-20  Moritz  Append `-dev` to current version

sse (https://github.com/dart-lang/sse/compare/be426a2..4e63b08):
  4e63b08  2023-01-25  Kevin Moore  Fix deprecated import to webdriver library (#76)

webdev (https://github.com/dart-lang/webdev/compare/f978b90..a347fa0):
  a347fa0  2023-01-25  Anna Gringauze  Update vm_service to version 10.0.0 (#1917)
  4dd29a5  2023-01-24  Anna Gringauze  Allow dart SDK <4.0.0 (#1913)
  b3db2c9  2023-01-24  Anna Gringauze  Prepare for dart 3.0 alpha changes: Handle SDK layout update (#1907)

Change-Id: I84d827db044f5b0af49b0454fd1d69b0d2ddf692
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279901
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
copybara-service bot pushed a commit that referenced this issue Feb 13, 2023
…, http_parser, pub_semver, shelf, term_glyph, test, typed_data, webdev

Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/bd3ac85..b08471e):
  b08471e  2023-02-09  Sigurd Meldgaard  Suggest command based on aliases (#235)

bazel_worker (https://github.com/dart-lang/bazel_worker/compare/1124692..53871c5):
  53871c5  2023-02-09  Kevin Moore  Migrate to dart_flutter_team_lints, cleanup (#69)

benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/b1efcf7..a6a0891):
  a6a0891  2023-02-09  Kevin Moore  Require Dart 2.19, update lints to dart_flutter_team_lints (#84)

dartdoc (https://github.com/dart-lang/dartdoc/compare/494a6be..3931595):
  39315954  2023-02-13  Devon Carew  enable additional lints (#3336)
  a52639e7  2023-02-10  Sam Rawlins  Use markdown 7 (#3332)

glob (https://github.com/dart-lang/glob/compare/a828420..f378dc8):
  f378dc8  2023-02-13  Kevin Moore  Update to dart_flutter_team_lints, also cleaned up markdown (#71)

http (https://github.com/dart-lang/http/compare/8386923..f4b365e):
  f4b365e  2023-02-07  Sigurd Meldgaard  Remove dependency on package:path (#865)

http_parser (https://github.com/dart-lang/http_parser/compare/1c0c17a..b3b283b):
  b3b283b  2023-02-08  Kevin Moore  Bump min SDK to 2.17 (#69)

pub_semver (https://github.com/dart-lang/pub_semver/compare/e9c600c..c0e6ea7):
  c0e6ea7  2023-02-12  Devon Carew  Update CHANGELOG.md (#81)
  0d62000  2023-02-12  Kevin Moore  Fix new type error, use dart_flutter_team_lints (#80)

shelf (https://github.com/dart-lang/shelf/compare/9d1fb8a..707c8b2):
  707c8b2  2023-02-07  Kevin Moore  move to pkg:dart_flutter_team_lints (#330)

term_glyph (https://github.com/dart-lang/term_glyph/compare/520784d..d275a8f):
  d275a8f  2023-02-12  Kevin Moore  Fix CI, update lints (#34)

test (https://github.com/dart-lang/test/compare/da7c667..b5e70db):
  b5e70db5  2023-02-10  Jacob MacDonald  Add notes about versioning and publishing to CONTRIBUTING.md (#1929)
  2773daa6  2023-02-09  Jacob MacDonald  update changelog version in test to use ## (#1926)
  9e3072e1  2023-02-09  Danny Tuppeny  Handle absolute paths on Windows (#1923)
  07380027  2023-02-09  Nicholas Shahan  Fix typo in migration doc (#1924)
  f49fc16a  2023-02-09  Kevin Moore  Add auto-publish configuration (#1922)
  5bf28959  2023-02-08  Nate Bosch  Add link to file issue on README (#1921)
  ef81f471  2023-02-08  Nate Bosch  Fix directory name for issue templates (#1920)
  f3bfda9d  2023-02-08  Nate Bosch  Add issue templates (#1919)
  a80f4fd0  2023-02-08  Devon Carew  Refactor top level and package README files (#1918)
  0f4558fe  2023-02-07  Nate Bosch  Prepare to publish test_core and test (#1917)
  39f498c8  2023-02-06  Nate Bosch  Minor readme improvements (#1913)
  2cb07a3f  2023-02-06  Nate Bosch  Rename matches to matchesPattern, accept Pattern (#1907)
  ba6fb1c9  2023-02-06  Jacob MacDonald  Support running tests by absolute file: uri (#1893)
  ffeaec66  2023-02-06  Nate Bosch  Take Condition for async nesting expectations (#1896)
  cdd8c395  2023-02-06  Daniel Chevalier  update vm_service to support 11.0.0 (#1910)
  f2d97bf2  2023-02-06  Nate Bosch  Expand the doc comment for Context (#1902)

typed_data (https://github.com/dart-lang/typed_data/compare/6fbbd95..f858046):
  f858046  2023-02-12  Kevin Moore  fix ci, update analysis options (#61)

webdev (https://github.com/dart-lang/webdev/compare/6255c85..0bae2be):
  0bae2be  2023-02-10  Elliott Brooks (she/her)  Fix lifeline connection logic (#1952)
  4a41cf9  2023-02-10  Anna Gringauze  Support records (#1919)
  d6229e3  2023-02-09  Anna Gringauze  Fix failure on getting a list with out of range offset (#1947)
  f1b15e8  2023-02-09  Anna Gringauze  Fix incorrect list element count (#1944)
  fff4865  2023-02-09  Elliott Brooks (she/her)  Add missing IDs to inspector panel (#1946)
  47287e3  2023-02-08  Elliott Brooks (she/her)  [MV3 Debug Extension] Extension sets the `ide` query parameter for the DevTools URI (#1943)
  1136d51  2023-02-08  Elliott Brooks (she/her)  Catch exceptions in unawaited `Futures` (#1938)
  2cad786  2023-02-07  Anna Gringauze  Cleanup getObject logic for handling offsets and counts (#1936)
  b399e94  2023-02-06  Elliott Brooks (she/her)  Pull out `dart:io`-dependent functions from`/src/utilities/shared.dart` into
`/src/utilities/server.dart` (#1942)

Change-Id: I64bdc5485665ca4c13a331ae7a6c77b1cd3208d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282802
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries.
Projects
None yet
Development

No branches or pull requests

3 participants