Closed insinfo closed 11 months ago
I have the same problem. :/
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
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"
@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
?
I'm not sure if my project is compatible with the newer version, but I'll try.
@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
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');
}
}
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
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.
@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
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.
I had to put the file in Google Driver because the github limit is 25MB
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)
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
I initially thought that the problem was only in Linux, but I saw that the problem also happens in Windows
@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.
@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.
@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.
@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.
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.
I also ran it on another computer with Windows 10 with Debian 12 on WSL
I'll run your script now to see if the problem happens.
I ran your script, it ran for 19 to 20 seconds and it showed "Killed" in debian WSL
Was this what was supposed to happen?
I downloaded the dart version of the zip from the link you gave and ran it
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#
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)
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.
Duplicate of #48668
Thank you for all the help narrowing this down @insinfo!
@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.
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
error in JIT mode
pubspec.yaml