dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.3k stars 1.59k forks source link

../../runtime/vm/raw_object.cc: 356: error: Invalid cid: 0, obj: 0x7f78b60e0b68, tags: 2c. Corrupt heap? #53984

Closed insinfo closed 1 year ago

insinfo commented 1 year ago

I'm getting this error in my application with Angel 7.0.0 and dart 2.18.7 on Debian 11 with libc 2.31

the error is intermittent, in the tests I did when I run wrk for the fifth time the error appears and angel restarts

/wrk -t12 -c400 -d30s http://localhost:3150

error in AOT mode

 ../../runtime/vm/raw_object.cc: 356: error: Invalid cid: 0, obj: 0x7f78b60e0b68, tags: 2c. Corrupt heap?

error in JIT mode

===== CRASH =====
si_signo=Segmentation fault(11), si_code=128, si_addr=(nil)
version=2.18.7 (stable) (Unknown timestamp) on "linux_x64"
pid=2718, thread=2870, isolate_group=main(0x55f5de84b800), isolate=(nil)((nil))
isolate_instructions=55f5dd0fd680, vm_instructions=55f5dd0fd680
  pc 0x000055f5dd42028b fp 0x00007f0eef27c3a0 dart+0x222628b
  pc 0x000055f5dd420ff0 fp 0x00007f0eef27c3d0 dart+0x2226ff0
  pc 0x000055f5dd41fe50 fp 0x00007f0eef27c4f0 dart+0x2225e50
  pc 0x000055f5dd41ec29 fp 0x00007f0eef27c570 dart+0x2224c29
  pc 0x000055f5dd41e27c fp 0x00007f0eef27c640 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)+0x25c
  pc 0x000055f5dd41db6c fp 0x00007f0eef27c710 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)+0x1bc
  pc 0x000055f5dd40cac3 fp 0x00007f0eef27c800 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)+0x103
  pc 0x000055f5dd40c067 fp 0x00007f0eef27c830 dart::Heap::AllocateNew(dart::Thread*, long)+0x107
  pc 0x000055f5dd2ecdef fp 0x00007f0eef27c880 dart::Object::Allocate(long, long, dart::Heap::Space, bool)+0x6f
  pc 0x000055f5dd3b0882 fp 0x00007f0eef27cdf0 dart::DRT_AllocateObject(dart::NativeArguments)+0x132
  pc 0x00007f0f1be025c3 fp 0x00007f0eef27ce38 Unknown symbol
  pc 0x00007f0f1be02348 fp 0x00007f0eef27ce70 Unknown symbol
  pc 0x00007f0eee8065be fp 0x00007f0eef27ced8 Unknown symbol
  pc 0x00007f0eee87f99b fp 0x00007f0eef27cf28 Unknown symbol
  pc 0x00007f0f09fd3c5d fp 0x00007f0eef27cfb0 Unknown symbol
  pc 0x00007f0f09fd2a24 fp 0x00007f0eef27d070 Unknown symbol
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d0c0 Unknown symbol
  pc 0x00007f0eee87a131 fp 0x00007f0eef27d138 Unknown symbol
  pc 0x00007f0eee87f97c fp 0x00007f0eef27d188 Unknown symbol
  pc 0x00007f0eee847a04 fp 0x00007f0eef27d200 Unknown symbol
  pc 0x00007f0eee87f93e fp 0x00007f0eef27d250 Unknown symbol
  pc 0x00007f0f11b01441 fp 0x00007f0eef27d310 Unknown symbol
  pc 0x00007f0eee87f9f8 fp 0x00007f0eef27d360 Unknown symbol
  pc 0x00007f0f11b0f1b8 fp 0x00007f0eef27d3a8 Unknown symbol
  pc 0x00007f0eee87fa3b fp 0x00007f0eef27d3f8 Unknown symbol
  pc 0x00007f0f09fd2994 fp 0x00007f0eef27d4b8 Unknown symbol
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d508 Unknown symbol
  pc 0x00007f0eee80659d fp 0x00007f0eef27d580 Unknown symbol
  pc 0x00007f0eee87f99b fp 0x00007f0eef27d5d0 Unknown symbol
  pc 0x00007f0eee80659d fp 0x00007f0eef27d648 Unknown symbol
  pc 0x00007f0eee87f99b fp 0x00007f0eef27d698 Unknown symbol
  pc 0x00007f0f09fd29b0 fp 0x00007f0eef27d758 Unknown symbol
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d7a8 Unknown symbol
  pc 0x00007f0eee87a131 fp 0x00007f0eef27d820 Unknown symbol
  pc 0x00007f0eee87f97c fp 0x00007f0eef27d870 Unknown symbol
  pc 0x00007f0f11b095ec fp 0x00007f0eef27d8b8 Unknown symbol
  pc 0x00007f0eee87fa3b fp 0x00007f0eef27d908 Unknown symbol
  pc 0x00007f0eee847a04 fp 0x00007f0eef27d980 Unknown symbol
  pc 0x00007f0eee87f93e fp 0x00007f0eef27d9d0 Unknown symbol
  pc 0x00007f0f11b05c53 fp 0x00007f0eef27da28 Unknown symbol
  pc 0x00007f0f11b02cfd fp 0x00007f0eef27da88 Unknown symbol
  pc 0x00007f0f11b0fc14 fp 0x00007f0eef27dad8 Unknown symbol
  pc 0x00007f0f11b0aaac fp 0x00007f0eef27db38 Unknown symbol
  pc 0x00007f0f11b11884 fp 0x00007f0eef27dba0 Unknown symbol
  pc 0x00007f0eee81b7c2 fp 0x00007f0eef27dc18 Unknown symbol
  pc 0x00007f0f11b117e4 fp 0x00007f0eef27dc68 Unknown symbol
  pc 0x00007f0eee81b7c2 fp 0x00007f0eef27dce0 Unknown symbol
  pc 0x00007f0f09fe0609 fp 0x00007f0eef27dd88 Unknown symbol
  pc 0x00007f0f08a2b32f fp 0x00007f0eef27dde8 Unknown symbol
  pc 0x00007f0f08a29cce fp 0x00007f0eef27de78 Unknown symbol
  pc 0x00007f0f09fee3a8 fp 0x00007f0eef27def0 Unknown symbol
  pc 0x00007f0f09feca6c fp 0x00007f0eef27df60 Unknown symbol
  pc 0x00007f0f08a23609 fp 0x00007f0eef27e010 Unknown symbol
  pc 0x00007f0ee36ffd0f fp 0x00007f0eef27e0a0 Unknown symbol
  pc 0x00007f0ef0d7f5ce fp 0x00007f0eef27e0f8 Unknown symbol
  pc 0x00007f0eee84857c fp 0x00007f0eef27e188 Unknown symbol
  pc 0x00007f0eee81bbf6 fp 0x00007f0eef27e200 Unknown symbol
  pc 0x00007f0f08a2029b fp 0x00007f0eef27e268 Unknown symbol
  pc 0x00007f0f09fe1f91 fp 0x00007f0eef27e2b8 Unknown symbol
  pc 0x00007f0f11b16dcd fp 0x00007f0eef27e340 Unknown symbol
  pc 0x00007f0eee83f1cb fp 0x00007f0eef27e390 Unknown symbol
  pc 0x00007f0f11b19099 fp 0x00007f0eef27e418 Unknown symbol
  pc 0x00007f0f08a1f936 fp 0x00007f0eef27e480 Unknown symbol
  pc 0x00007f0eee852883 fp 0x00007f0eef27e4a8 Unknown symbol
  pc 0x00007f0f09fef8a0 fp 0x00007f0eef27e4e8 Unknown symbol
  pc 0x00007f0f1be02a0c fp 0x00007f0eef27e560 Unknown symbol
  pc 0x000055f5dd27583d fp 0x00007f0eef27e600 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)+0x14d
  pc 0x000055f5dd27567c fp 0x00007f0eef27e660 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x14c
  pc 0x000055f5dd277aac fp 0x00007f0eef27e6b0 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)+0x14c
  pc 0x000055f5dd29f170 fp 0x00007f0eef27ec40 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x350
  pc 0x000055f5dd2c869d fp 0x00007f0eef27ecb0 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x14d
  pc 0x000055f5dd2c8d7f fp 0x00007f0eef27ed00 dart::MessageHandler::TaskCallback()+0x1df
  pc 0x000055f5dd3eb7b8 fp 0x00007f0eef27ed80 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
  pc 0x000055f5dd3ebc0d fp 0x00007f0eef27edb0 dart::ThreadPool::Worker::Main(unsigned long)+0x6d
  pc 0x000055f5dd35e858 fp 0x00007f0eef27ee70 dart+0x2164858
-- End of DumpStackTrace
  pc 0x0000000000000000 fp 0x00007f0eef27ce38 sp 0x0000000000000000 [Stub] CallToRuntime
  pc 0x00007f0f1be02348 fp 0x00007f0eef27ce70 sp 0x00007f0eef27ce48 [Stub] CallToRuntime
  pc 0x00007f0eee8065be fp 0x00007f0eef27ced8 sp 0x00007f0eef27ce80 [Optimized] _Map@442271956.__parse@442271956
  pc 0x00007f0eee87f99b fp 0x00007f0eef27cf28 sp 0x00007f0eef27cee8 [Optimized] Parser._parse@442271956
  pc 0x00007f0f09fd3c5d fp 0x00007f0eef27cfb0 sp 0x00007f0eef27cf38 [Optimized] _Any@442271956._parse@442271956
  pc 0x00007f0f09fd2a24 fp 0x00007f0eef27d070 sp 0x00007f0eef27cfc0 [Optimized] _Chain@442271956.__parse@442271956
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d0c0 sp 0x00007f0eef27d080 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee87a131 fp 0x00007f0eef27d138 sp 0x00007f0eef27d0d0 [Optimized] _Index@442271956.__parse@442271956
  pc 0x00007f0eee87f97c fp 0x00007f0eef27d188 sp 0x00007f0eef27d148 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee847a04 fp 0x00007f0eef27d200 sp 0x00007f0eef27d198 [Optimized] _Cast@442271956.__parse@442271956
  pc 0x00007f0eee87f93e fp 0x00007f0eef27d250 sp 0x00007f0eef27d210 [Optimized] Parser._parse@442271956
  pc 0x00007f0f11b01441 fp 0x00007f0eef27d310 sp 0x00007f0eef27d260 [Optimized] _Repeat@442271956.__parse@442271956
  pc 0x00007f0eee87f9f8 fp 0x00007f0eef27d360 sp 0x00007f0eef27d320 [Optimized] Parser._parse@442271956
  pc 0x00007f0f11b0f1b8 fp 0x00007f0eef27d3a8 sp 0x00007f0eef27d370 [Optimized] _ListOpt@442271956.__parse@442271956
  pc 0x00007f0eee87fa3b fp 0x00007f0eef27d3f8 sp 0x00007f0eef27d3b8 [Optimized] Parser._parse@442271956
  pc 0x00007f0f09fd2994 fp 0x00007f0eef27d4b8 sp 0x00007f0eef27d408 [Optimized] _Chain@442271956.__parse@442271956
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d508 sp 0x00007f0eef27d4c8 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee80659d fp 0x00007f0eef27d580 sp 0x00007f0eef27d518 [Optimized] _Map@442271956.__parse@442271956
  pc 0x00007f0eee87f99b fp 0x00007f0eef27d5d0 sp 0x00007f0eef27d590 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee80659d fp 0x00007f0eef27d648 sp 0x00007f0eef27d5e0 [Optimized] _Map@442271956.__parse@442271956
  pc 0x00007f0eee87f99b fp 0x00007f0eef27d698 sp 0x00007f0eef27d658 [Optimized] Parser._parse@442271956
  pc 0x00007f0f09fd29b0 fp 0x00007f0eef27d758 sp 0x00007f0eef27d6a8 [Optimized] _Chain@442271956.__parse@442271956
  pc 0x00007f0eee87f95d fp 0x00007f0eef27d7a8 sp 0x00007f0eef27d768 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee87a131 fp 0x00007f0eef27d820 sp 0x00007f0eef27d7b8 [Optimized] _Index@442271956.__parse@442271956
  pc 0x00007f0eee87f97c fp 0x00007f0eef27d870 sp 0x00007f0eef27d830 [Optimized] Parser._parse@442271956
  pc 0x00007f0f11b095ec fp 0x00007f0eef27d8b8 sp 0x00007f0eef27d880 [Optimized] _CastDynamic@442271956.__parse@442271956
  pc 0x00007f0eee87fa3b fp 0x00007f0eef27d908 sp 0x00007f0eef27d8c8 [Optimized] Parser._parse@442271956
  pc 0x00007f0eee847a04 fp 0x00007f0eef27d980 sp 0x00007f0eef27d918 [Optimized] _Cast@442271956.__parse@442271956
  pc 0x00007f0eee87f93e fp 0x00007f0eef27d9d0 sp 0x00007f0eef27d990 [Optimized] Parser._parse@442271956
  pc 0x00007f0f11b05c53 fp 0x00007f0eef27da28 sp 0x00007f0eef27d9e0 [Optimized] new Route.
  pc 0x00007f0f11b02cfd fp 0x00007f0eef27da88 sp 0x00007f0eef27da38 [Optimized] new Route.join
  pc 0x00007f0f11b0fc14 fp 0x00007f0eef27dad8 sp 0x00007f0eef27da98 [Optimized] Router.get:routes.<anonymous closure>.<anonymous closure>
  pc 0x00007f0f11b0aaac fp 0x00007f0eef27db38 sp 0x00007f0eef27dae8 [Optimized] _ListBase&Object&ListMixin@3220832.fold
  pc 0x00007f0f11b11884 fp 0x00007f0eef27dba0 sp 0x00007f0eef27db48 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f0eee81b7c2 fp 0x00007f0eef27dc18 sp 0x00007f0eef27dbb0 [Optimized] Router.get:routes
  pc 0x00007f0f11b117e4 fp 0x00007f0eef27dc68 sp 0x00007f0eef27dc28 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f0eee81b7c2 fp 0x00007f0eef27dce0 sp 0x00007f0eef27dc78 [Optimized] Router.get:routes
  pc 0x00007f0f09fe0609 fp 0x00007f0eef27dd88 sp 0x00007f0eef27dcf0 [Optimized] Router.resolve.crawl
  pc 0x00007f0f08a2b32f fp 0x00007f0eef27dde8 sp 0x00007f0eef27dd98 [Optimized] Router.resolve
  pc 0x00007f0f08a29cce fp 0x00007f0eef27de78 sp 0x00007f0eef27ddf8 [Optimized] Router.resolveAll
  pc 0x00007f0f09fee3a8 fp 0x00007f0eef27def0 sp 0x00007f0eef27de88 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle.resolveTuple
  pc 0x00007f0f09feca6c fp 0x00007f0eef27df60 sp 0x00007f0eef27df00 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle
  pc 0x00007f0f08a23609 fp 0x00007f0eef27e010 sp 0x00007f0eef27df70 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>
  pc 0x00007f0ee36ffd0f fp 0x00007f0eef27e0a0 sp 0x00007f0eef27e020 [Optimized] _rootRunUnary@4048458
  pc 0x00007f0ef0d7f5ce fp 0x00007f0eef27e0f8 sp 0x00007f0eef27e0b0 [Optimized] _rootRunUnary@4048458
  pc 0x00007f0eee84857c fp 0x00007f0eef27e188 sp 0x00007f0eef27e108 [Optimized] _FutureListener@4048458.handleValue
  pc 0x00007f0eee81bbf6 fp 0x00007f0eef27e200 sp 0x00007f0eef27e198 [Optimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x00007f0f08a2029b fp 0x00007f0eef27e268 sp 0x00007f0eef27e210 [Optimized] _Future@4048458._propagateToListeners@4048458
  pc 0x00007f0f09fe1f91 fp 0x00007f0eef27e2b8 sp 0x00007f0eef27e278 [Optimized] _Future@4048458._asyncCompleteWithValue@4048458.<anonymous closure>
  pc 0x00007f0f11b16dcd fp 0x00007f0eef27e340 sp 0x00007f0eef27e2c8 [Optimized] _rootRun@4048458
  pc 0x00007f0eee83f1cb fp 0x00007f0eef27e390 sp 0x00007f0eef27e350 [Optimized] _rootRun@4048458
  pc 0x00007f0f11b19099 fp 0x00007f0eef27e418 sp 0x00007f0eef27e3a0 [Optimized] _CustomZone@4048458.bindCallback.<anonymous closure>
  pc 0x00007f0f08a1f936 fp 0x00007f0eef27e480 sp 0x00007f0eef27e428 [Optimized] _startMicrotaskLoop@4048458
  pc 0x00007f0eee852883 fp 0x00007f0eef27e4a8 sp 0x00007f0eef27e490 [Optimized] _startMicrotaskLoop@4048458
  pc 0x00007f0f09fef8a0 fp 0x00007f0eef27e4e8 sp 0x00007f0eef27e4b8 [Optimized] _RawReceivePortImpl@1026248._handleMessage@1026248
  pc 0x00007f0f1be02a0c fp 0x00007f0eef27e560 sp 0x00007f0eef27e4f8 [Stub] InvokeDartCode

pubspec.yaml

name: new_sali_backend
description: Backend do Novo Sali

environment:  
  sdk: '>=2.18.0 < 3.0.0'

dependencies: 
  angel3_framework: ^7.0.0  
  angel3_auth: ^7.0.0
  angel3_configuration: any  
  angel3_jael: any
  angel3_production: any
  angel3_static: any
  angel3_validate: any
  angel3_cors: any
  belatuk_pretty_logging: any
  uuid: any
  dotenv: any
  intl: any
  http:  any
  path: any
  jaguar_jwt: any
  crypto: any
  xml: any
  csslib: any
  # para assinar PDF
  dart_pdf:
   git:
    url: https://github.com/insinfo/insinfo_dart_pdf
    ref: main    #branch name  
  asn1lib: any
  pointycastle: any
  basic_utils: any
  image: any  
  convert: any

  #eloquent: 
    #path: ../../eloquent  

  #eloquent:
   #git:
      #ref: main
      #url: https://github.com/insinfo/eloquent_dart.git     
  eloquent: ^2.1.2

  new_sali_core:
    path: ../core
  # para monitoramento com o prometheus e grafana
  prometheus_client: any  
  # shelf é usado no backend publico
  shelf: any #^1.3.0
  shelf_router: any #^1.1.2
  shelf_plus: any #1.7.0
  shelf_cors_headers: any #1.7.0 
  prometheus_client_shelf: any
  # para doc 
  shelf_swagger_ui: any
  ffi: any

dev_dependencies: 
  angel3_hot: any
  angel3_test: any
  test: any
  # para test de UI
  puppeteer: 2.23.0
leonardomw commented 1 year ago

I have the same problem. :/

mkustermann commented 1 year ago

Thanks for the report. We are aware of users reporting crashes that look like GC bugs (may also be compiler bugs) - so any help diagnosing those is very much appreciated!

@insinfo @leonardomw Could you provide us with dart info output?

/cc @rmacnak-google @mraleph

leonardomw commented 1 year ago

I'm sorry, I may not understand you, but there is no dart info command in dart 2.18

root@srv-lnx-project:/var/www/dart/project# dart --version
Dart SDK version: 2.18.7 (stable) (Unknown timestamp) on "linux_x64"
mkustermann commented 1 year ago

@leonardomw If you're on 2.18 you're using an older stable version, could you confirm you're running into the same issue on latest stable or beta?

leonardomw commented 1 year ago

I'm not sure if my project is compatible with the newer version, but I'll try.

insinfo commented 1 year ago

@mkustermann I created a minimal app to reproduce the problem

I managed to reproduce the problem on my Windows 11 machine and running the app on WSL Debian 12, for the problem to occur I had to run wrk about 7 times ./wrk -t24 -c800 -d90s http://172.30.82.2: 3350 ​because the problem is intermittent, there are times when it occurs before

image image

minimal app to reproduce the problem

import 'package:angel3_framework/angel3_framework.dart';
import 'package:angel3_production/angel3_production.dart';
import 'package:angel3_cors/angel3_cors.dart';
import 'dart:convert';
import 'package:file/file.dart' as file;
import 'package:angel3_static/angel3_static.dart' as static_file_server;
import 'dart:async';
import 'package:file/local.dart';

//to run: dart ./bin/main.dart -p 3350 -a 0.0.0.0 -j 4
main(List<String> args) async {
  return Runner('angel', configureServer).run(args);
}

Future configureServer(Angel app) async {
  final options = CorsOptions();
  app.fallback(cors(options));
  final fs = const LocalFileSystem();
  await app.configure(configureRoutes(fs));
}

AngelConfigurer configureRoutes(file.FileSystem fileSystem) {
  return (Angel app) {
    app.get('/', (req, res) => res.write('angel'));   

     app.chain([simulatedMiddleware]).group('/api/v1', (router) {
       for (final sr in simulatedRoutes) {
         final method = sr.keys.first.toUpperCase();
         final path = sr.values.first;
        router.addRoute(method, path, (req, res) => simulatedWork);
       }
     });

    if (!app.environment.isProduction) {
      var vDir = static_file_server.VirtualDirectory(
        app,
        fileSystem,
        source: fileSystem.directory('storage'),
      );
      app.fallback(vDir.handleRequest);
    }

    app.fallback((req, res) {
      res.headers['Content-Type'] = 'application/json;charset=utf-8';
      res.statusCode = 404;
      return res.write(jsonEncode({
        'message': 'Rota não existe',
        'exception': 'Rota não existe',
        'stackTrace': ''
      }));
    });

    final oldErrorHandler = app.errorHandler;
    app.errorHandler = (e, req, res) async {
      if (req.accepts('text/html', strict: true)) {
        if (e.statusCode == 404 && req.accepts('text/html', strict: true)) {
          await res
              .render('error', {'message': 'Arquivo não existe ${req.uri}.'});
        } else {
          await res.render('error', {'message': e.message});
        }
      } else {
        return await oldErrorHandler(e, req, res);
      }
    };
  };
}

final simulatedRoutes = [
  {'get': '/administracao/paises'},
  {'get': '/administracao/ufs'},
  {'get': '/administracao/municipios'},
  {'get': '/administracao/modulos'},
  {'get': '/administracao/permissoes/:numCgm/:anoExercicio'},
  {'put': '/administracao/permissoes/:numCgm/:anoExercicio'},
  {'get': '/administracao/escolaridades'},
  {'get': '/administracao/tiposlogradouro'},
  {'get': '/administracao/orgaos'},
  {'get': '/administracao/unidades'},
  {'get': '/administracao/departamentos'},
  {'get': '/administracao/setores'},
  {'get': '/administracao/gestao'},
  {'get': '/administracao/usuarios'},
  {'get': '/administracao/usuarios/:numcgm'},
  {'post': '/administracao/usuarios'},
  {'put': '/administracao/usuarios'},
  {'get': '/administracao/cgm'},
  {'get': '/administracao/cgm/:cgm'},
  {'get': '/administracao/auditorias'},
  {'post': '/administracao/auditorias'},
  {'get': '/administracao/configuracao'},
  {'get': '/administracao/configuracao/by/filtro'},
  {'get': '/administracao/funcionalidades'},
  {'get': '/administracao/menu/:cgm'},
  {'get': '/administracao/organograma/hierarquia'},
  {'get': '/administracao/acoes'},
  //auth
  {'post': '/change/pass'},
  {'get': '/auth/check/permissao/:cgm'},
  {'post': '/auth/login'},
  {'post': '/auth/check'},
  {'get': '/auth/check/toke'},
  //cgm
  {'get': '/cgm/full'},
  {'get': '/cgm/full/:cgm'},
  {'delete': '/cgm'},
  {'post': '/cgm/full'},
  {'post': '/cgm/full/interno'},
  {'put': '/cgm/full'},
  {'get': '/cgm/atributos'},
  {'get': '/cgm/atributos/:cgm'},
  {'get': '/cgm/categoriashabilitacao'},
  {'get': '/cgm/tiposlogradouro'},
  //
  {'get': '/estatistica/processos/ano'},
  {'get': '/estatistica/processos/periodo/setor/primero/tramite'},
  {'get': '/estatistica/processos/situacao'},
  {'get': '/estatistica/processos/classificacao'},
  {'get': '/estatistica/processos/assunto'},
  //
  {'get': '/norma/normas'},
  //
  {'get': '/protocolo/processos/favoritos/cgm/:cgm'},
  {'post': '/protocolo/processos/favoritos'},
  {'post': '/protocolo/processos/favoritos/:codProcesso/:anoExercicio'},
  {'put': '/protocolo/processos/favoritos'},
  {'delete': '/protocolo/processos/favoritos/:id'},
  {'delete': '/protocolo/processos/favoritos/:codProcesso/:anoExercicio'},
  {'get': '/protocolo/acoes/favoritas/cgm/:cgm'},
  {'post': '/protocolo/acoes/favoritas'},
  {'post': '/protocolo/acoes/favoritas/:codAcao'},
  {'put': '/protocolo/acoes/favoritas'},
  {'delete': '/protocolo/acoes/favoritas/:id'},
  {'delete': '/protocolo/acoes/favoritas/:codAcao'},
  {'get': '/protocolo/assuntos'},
  {'post': '/protocolo/assuntos'},
  {'put': '/protocolo/assuntos'},
  {'delete': '/protocolo/assuntos'},
  {'get': '/protocolo/assuntos/:codAssunto/:codClassificacao'},
  {'get': '/protocolo/classificacoes'},
  {'post': '/protocolo/classificacoes'},
  {'put': '/protocolo/classificacoes'},
  {'delete': '/protocolo/classificacoes'},
  {'get': '/protocolo/despachospadrao'},
  {'post': '/protocolo/despachospadrao'},
  {'put': '/protocolo/despachospadrao'},
  {'delete': '/protocolo/despachospadrao'},
  {'get': '/protocolo/tramites'},
  {'post': '/protocolo/tramites'},
  {
    'put':
        '/protocolo/tramites/:codClassiOld/:codAssuntoOld/:ordemOld/:exercicioOld'
  },
  {'delete': '/protocolo/tramites'},
  {'get': '/protocolo/processos/:anoExercicio/:codProcesso'},
  {'get': '/protocolo/processos/em/apenso/:anoExercicio/:codProcesso'},
  {'get': '/protocolo/processos/apenso/a/:anoExercicio/:codProcesso'},
  {'get': '/protocolo/processos/andamentos/:anoExercicio/:codProcesso'},
  {
    'get':
        '/protocolo/processos/despachos/:anoExercicio/:codProcesso/:codAndamento/:codUsuario/:timestamp'
  },
  {'get': '/protocolo/processos'},
  {'get': '/protocolo/processos/areceber'},
  {'get': '/protocolo/processos/aemcaminhar'},
  {'get': '/protocolo/processos/byfiltros'},
  {'get': '/protocolo/processos/aapensara'},
  {'get': '/protocolo/processos/adesapensar'},
  {'get': '/protocolo/processos/adespachar'},
  {'get': '/protocolo/processos/aalterar'},
  {'get': '/protocolo/processos/acancelar'},
  {'get': '/protocolo/processos/aarquivar'},
  {'get': '/protocolo/processos/adesarquivar'},
  {'post': '/protocolo/processos'},
  {'post': '/protocolo/processos/implantar'},
  {'put': '/protocolo/processos'},
  {'post': '/protocolo/processos/receber/lote'},
  {'post': '/protocolo/processos/despachar/lote'},
  {'post': '/protocolo/processos/encaminhar/lote'},
  {'post': '/protocolo/processos/cancelarencaminhamento/lote'},
  {'post': '/protocolo/processos/apensar/lote'},
  {'post': '/protocolo/processos/desapensar/lote'},
  {'post': '/protocolo/processos/arquivar/lote'},
  {'post': '/protocolo/processos/desarquivar/lote'},
  {'post': '/protocolo/processos/anexos'},
  {'get': '/protocolo/processos/anexos/:codProcesso/:anoExercicio'},
  {'get': '/protocolo/situacoes'},
  {'get': '/protocolo/historicoarquivamento'},
  {'post': '/protocolo/historicoarquivamento'},
  {'put': '/protocolo/historicoarquivamento'},
  {'delete': '/protocolo/historicoarquivamento'},
  {'get': '/protocolo/listagemprocessos'},
  {'post': '/protocolo/listagemprocessos'},
  {'get': '/protocolo/documentos'},
  {'post': '/protocolo/documentos'},
  {'put': '/protocolo/documentos'},
  {'delete': '/protocolo/documentos'},
  {'get': '/protocolo/atributosprotocolo'},
  {'post': '/protocolo/atributosprotocolo'},
  {'put': '/protocolo/atributosprotocolo'},
  {'delete': '/protocolo/atributosprotocolo'},
  {'get': '/protocolo/processos/public/site/:anoExercicio/:codProcesso'},
];

Future<dynamic> simulatedWork(RequestContext req, ResponseContext res) async {
  try {
    // ignore: unused_local_variable
    final filters = req.queryParameters;
    final listItems = List.generate(150, (int index) => {'name': 'Jon_$index'});
    res.statusCode = 200;
    res.headers['Content-Type'] = 'application/json;charset=utf-8';
    res.headers['total-records'] = '150';
    res.write(jsonEncode(listItems));
  } catch (e, s) {
    print('simulatedWork@all $e $s');
    var v = jsonEncode({
      'is_error': true,
      'status_code': 400,
      'message': 'Error',
      'exception': e.toString(),
      'stackTrace': s.toString()
    });
    res.statusCode = 400;
    res.headers['Content-Type'] = 'application/json;charset=utf-8';
    res.write(v);
  }
}

Future<bool> simulatedMiddleware(
    RequestContext req, ResponseContext res) async {      
  try {
    //print('call simulatedMiddleware');
    return true;
  } catch (e, s) {
    print('simulatedMiddleware: $s $s');
    throw AngelHttpException.notAuthenticated(message: '$e $s');
  }
}

log

isaque@pmro174330:/mnt/c/MyDartProjects/dart_segment_fault$ dart ./bin/main.dart -p 3350 -a 0.0.0.0 -j 4

     _    _   _  ____ _____ _     _____
    / \  | \ | |/ ___| ____| |   |___ /
   / _ \ |  \| | |  _|  _| | |     |_ \
  / ___ \| |\  | |_| | |___| |___ ___) |
 /_/   \_\_| \_|\____|_____|_____|____/

