Skip to content

Chain.capture() fails to generate complete stack trace for FileSystemException #1857

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
cbatson opened this issue Dec 10, 2022 · 3 comments
Closed

Comments

@cbatson
Copy link

cbatson commented Dec 10, 2022

Steps to reproduce

Run the following code:

import 'dart:io';
import 'package:stack_trace/stack_trace.dart';

Future<void> badFunc() => File('foo').readAsString();

void main(List<String> arguments) async {
  await Chain.capture(() async {
    try {
      await badFunc();
    }
    catch (error, stackTrace) {
      print(stackTrace);
    }
  });
}

Output

#0      _File.open.<anonymous closure> (dart:io/file_impl.dart:356:9)
dart-lang/tools#1817      StackZoneSpecification._registerUnaryCallback.<anonymous closure>.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:124:36)
dart-lang/stack_trace#2      StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:204:15)
dart-lang/tools#1818      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:124:24)
dart-lang/tools#1819      _rootRunUnary (dart:async/zone.dart:1399:47)
dart-lang/tools#1820      _CustomZone.runUnary (dart:async/zone.dart:1300:19)
<asynchronous suspension>
dart-lang/tools#1821      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:124:15)
<asynchronous suspension>

Expected result

I am expecting to see some mention of main() and/or the source file name in the stack trace. However, as you can see, there is no mention of any user code in this stack trace at all.

Using stack_trace version 1.11.0.

@marandaneto
Copy link

There are a few issues that are either the very same or similar to this one.
#1841
#1839
dart-lang/sdk#46326
#1851
#1852

@blaugold
Copy link

blaugold commented Jul 9, 2023

@mraleph Is this issue going to be fixed by d3e4c4d633eca379462dd4473b8995761155ee84?

@mraleph
Copy link
Member

mraleph commented Jul 9, 2023

@blaugold yep. This is now fixed (if you use 1.11.1 and new enough Dart SDK):

#0      _checkForErrorResponse (dart:io/common.dart:55:9)
dart-lang/tools#1817      _File.open.<anonymous closure> (dart:io/file_impl.dart:381:7)
dart-lang/stack_trace#2      StackZoneSpecification._registerUnaryCallback.<anonymous closure>.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:127:36)
dart-lang/tools#1818      StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:207:15)
dart-lang/tools#1819      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart:127:24)
dart-lang/tools#1820      _rootRunUnary (dart:async/zone.dart:1407:47)
dart-lang/tools#1821      _CustomZone.runUnary (dart:async/zone.dart:1308:19)
<asynchronous suspension>
dart-lang/stack_trace#7      _File.readAsBytes.<anonymous closure> (dart:io/file_impl.dart:562:24)
<asynchronous suspension>
dart-lang/tools#1822      _File.readAsString (dart:io/file_impl.dart:621:18)
<asynchronous suspension>
dart-lang/tools#1823      main.<anonymous closure> (file:///Users/vegorov/src/temp/test_stack_trace/bin/main.dart:9:7)
<asynchronous suspension>
dart-lang/tools#1824     main (file:///Users/vegorov/src/temp/test_stack_trace/bin/main.dart:7:3)
<asynchronous suspension>

@mraleph mraleph closed this as completed Jul 9, 2023
@mosuem mosuem transferred this issue from dart-archive/stack_trace Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants