@:nativeGen interface use leads to crash
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Empieza compilando el programa Main proporcionado en Linux con haxe -m Main --cpp bin y reproduce el fallo después de cpp.vm.Gc.run(true). Después inspecciona el C++ generado alrededor del dispatch de ISecond y del acceso a Array; el trabajo estará terminado cuando el programa finalice sin que la longitud de Array se corrompa.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When investigating https://github.com/HaxeFoundation/haxe/issues/10427, I discovered that this program using native interfaces crashes:
@:nativeGen
interface IFirst {
public function doFirst():Void;
}
@:nativeGen
interface ISecond {
public function doSecond():Void;
}
class Main implements IFirst implements ISecond {
public var data:Array<Int> = [1, 2, 3];
public function new() {}
public function doFirst() {
trace(data);
}
public function doSecond() {
trace(data);
}
static function main() {
final obj = new Main();
final interfaceRef:ISecond = obj;
cpp.vm.Gc.run(true);
interfaceRef.doSecond();
}
}
Compiled on linux with:
haxe -m Main --cpp bin
This crashes while trying to join the Array because the ->length field has become garbage.
- Lenguaje dominante
- C++
- Estrellas
- 330
- Forks
- 232
- Merge medio
- 3 d 5 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HaxeFoundation/hxcpp
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HaxeFoundation/hxcpp#1217 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
HaxeFoundation/hxcpp#1432 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
HaxeFoundation/hxcpp#1431 ·
Los mantenedores suelen responder en 1 día
-
Set up clang formatAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
HaxeFoundation/hxcpp#1430 ·
Los mantenedores suelen responder en 1 día
-
Null<UInt> compared with null gives wrong results (null is cast to 0 by UInt's == / != overloads)Abierto
Dificultad 4/5 1-2 días Aptitud para principiantes 57/100
HaxeFoundation/hxcpp#1427 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de HaxeFoundation/hxcpp
Issues similares
-
Remove source files from packaging for deb, zip, etcPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
OpenSpace/OpenSpace#4353 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
justcallmekoko/ESP32Marauder#1656 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
macOS: a double-click on a notarized altairsim is refused, and the docs give only the offline casePosiblemente ocupada @anhaoXie la tomó hoy. Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Decompiler: convertCharRef() in xml.y overflows its int4 accumulator on long character referencesPosiblemente ocupada @kaayzouee la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
NationalSecurityAgency/ghidra#10009 ·
Los mantenedores suelen responder en 2 días