A batteries-included, full-featured, full-stack framework in Dart.

https://angel3-framework.web.app

Starting `angel` application...
2023-11-08 17:59:07 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.
For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-08 17:59:07 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.
For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-08 17:59:07 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.
For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-08 17:59:07 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.
For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-08 17:59:08 INFO [angel]: Instance #1 listening at http://0.0.0.0:3350
2023-11-08 17:59:08 INFO [angel]: Instance #3 listening at http://0.0.0.0:3350
2023-11-08 17:59:08 INFO [angel]: Instance #2 listening at http://0.0.0.0:3350
2023-11-08 17:59:08 INFO [angel]: Instance #0 listening at http://0.0.0.0:3350
../../runtime/vm/raw_object.cc: 356: error: Invalid cid: 0, obj: 0x7fc3e24c2948, tags: 20. Corrupt heap?
version=2.18.7 (stable) (Unknown timestamp) on "linux_x64"
pid=155, thread=174, isolate_group=main(0x55798c1ab800), isolate=(nil)((nil))
isolate_instructions=557989298680, vm_instructions=557989298680
  pc 0x00005579894fd67c fp 0x00007fc3d937a8f0 dart::Profiler::DumpStackTrace(void*)+0x7c
  pc 0x0000557989298834 fp 0x00007fc3d937a9d0 dart::Assert::Fail(char const*, ...) const+0x84
  pc 0x000055798950e17e fp 0x00007fc3d937aa00 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)+0x4de
  pc 0x00005579895bb13b fp 0x00007fc3d937aa90 void dart::Scavenger::IterateStoreBuffers<true>(dart::ScavengerVisitorBase<true>*)+0xcb
  pc 0x00005579895bb00b fp 0x00007fc3d937ab10 void dart::Scavenger::IterateRoots<true>(dart::ScavengerVisitorBase<true>*)+0x16b
  pc 0x00005579895bad32 fp 0x00007fc3d937ac30 dart+0x2225d32
  pc 0x00005579895b9bef fp 0x00007fc3d937acb0 dart+0x2224bef
  pc 0x00005579895babce fp 0x00007fc3d937ace0 dart+0x2225bce
  pc 0x00005579895867b8 fp 0x00007fc3d937ad60 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
  pc 0x0000557989586c0d fp 0x00007fc3d937ad90 dart::ThreadPool::Worker::Main(unsigned long)+0x6d
  pc 0x00005579894f9858 fp 0x00007fc3d937ae50 dart+0x2164858
-- End of DumpStackTrace
Aborted
mraleph commented 1 year ago

We have tried it both on Linux and WSL and neither crash for us.

Could you maybe run memtest on your workstation? I would not be surprised if it reveals a hardware memory issue.

insinfo commented 1 year ago

@mraleph This problem occurred on production servers, with Debian 11 dart 2.18.7, I don't think it is memory problems. This problem is intermittent on my machine. There are times when I run the stress test with wrk several times and the problem does not occur.

I will run it on other computers and servers to see if the problem occurs

production server

WhatsApp Image 2023-11-08 at 15 04 36

virtual machine

WhatsApp Image 2023-11-08 at 15 04 19

mraleph commented 1 year ago

I have been hammering it with traffic the whole day and so far it did not crash. If you can reliably reproduce it using the sample above you can try to create a core dump for us. Just make sure your core pattern is set to something like sudo sysctl -w kernel.core_pattern=core.%p then do ulimit -c unlimited in the shell where you run the server. (When using WSL this requires WSL 2). Then make it crash and upload the core.$pid somewhere.

[!WARNING] Don't do it to actual server! Only to the repro! core.$pid will contain the full memory dump of the crashed process, including the Dart program.

insinfo commented 1 year ago

I had to put the file in Google Driver because the github limit is 25MB

core dump file

image

image

root@pmro174330:/mnt/c/MyDartProjects/new_sali/backend# dart ./bin/prod.dart -p 3350 -a 0.0.0.0 -j 16
     _    _   _  ____ _____ _     _____
    / \  | \ | |/ ___| ____| |   |___ /
   / _ \ |  \| | |  _|  _| | |     |_ \
  / ___ \| |\  | |_| | |___| |___ ___) |
 /_/   \_\_| \_|\____|_____|_____|____/

A batteries-included, full-featured, full-stack framework in Dart.

https://angel3-framework.web.app

Starting `newsali` application...
2023-11-10 23:24:54 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:55 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:56 INFO [newsali]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-10 23:24:56 INFO [newsali]: Instance #11 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #13 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #0 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #3 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #9 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #10 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #7 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #12 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #2 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #5 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #8 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #1 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #15 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #14 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #4 listening at http://0.0.0.0:3350
2023-11-10 23:24:56 INFO [newsali]: Instance #6 listening at http://0.0.0.0:3350
../../runtime/vm/raw_object.cc: 356: error: Invalid cid: 0, obj: 0x7fdb19083598, tags: 2e. Corrupt heap?
version=2.18.7 (stable) (Unknown timestamp) on "linux_x64"
pid=5440, thread=5445, isolate_group=main(0x55e3dc08d800), isolate=(nil)((nil))
isolate_instructions=55e3dab5a680, vm_instructions=55e3dab5a680
  pc 0x000055e3dadbf67c fp 0x00007fdb23bfe8f0 dart::Profiler::DumpStackTrace(void*)+0x7c
  pc 0x000055e3dab5a834 fp 0x00007fdb23bfe9d0 dart::Assert::Fail(char const*, ...) const+0x84
  pc 0x000055e3dadd017e fp 0x00007fdb23bfea00 dart::UntaggedObject::VisitPointersPredefined(dart::ObjectPointerVisitor*, long)+0x4de
  pc 0x000055e3dae7d13b fp 0x00007fdb23bfea90 void dart::Scavenger::IterateStoreBuffers<true>(dart::ScavengerVisitorBase<true>*)+0xcb
  pc 0x000055e3dae7d00b fp 0x00007fdb23bfeb10 void dart::Scavenger::IterateRoots<true>(dart::ScavengerVisitorBase<true>*)+0x16b
  pc 0x000055e3dae7cd32 fp 0x00007fdb23bfec30 dart+0x2225d32
  pc 0x000055e3dae7bbef fp 0x00007fdb23bfecb0 dart+0x2224bef
  pc 0x000055e3dae7cbce fp 0x00007fdb23bfece0 dart+0x2225bce
  pc 0x000055e3dae487b8 fp 0x00007fdb23bfed60 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
  pc 0x000055e3dae48c0d fp 0x00007fdb23bfed90 dart::ThreadPool::Worker::Main(unsigned long)+0x6d
  pc 0x000055e3dadbb858 fp 0x00007fdb23bfee50 dart+0x2164858
-- End of DumpStackTrace
Aborted (core dumped)
insinfo commented 1 year ago

I created a project that reproduces the problem and recorded a video along with the core dump here https://github.com/insinfo/dart_segment_fault core dump file https://drive.google.com/file/d/1EGt-Yvs4OjWlPekJtHkehEZqTEDHYBOt/view?usp=sharing video https://drive.google.com/file/d/1lVCCkEAw2CCE7asEFn6UqiVgANH3MUpG/view?usp=sharing

I think maybe the problem is linked to the implementation of regular expressions in dart, as I think the router makes intensive use of regular expressions, when I comment on the lines that call the app.chain and app.group method which involves the addition of the 122 routes performance increases significantly, reaching 43000 requests per second, with route declaration it drops to 175 requests per second, which is a very big difference

insinfo commented 1 year ago

I initially thought that the problem was only in Linux, but I saw that the problem also happens in Windows image

windows dump

mraleph commented 1 year ago

@insinfo quick question: where do you get a Linux dart binary from? Your binary has version string version=2.18.7 (stable) (Unknown timestamp) on "linux_x64", but the one I have is Dart SDK version: 2.18.7 (stable) (Thu Jan 12 10:44:08 2023 +0000) on "linux_x64".

Are you installing from https://storage.googleapis.com/dart-archive/channels/stable/release/2.18.7/sdk/dartsdk-linux-x64-release.zip or some other method? Could you run dart --version?

If not installing from official archive - could you please install SDK from https://storage.googleapis.com/dart-archive/channels/stable/release/2.18.7/sdk/dartsdk-linux-x64-release.zip, reproduce the crash and upload core dump from that crash, otherwise I simply can't match core file to the binary.

mraleph commented 1 year ago

@insinfo Another request: could you download this script and then just let it spin on your machine where you experience crashes. I am curious if it crashes as well.

rmacnak-google commented 1 year ago

@mraleph The SDK in the .deb has that timestamp issue. The .deb is made by a build of the SDK in a different environment instead of packaging the binaries from the normal build, so its VM is not bitwise identical to the one from the zip.

mraleph commented 1 year ago

@rmacnak-google ah-ha! Thanks. Do you know if there a script I could run to reproduce .deb build? I want to build unstripped dart binary that matches the one which produced the core.

Found https://github.com/dart-lang/sdk/blob/main/tools/linux_dist_support/run_debian_build.sh. Trying it now.

insinfo commented 1 year ago

I install it following what is described on the dart website using "sudo apt-get install dart=2.18.*"

I ran memtest to see if the memory was ok on my workstation.

WhatsApp Image 2023-11-14 at 18 11 53

I also ran it on another computer with Windows 10 with Debian 12 on WSL

image

dump Debian 12 on WSL

I'll run your script now to see if the problem happens.

insinfo commented 1 year ago

I ran your script, it ran for 19 to 20 seconds and it showed "Killed" in debian WSL

image

Was this what was supposed to happen?

insinfo commented 1 year ago

I downloaded the dart version of the zip from the link you gave and ran it

of the first run


root@pmro174330:/mnt/c/MyDartProjects/dart_segment_fault# /root/dart-sdk/bin/dart --version
Dart SDK version: 2.18.7 (stable) (Thu Jan 12 10:44:08 2023 +0000) on "linux_x64"
root@pmro174330:/mnt/c/MyDartProjects/dart_segment_fault# /root/dart-sdk/bin/dart ./bin/main.dart -a 0.0.0.0 -p 3350 -j 16

     _    _   _  ____ _____ _     _____
    / \  | \ | |/ ___| ____| |   |___ /
   / _ \ |  \| | |  _|  _| | |     |_ \
  / ___ \| |\  | |_| | |___| |___ ___) |
 /_/   \_\_| \_|\____|_____|_____|____/

A batteries-included, full-featured, full-stack framework in Dart.

https://angel3-framework.web.app

Starting `angel` application...
2023-11-15 17:28:50 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:51 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:28:52 INFO [angel]: Instance #0 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #12 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #13 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #4 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #1 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #15 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #11 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #14 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #3 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #6 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #5 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #7 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #8 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #9 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #2 listening at http://0.0.0.0:3350
2023-11-15 17:28:52 INFO [angel]: Instance #10 listening at http://0.0.0.0:3350
../../runtime/vm/object.cc: 19999: error: unreachable code
version=2.18.7 (stable) (Thu Jan 12 10:44:08 2023 +0000) on "linux_x64"
pid=147, thread=180, isolate_group=main(0x559671a0d800), isolate=Runner.isolateMain(0x5596727c6800)
isolate_instructions=55966fda8580, vm_instructions=55966fda8580
  pc 0x000055967000d57c fp 0x00007f5b447700e0 dart::Profiler::DumpStackTrace(void*)+0x7c
  pc 0x000055966fda8734 fp 0x00007f5b447701c0 dart::Assert::Fail(char const*, ...) const+0x84
  pc 0x000055966ffd0e4c fp 0x00007f5b447701e0 /root/dart-sdk/bin/dart+0x20f9e4c
  pc 0x000055966ffd0f60 fp 0x00007f5b44770220 dart::AbstractType::SetInstantiatedNullability(dart::TypeParameter const&, dart::Heap::Space) const+0x20
  pc 0x000055966ffd651a fp 0x00007f5b44770280 dart::TypeParameter::InstantiateFrom(dart::TypeArguments const&, dart::TypeArguments const&, long, dart::Heap::Space, dart::ZoneGrowableHandlePtrArray<dart::AbstractType const>*) const+0x1fa
  pc 0x000055966ffa4cb1 fp 0x00007f5b447702f0 dart::TypeArguments::InstantiateFrom(dart::TypeArguments const&, dart::TypeArguments const&, long, dart::Heap::Space, dart::ZoneGrowableHandlePtrArray<dart::AbstractType const>*) const+0x1b1
  pc 0x000055966ffa46b3 fp 0x00007f5b447703b0 dart::Class::IsSubtypeOf(dart::Class const&, dart::TypeArguments const&, dart::Nullability, dart::AbstractType const&, dart::Heap::Space, dart::ZoneGrowableHandlePtrArray<dart::AbstractType const>*)+0x603
  pc 0x000055967005ce5c fp 0x00007f5b44770a30 dart::DRT_TypeCheck(dart::NativeArguments)+0x22c
  pc 0x00007f5b5cc825c3 fp 0x00007f5b44770a70 Unknown symbol
  pc 0x00007f5b5cc849b3 fp 0x00007f5b44770ad0 Unknown symbol
  pc 0x00007f5b4d2896ab fp 0x00007f5b44770b50 Unknown symbol
  pc 0x00007f5b5565f020 fp 0x00007f5b44770ba8 Unknown symbol
  pc 0x00007f5b4d2b79b4 fp 0x00007f5b44770bf0 Unknown symbol
  pc 0x00007f5b5565f148 fp 0x00007f5b44770c40 Unknown symbol
  pc 0x00007f5b5561c6e8 fp 0x00007f5b44770d00 Unknown symbol
  pc 0x00007f5b5565f0eb fp 0x00007f5b44770d50 Unknown symbol
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44770dc8 Unknown symbol
  pc 0x00007f5b5565f10a fp 0x00007f5b44770e18 Unknown symbol
  pc 0x00007f5b5565fe57 fp 0x00007f5b44770ea0 Unknown symbol
  pc 0x00007f5b5561c6cc fp 0x00007f5b44770f60 Unknown symbol
  pc 0x00007f5b5565f0eb fp 0x00007f5b44770fb0 Unknown symbol
  pc 0x00007f5b55604551 fp 0x00007f5b44771028 Unknown symbol
  pc 0x00007f5b5565f0cc fp 0x00007f5b44771078 Unknown symbol
  pc 0x00007f5b4d2b9224 fp 0x00007f5b447710f0 Unknown symbol
  pc 0x00007f5b5565f08e fp 0x00007f5b44771140 Unknown symbol
  pc 0x00007f5b556609c7 fp 0x00007f5b44771200 Unknown symbol
  pc 0x00007f5b5565f16a fp 0x00007f5b44771250 Unknown symbol
  pc 0x00007f5b556611a8 fp 0x00007f5b44771298 Unknown symbol
  pc 0x00007f5b5565f18c fp 0x00007f5b447712e8 Unknown symbol
  pc 0x00007f5b5561c694 fp 0x00007f5b447713a8 Unknown symbol
  pc 0x00007f5b5565f0eb fp 0x00007f5b447713f8 Unknown symbol
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44771470 Unknown symbol
  pc 0x00007f5b5565f10a fp 0x00007f5b447714c0 Unknown symbol
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44771538 Unknown symbol
  pc 0x00007f5b5565f10a fp 0x00007f5b44771588 Unknown symbol
  pc 0x00007f5b5561c6b0 fp 0x00007f5b44771648 Unknown symbol
  pc 0x00007f5b5565f0eb fp 0x00007f5b44771698 Unknown symbol
  pc 0x00007f5b55604551 fp 0x00007f5b44771710 Unknown symbol
  pc 0x00007f5b5565f0cc fp 0x00007f5b44771760 Unknown symbol
  pc 0x00007f5b5561077c fp 0x00007f5b447717a8 Unknown symbol
  pc 0x00007f5b5565f0ad fp 0x00007f5b447717f8 Unknown symbol
  pc 0x00007f5b4d2b9224 fp 0x00007f5b44771870 Unknown symbol
  pc 0x00007f5b5565f08e fp 0x00007f5b447718c0 Unknown symbol
  pc 0x00007f5b55661a7e fp 0x00007f5b44771918 Unknown symbol
  pc 0x00007f5b5560f62d fp 0x00007f5b44771978 Unknown symbol
  pc 0x00007f5b556594c4 fp 0x00007f5b447719c8 Unknown symbol
  pc 0x00007f5b5565d47c fp 0x00007f5b44771a28 Unknown symbol
  pc 0x00007f5b4d29cda7 fp 0x00007f5b44771a90 Unknown symbol
  pc 0x00007f5b54c038e2 fp 0x00007f5b44771b08 Unknown symbol
  pc 0x00007f5b4d29cd07 fp 0x00007f5b44771b58 Unknown symbol
  pc 0x00007f5b54c038e2 fp 0x00007f5b44771bd0 Unknown symbol
  pc 0x00007f5b55677f79 fp 0x00007f5b44771c78 Unknown symbol
  pc 0x00007f5b55601280 fp 0x00007f5b44771d18 Unknown symbol
  pc 0x00007f5b55600c83 fp 0x00007f5b44771db8 Unknown symbol
  pc 0x00007f5b55600a04 fp 0x00007f5b44771e70 Unknown symbol
  pc 0x00007f5b47e8c658 fp 0x00007f5b44771ee8 Unknown symbol
  pc 0x00007f5b47e8b7bc fp 0x00007f5b44771f58 Unknown symbol
  pc 0x00007f5b4b46439f fp 0x00007f5b44771fd8 Unknown symbol
  pc 0x00007f5b4d2d89ff fp 0x00007f5b44772068 Unknown symbol
  pc 0x00007f5b5567fb2e fp 0x00007f5b447720c0 Unknown symbol
  pc 0x00007f5b5567ff1c fp 0x00007f5b44772150 Unknown symbol
  pc 0x00007f5b4d2d9336 fp 0x00007f5b447721c8 Unknown symbol
  pc 0x00007f5b55678b8f fp 0x00007f5b44772230 Unknown symbol
  pc 0x00007f5b47e84491 fp 0x00007f5b44772280 Unknown symbol
  pc 0x00007f5b5567ba9d fp 0x00007f5b44772308 Unknown symbol
  pc 0x00007f5b5567464b fp 0x00007f5b44772358 Unknown symbol
  pc 0x00007f5b5567d4c9 fp 0x00007f5b447723e0 Unknown symbol
  pc 0x00007f5b47e84875 fp 0x00007f5b44772420 Unknown symbol
  pc 0x00007f5b54c48a4b fp 0x00007f5b44772460 Unknown symbol
  pc 0x00007f5b47e9d1f3 fp 0x00007f5b44772488 Unknown symbol
  pc 0x00007f5b47e9f250 fp 0x00007f5b447724c8 Unknown symbol
  pc 0x00007f5b5cc82a0c fp 0x00007f5b44772540 Unknown symbol
  pc 0x000055966ff2073d fp 0x00007f5b447725e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)+0x14d
  pc 0x000055966ff2057c fp 0x00007f5b44772640 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x14c
  pc 0x000055966ff229ac fp 0x00007f5b44772690 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)+0x14c
  pc 0x000055966ff4a070 fp 0x00007f5b44772c20 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x350
  pc 0x000055966ff7359d fp 0x00007f5b44772c90 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x14d
  pc 0x000055966ff73c7f fp 0x00007f5b44772ce0 dart::MessageHandler::TaskCallback()+0x1df
  pc 0x00005596700966b8 fp 0x00007f5b44772d60 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
  pc 0x0000559670096b0d fp 0x00007f5b44772d90 dart::ThreadPool::Worker::Main(unsigned long)+0x6d
  pc 0x0000559670009758 fp 0x00007f5b44772e50 /root/dart-sdk/bin/dart+0x2132758
-- End of DumpStackTrace
  pc 0x0000000000000000 fp 0x00007f5b44770a70 sp 0x0000000000000000 [Stub] CallToRuntime
  pc 0x00007f5b5cc849b3 fp 0x00007f5b44770ad0 sp 0x00007f5b44770a80 [Stub] SlowTypeTest
  pc 0x00007f5b4d2896ab fp 0x00007f5b44770b50 sp 0x00007f5b44770ae0 [Optimized] __InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin@3220832.putIfAbsent
  pc 0x00007f5b5565f020 fp 0x00007f5b44770ba8 sp 0x00007f5b44770b60 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2b79b4 fp 0x00007f5b44770bf0 sp 0x00007f5b44770bb8 [Optimized] _Value@169271956.__parse@169271956
  pc 0x00007f5b5565f148 fp 0x00007f5b44770c40 sp 0x00007f5b44770c00 [Optimized] Parser._parse@169271956
  pc 0x00007f5b5561c6e8 fp 0x00007f5b44770d00 sp 0x00007f5b44770c50 [Optimized] _Chain@169271956.__parse@169271956
  pc 0x00007f5b5565f0eb fp 0x00007f5b44770d50 sp 0x00007f5b44770d10 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44770dc8 sp 0x00007f5b44770d60 [Optimized] _Map@169271956.__parse@169271956
  pc 0x00007f5b5565f10a fp 0x00007f5b44770e18 sp 0x00007f5b44770dd8 [Optimized] Parser._parse@169271956
  pc 0x00007f5b5565fe57 fp 0x00007f5b44770ea0 sp 0x00007f5b44770e28 [Optimized] _Any@169271956._parse@169271956
  pc 0x00007f5b5561c6cc fp 0x00007f5b44770f60 sp 0x00007f5b44770eb0 [Optimized] _Chain@169271956.__parse@169271956
  pc 0x00007f5b5565f0eb fp 0x00007f5b44770fb0 sp 0x00007f5b44770f70 [Optimized] Parser._parse@169271956
  pc 0x00007f5b55604551 fp 0x00007f5b44771028 sp 0x00007f5b44770fc0 [Optimized] _Index@169271956.__parse@169271956
  pc 0x00007f5b5565f0cc fp 0x00007f5b44771078 sp 0x00007f5b44771038 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2b9224 fp 0x00007f5b447710f0 sp 0x00007f5b44771088 [Optimized] _Cast@169271956.__parse@169271956
  pc 0x00007f5b5565f08e fp 0x00007f5b44771140 sp 0x00007f5b44771100 [Optimized] Parser._parse@169271956
  pc 0x00007f5b556609c7 fp 0x00007f5b44771200 sp 0x00007f5b44771150 [Optimized] _Repeat@169271956.__parse@169271956
  pc 0x00007f5b5565f16a fp 0x00007f5b44771250 sp 0x00007f5b44771210 [Optimized] Parser._parse@169271956
  pc 0x00007f5b556611a8 fp 0x00007f5b44771298 sp 0x00007f5b44771260 [Optimized] _ListOpt@169271956.__parse@169271956
  pc 0x00007f5b5565f18c fp 0x00007f5b447712e8 sp 0x00007f5b447712a8 [Optimized] Parser._parse@169271956
  pc 0x00007f5b5561c694 fp 0x00007f5b447713a8 sp 0x00007f5b447712f8 [Optimized] _Chain@169271956.__parse@169271956
  pc 0x00007f5b5565f0eb fp 0x00007f5b447713f8 sp 0x00007f5b447713b8 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44771470 sp 0x00007f5b44771408 [Optimized] _Map@169271956.__parse@169271956
  pc 0x00007f5b5565f10a fp 0x00007f5b447714c0 sp 0x00007f5b44771480 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2ac82d fp 0x00007f5b44771538 sp 0x00007f5b447714d0 [Optimized] _Map@169271956.__parse@169271956
  pc 0x00007f5b5565f10a fp 0x00007f5b44771588 sp 0x00007f5b44771548 [Optimized] Parser._parse@169271956
  pc 0x00007f5b5561c6b0 fp 0x00007f5b44771648 sp 0x00007f5b44771598 [Optimized] _Chain@169271956.__parse@169271956
  pc 0x00007f5b5565f0eb fp 0x00007f5b44771698 sp 0x00007f5b44771658 [Optimized] Parser._parse@169271956
  pc 0x00007f5b55604551 fp 0x00007f5b44771710 sp 0x00007f5b447716a8 [Optimized] _Index@169271956.__parse@169271956
  pc 0x00007f5b5565f0cc fp 0x00007f5b44771760 sp 0x00007f5b44771720 [Optimized] Parser._parse@169271956
  pc 0x00007f5b5561077c fp 0x00007f5b447717a8 sp 0x00007f5b44771770 [Optimized] _CastDynamic@169271956.__parse@169271956
  pc 0x00007f5b5565f0ad fp 0x00007f5b447717f8 sp 0x00007f5b447717b8 [Optimized] Parser._parse@169271956
  pc 0x00007f5b4d2b9224 fp 0x00007f5b44771870 sp 0x00007f5b44771808 [Optimized] _Cast@169271956.__parse@169271956
  pc 0x00007f5b5565f08e fp 0x00007f5b447718c0 sp 0x00007f5b44771880 [Optimized] Parser._parse@169271956
  pc 0x00007f5b55661a7e fp 0x00007f5b44771918 sp 0x00007f5b447718d0 [Optimized] new Route.
  pc 0x00007f5b5560f62d fp 0x00007f5b44771978 sp 0x00007f5b44771928 [Optimized] new Route.join
  pc 0x00007f5b556594c4 fp 0x00007f5b447719c8 sp 0x00007f5b44771988 [Optimized] Router.get:routes.<anonymous closure>.<anonymous closure>
  pc 0x00007f5b5565d47c fp 0x00007f5b44771a28 sp 0x00007f5b447719d8 [Optimized] _ListBase&Object&ListMixin@3220832.fold
  pc 0x00007f5b4d29cda7 fp 0x00007f5b44771a90 sp 0x00007f5b44771a38 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f5b54c038e2 fp 0x00007f5b44771b08 sp 0x00007f5b44771aa0 [Optimized] Router.get:routes
  pc 0x00007f5b4d29cd07 fp 0x00007f5b44771b58 sp 0x00007f5b44771b18 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f5b54c038e2 fp 0x00007f5b44771bd0 sp 0x00007f5b44771b68 [Optimized] Router.get:routes
  pc 0x00007f5b55677f79 fp 0x00007f5b44771c78 sp 0x00007f5b44771be0 [Optimized] Router.resolve.crawl
  pc 0x00007f5b55601280 fp 0x00007f5b44771d18 sp 0x00007f5b44771c88 [Unoptimized] Router.resolve
  pc 0x00007f5b55600c83 fp 0x00007f5b44771db8 sp 0x00007f5b44771d28 [Unoptimized] Router._resolveAll@53209887
  pc 0x00007f5b55600a04 fp 0x00007f5b44771e70 sp 0x00007f5b44771dc8 [Unoptimized] Router.resolveAll
  pc 0x00007f5b47e8c658 fp 0x00007f5b44771ee8 sp 0x00007f5b44771e80 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle.resolveTuple
  pc 0x00007f5b47e8b7bc fp 0x00007f5b44771f58 sp 0x00007f5b44771ef8 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle
  pc 0x00007f5b4b46439f fp 0x00007f5b44771fd8 sp 0x00007f5b44771f68 [Unoptimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>
  pc 0x00007f5b4d2d89ff fp 0x00007f5b44772068 sp 0x00007f5b44771fe8 [Optimized] _rootRunUnary@4048458
  pc 0x00007f5b5567fb2e fp 0x00007f5b447720c0 sp 0x00007f5b44772078 [Optimized] _rootRunUnary@4048458
  pc 0x00007f5b5567ff1c fp 0x00007f5b44772150 sp 0x00007f5b447720d0 [Optimized] _FutureListener@4048458.handleValue
  pc 0x00007f5b4d2d9336 fp 0x00007f5b447721c8 sp 0x00007f5b44772160 [Optimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x00007f5b55678b8f fp 0x00007f5b44772230 sp 0x00007f5b447721d8 [Optimized] _Future@4048458._propagateToListeners@4048458
  pc 0x00007f5b47e84491 fp 0x00007f5b44772280 sp 0x00007f5b44772240 [Optimized] _Future@4048458._asyncCompleteWithValue@4048458.<anonymous closure>
  pc 0x00007f5b5567ba9d fp 0x00007f5b44772308 sp 0x00007f5b44772290 [Optimized] _rootRun@4048458
  pc 0x00007f5b5567464b fp 0x00007f5b44772358 sp 0x00007f5b44772318 [Optimized] _rootRun@4048458
  pc 0x00007f5b5567d4c9 fp 0x00007f5b447723e0 sp 0x00007f5b44772368 [Optimized] _CustomZone@4048458.bindCallback.<anonymous closure>
  pc 0x00007f5b47e84875 fp 0x00007f5b44772420 sp 0x00007f5b447723f0 [Optimized] _microtaskLoop@4048458
  pc 0x00007f5b54c48a4b fp 0x00007f5b44772460 sp 0x00007f5b44772430 [Unoptimized] _startMicrotaskLoop@4048458
  pc 0x00007f5b47e9d1f3 fp 0x00007f5b44772488 sp 0x00007f5b44772470 [Optimized] _startMicrotaskLoop@4048458
  pc 0x00007f5b47e9f250 fp 0x00007f5b447724c8 sp 0x00007f5b44772498 [Optimized] _RawReceivePortImpl@1026248._handleMessage@1026248
  pc 0x00007f5b5cc82a0c fp 0x00007f5b44772540 sp 0x00007f5b447724d8 [Stub] InvokeDartCode
Aborted
root@pmro174330:/mnt/c/MyDartProjects/dart_segment_fault#

second run

root@pmro174330:/mnt/c/MyDartProjects/dart_segment_fault# /root/dart-sdk/bin/dart ./bin/main.dart -a 0.0.0.0 -p 3350 -j 16

     _    _   _  ____ _____ _     _____
    / \  | \ | |/ ___| ____| |   |___ /
   / _ \ |  \| | |  _|  _| | |     |_ \
  / ___ \| |\  | |_| | |___| |___ ___) |
 /_/   \_\_| \_|\____|_____|_____|____/

A batteries-included, full-featured, full-stack framework in Dart.

https://angel3-framework.web.app

Starting `angel` application...
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:12 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:13 INFO [angel]: No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection, and will not work without it.

For more, see the documentation:
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
2023-11-15 17:33:13 INFO [angel]: Instance #6 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #3 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #11 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #15 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #14 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #7 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #10 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #2 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #5 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #12 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #1 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #9 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #4 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #13 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #8 listening at http://0.0.0.0:3350
2023-11-15 17:33:13 INFO [angel]: Instance #0 listening at http://0.0.0.0:3350
2023-11-15 17:33:48 SEVERE [angel]: Fatal error

2023-11-15 17:33:48 SEVERE [angel]: NoSuchMethodError: Class 'List<dynamic>' has no instance method 'reportError'.
Receiver: _List len:1
Tried calling: reportError(2916634, TypeArguments: (H2268f7ab) [Type: SyntaxError], "Write failed")
2023-11-15 17:33:48 SEVERE [angel]: #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:38:5)
#1      _NativeSocket.write.<anonymous closure> (dart:io-patch/socket_patch.dart:1191:31)
#2      _rootRun (dart:async/zone.dart:1391:13)
#3      _CustomZone.run (dart:async/zone.dart:1293:19)
#4      _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1225:23)
#5      _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#6      _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#7      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:122:13)
#8      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:193:5)

===== CRASH =====
si_signo=Segmentation fault(11), si_code=1, si_addr=0x4d5003d01
version=2.18.7 (stable) (Thu Jan 12 10:44:08 2023 +0000) on "linux_x64"
pid=201, thread=239, isolate_group=main(0x55b68c945800), isolate=(nil)((nil))
isolate_instructions=55b68af0c580, vm_instructions=55b68af0c580

===== CRASH =====
si_signo=Segmentation fault(11), si_code=1, si_addr=0x7f6ad2680000
Aborting re-entrant request for stack trace.
  pc 0x000055b68b22f5c2 fp 0x00007f6accc799b0 /root/dart-sdk/bin/dart+0x21f45c2
  pc 0x000055b68b22ed48 fp 0x00007f6accc79ad0 /root/dart-sdk/bin/dart+0x21f3d48
  pc 0x000055b68b22db29 fp 0x00007f6accc79b50 /root/dart-sdk/bin/dart+0x21f2b29
  pc 0x000055b68b22d17c fp 0x00007f6accc79c20 dart::Scavenger::ParallelScavenge(dart::SemiSpace*)+0x25c
  pc 0x000055b68b22ca6c fp 0x00007f6accc79cf0 dart::Scavenger::Scavenge(dart::Thread*, dart::GCType, dart::GCReason)+0x1bc
  pc 0x000055b68b21b9c3 fp 0x00007f6accc79de0 dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::GCType, dart::GCReason)+0x103
  pc 0x000055b68b21af67 fp 0x00007f6accc79e10 dart::Heap::AllocateNew(dart::Thread*, long)+0x107
  pc 0x000055b68b0fbcef fp 0x00007f6accc79e60 dart::Object::Allocate(long, long, dart::Heap::Space, bool)+0x6f
  pc 0x000055b68b134579 fp 0x00007f6accc79eb0 dart::TypedData::New(long, long, dart::Heap::Space)+0x169
  pc 0x000055b68b1bf543 fp 0x00007f6accc7a420 dart::DRT_AllocateTypedData(dart::NativeArguments)+0x1f3
  pc 0x00007f6ae4f025c3 fp 0x00007f6accc7a460 Unknown symbol
  pc 0x00007f6ae4f01661 fp 0x00007f6accc7a498 Unknown symbol
  pc 0x00007f6adeb7f59f fp 0x00007f6accc7a4e8 Unknown symbol
  pc 0x00007f6ad5a1d129 fp 0x00007f6accc7a530 Unknown symbol
  pc 0x00007f6ad33f243b fp 0x00007f6accc7a578 Unknown symbol
  pc 0x00007f6ad5a089ff fp 0x00007f6accc7a628 Unknown symbol
  pc 0x00007f6addddf6c0 fp 0x00007f6accc7a680 Unknown symbol
  pc 0x00007f6addd9b534 fp 0x00007f6accc7a740 Unknown symbol
  pc 0x00007f6addddf76c fp 0x00007f6accc7a790 Unknown symbol
  pc 0x00007f6addd85631 fp 0x00007f6accc7a808 Unknown symbol
  pc 0x00007f6addddf78b fp 0x00007f6accc7a858 Unknown symbol
  pc 0x00007f6addd915cc fp 0x00007f6accc7a8a0 Unknown symbol
  pc 0x00007f6addddf74d fp 0x00007f6accc7a8f0 Unknown symbol
  pc 0x00007f6ad5a39be4 fp 0x00007f6accc7a968 Unknown symbol
  pc 0x00007f6addddf72e fp 0x00007f6accc7a9b8 Unknown symbol
  pc 0x00007f6addde20ae fp 0x00007f6accc7aa10 Unknown symbol
  pc 0x00007f6addd8db5d fp 0x00007f6accc7aa70 Unknown symbol
  pc 0x00007f6ad5a30834 fp 0x00007f6accc7aac0 Unknown symbol
  pc 0x00007f6addddddac fp 0x00007f6accc7ab20 Unknown symbol
  pc 0x00007f6ad5a59727 fp 0x00007f6accc7ab88 Unknown symbol
  pc 0x00007f6ad6f88712 fp 0x00007f6accc7ac00 Unknown symbol
  pc 0x00007f6ad5a59687 fp 0x00007f6accc7ac50 Unknown symbol
  pc 0x00007f6ad6f88712 fp 0x00007f6accc7acc8 Unknown symbol
  pc 0x00007f6adddf6ee9 fp 0x00007f6accc7ad70 Unknown symbol
  pc 0x00007f6ad19c040f fp 0x00007f6accc7add0 Unknown symbol
  pc 0x00007f6ad19be4ee fp 0x00007f6accc7ae60 Unknown symbol
  pc 0x00007f6ad198cba8 fp 0x00007f6accc7aed8 Unknown symbol
  pc 0x00007f6ad198bd9c fp 0x00007f6accc7af48 Unknown symbol
  pc 0x00007f6ad19ba929 fp 0x00007f6accc7aff8 Unknown symbol
  pc 0x00007f6ad5a58ebf fp 0x00007f6accc7b088 Unknown symbol
  pc 0x00007f6adddfffce fp 0x00007f6accc7b0e0 Unknown symbol
  pc 0x00007f6adddf423c fp 0x00007f6accc7b170 Unknown symbol
  pc 0x00007f6ad5a2f2b6 fp 0x00007f6accc7b1e8 Unknown symbol
  pc 0x00007f6ad19b7467 fp 0x00007f6accc7b248 Unknown symbol
  pc 0x00007f6ad1984121 fp 0x00007f6accc7b298 Unknown symbol
  pc 0x00007f6addd846fd fp 0x00007f6accc7b320 Unknown symbol
  pc 0x00007f6adddf442b fp 0x00007f6accc7b370 Unknown symbol
  pc 0x00007f6ad5a210c9 fp 0x00007f6accc7b3f8 Unknown symbol
  pc 0x00007f6ad19c22e6 fp 0x00007f6accc7b460 Unknown symbol
  pc 0x00007f6ad199e293 fp 0x00007f6accc7b488 Unknown symbol
  pc 0x00007f6ad19b1160 fp 0x00007f6accc7b4c8 Unknown symbol
  pc 0x00007f6ae4f02a0c fp 0x00007f6accc7b540 Unknown symbol
  pc 0x000055b68b08473d fp 0x00007f6accc7b5e0 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)+0x14d
  pc 0x000055b68b08457c fp 0x00007f6accc7b640 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x14c
  pc 0x000055b68b0869ac fp 0x00007f6accc7b690 dart::DartLibraryCalls::HandleMessage(long, dart::Instance const&)+0x14c
  pc 0x000055b68b0ae070 fp 0x00007f6accc7bc20 dart::IsolateMessageHandler::HandleMessage(std::__2::unique_ptr<dart::Message, std::__2::default_delete<dart::Message> >)+0x350
  pc 0x000055b68b0d759d fp 0x00007f6accc7bc90 dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)+0x14d
  pc 0x000055b68b0d7c7f fp 0x00007f6accc7bce0 dart::MessageHandler::TaskCallback()+0x1df
  pc 0x000055b68b1fa6b8 fp 0x00007f6accc7bd60 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*)+0x148
  pc 0x000055b68b1fab0d fp 0x00007f6accc7bd90 dart::ThreadPool::Worker::Main(unsigned long)+0x6d
  pc 0x000055b68b16d758 fp 0x00007f6accc7be50 /root/dart-sdk/bin/dart+0x2132758
-- End of DumpStackTrace
  pc 0x0000000000000000 fp 0x00007f6accc7a460 sp 0x0000000000000000 [Stub] CallToRuntime
  pc 0x00007f6ae4f01661 fp 0x00007f6accc7a498 sp 0x00007f6accc7a470 [Stub] AllocateUint32Array
  pc 0x00007f6adeb7f59f fp 0x00007f6accc7a4e8 sp 0x00007f6accc7a4a8 [Optimized] __InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin@3220832._init@3220832
  pc 0x00007f6ad5a1d129 fp 0x00007f6accc7a530 sp 0x00007f6accc7a4f8 [Optimized] __InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin@3220832._rehash@3220832
  pc 0x00007f6ad33f243b fp 0x00007f6accc7a578 sp 0x00007f6accc7a540 [Optimized] __InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin@3220832._insert@3220832
  pc 0x00007f6ad5a089ff fp 0x00007f6accc7a628 sp 0x00007f6accc7a588 [Optimized] __InternalLinkedHashMap&_HashVMBase&MapMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashMapMixin@3220832.putIfAbsent
  pc 0x00007f6addddf6c0 fp 0x00007f6accc7a680 sp 0x00007f6accc7a638 [Optimized] Parser._parse@169271956
  pc 0x00007f6addd9b534 fp 0x00007f6accc7a740 sp 0x00007f6accc7a690 [Optimized] _Chain@169271956.__parse@169271956
  pc 0x00007f6addddf76c fp 0x00007f6accc7a790 sp 0x00007f6accc7a750 [Optimized] Parser._parse@169271956
  pc 0x00007f6addd85631 fp 0x00007f6accc7a808 sp 0x00007f6accc7a7a0 [Optimized] _Index@169271956.__parse@169271956
  pc 0x00007f6addddf78b fp 0x00007f6accc7a858 sp 0x00007f6accc7a818 [Optimized] Parser._parse@169271956
  pc 0x00007f6addd915cc fp 0x00007f6accc7a8a0 sp 0x00007f6accc7a868 [Optimized] _CastDynamic@169271956.__parse@169271956
  pc 0x00007f6addddf74d fp 0x00007f6accc7a8f0 sp 0x00007f6accc7a8b0 [Optimized] Parser._parse@169271956
  pc 0x00007f6ad5a39be4 fp 0x00007f6accc7a968 sp 0x00007f6accc7a900 [Optimized] _Cast@169271956.__parse@169271956
  pc 0x00007f6addddf72e fp 0x00007f6accc7a9b8 sp 0x00007f6accc7a978 [Optimized] Parser._parse@169271956
  pc 0x00007f6addde20ae fp 0x00007f6accc7aa10 sp 0x00007f6accc7a9c8 [Optimized] new Route.
  pc 0x00007f6addd8db5d fp 0x00007f6accc7aa70 sp 0x00007f6accc7aa20 [Optimized] new Route.join
  pc 0x00007f6ad5a30834 fp 0x00007f6accc7aac0 sp 0x00007f6accc7aa80 [Optimized] Router.get:routes.<anonymous closure>.<anonymous closure>
  pc 0x00007f6addddddac fp 0x00007f6accc7ab20 sp 0x00007f6accc7aad0 [Optimized] _ListBase&Object&ListMixin@3220832.fold
  pc 0x00007f6ad5a59727 fp 0x00007f6accc7ab88 sp 0x00007f6accc7ab30 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f6ad6f88712 fp 0x00007f6accc7ac00 sp 0x00007f6accc7ab98 [Optimized] Router.get:routes
  pc 0x00007f6ad5a59687 fp 0x00007f6accc7ac50 sp 0x00007f6accc7ac10 [Optimized] Router.get:routes.<anonymous closure>
  pc 0x00007f6ad6f88712 fp 0x00007f6accc7acc8 sp 0x00007f6accc7ac60 [Optimized] Router.get:routes
  pc 0x00007f6adddf6ee9 fp 0x00007f6accc7ad70 sp 0x00007f6accc7acd8 [Optimized] Router.resolve.crawl
  pc 0x00007f6ad19c040f fp 0x00007f6accc7add0 sp 0x00007f6accc7ad80 [Optimized] Router.resolve
  pc 0x00007f6ad19be4ee fp 0x00007f6accc7ae60 sp 0x00007f6accc7ade0 [Optimized] Router.resolveAll
  pc 0x00007f6ad198cba8 fp 0x00007f6accc7aed8 sp 0x00007f6accc7ae70 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle.resolveTuple
  pc 0x00007f6ad198bd9c fp 0x00007f6accc7af48 sp 0x00007f6accc7aee8 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>.handle
  pc 0x00007f6ad19ba929 fp 0x00007f6accc7aff8 sp 0x00007f6accc7af58 [Optimized] Driver.handleRawRequest.<anonymous closure>.<anonymous closure>
  pc 0x00007f6ad5a58ebf fp 0x00007f6accc7b088 sp 0x00007f6accc7b008 [Optimized] _rootRunUnary@4048458
  pc 0x00007f6adddfffce fp 0x00007f6accc7b0e0 sp 0x00007f6accc7b098 [Optimized] _rootRunUnary@4048458
  pc 0x00007f6adddf423c fp 0x00007f6accc7b170 sp 0x00007f6accc7b0f0 [Optimized] _FutureListener@4048458.handleValue
  pc 0x00007f6ad5a2f2b6 fp 0x00007f6accc7b1e8 sp 0x00007f6accc7b180 [Optimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x00007f6ad19b7467 fp 0x00007f6accc7b248 sp 0x00007f6accc7b1f8 [Optimized] _Future@4048458._propagateToListeners@4048458
  pc 0x00007f6ad1984121 fp 0x00007f6accc7b298 sp 0x00007f6accc7b258 [Optimized] _Future@4048458._asyncCompleteWithValue@4048458.<anonymous closure>
  pc 0x00007f6addd846fd fp 0x00007f6accc7b320 sp 0x00007f6accc7b2a8 [Optimized] _rootRun@4048458
  pc 0x00007f6adddf442b fp 0x00007f6accc7b370 sp 0x00007f6accc7b330 [Optimized] _rootRun@4048458
  pc 0x00007f6ad5a210c9 fp 0x00007f6accc7b3f8 sp 0x00007f6accc7b380 [Optimized] _CustomZone@4048458.bindCallback.<anonymous closure>
  pc 0x00007f6ad19c22e6 fp 0x00007f6accc7b460 sp 0x00007f6accc7b408 [Optimized] _startMicrotaskLoop@4048458
  pc 0x00007f6ad199e293 fp 0x00007f6accc7b488 sp 0x00007f6accc7b470 [Optimized] _startMicrotaskLoop@4048458
  pc 0x00007f6ad19b1160 fp 0x00007f6accc7b4c8 sp 0x00007f6accc7b498 [Optimized] _RawReceivePortImpl@1026248._handleMessage@1026248
  pc 0x00007f6ae4f02a0c fp 0x00007f6accc7b540 sp 0x00007f6accc7b4d8 [Stub] InvokeDartCode
Aborted (core dumped)

dump

mraleph commented 1 year ago

Thanks to the idea from @mkustermann I have managed to reproduce the crash locally by running it under taskset 0xf ....

This is duplicate of https://github.com/dart-lang/sdk/issues/48668: when wrk workload finishes we get an exception from nativeWrite in this function. This exception is caught by the catch but between executing catch entry moves and entering the handler we hit a GC - which ends up using incorrect stack-map and things go south from there.

This was fixed by b0c6f00f3952d9a585f70e4f12819c292b443493 which is in 2.19 or newer.

mraleph commented 1 year ago

Duplicate of #48668

mraleph commented 1 year ago

Thank you for all the help narrowing this down @insinfo!

insinfo commented 1 year ago

@mraleph Thank you, I would like to thank you for your commitment and dedication in identifying the problem, and I thank the Dart team for being so friendly.