Compiler hängt sich auf #309

Closed
opened 2024-03-29 14:03:36 +00:00 by i21023 · 4 comments
Collaborator

Teilweise scheint der Compiler in einem Art Idle-State stecken zu bleiben. Ich habe noch nicht rausgefunden was ausschlaggebend dafür ist, es ist aber auch ein Fehler, der unregelmäßig auftritt.

Beispiel:

Dieser Code bleibt bei mir mit der aktuellen Version vom Compiler weniger als 5% der Zeit hängen.

import java.util.List;
import java.util.ArrayList;
import java.lang.Integer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.function.Function;

class Bar{
    main(){
        List<Integer> a = List.of(1,2,3,4,5,6,7,8,9);
        List<Integer> list = new ArrayList<>(a);
        list.stream().map(x->x*2);
    }
}

Wenn ich List.of() direkt als Parameter übergebe, tritt der Fehler scheinbar 100% der Zeit auf:

import java.util.List;
import java.util.ArrayList;
import java.lang.Integer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.function.Function;

class Bar{
    main(){
        List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9));
        list.stream().map(x->x*2);
    }
}

Es könnte auch mit java.util.stream.Stream; zusammenhängen, da der Idle State beim Entfernen des Imports scheinbar nicht mehr auftritt:

import java.util.List;
import java.util.ArrayList;
import java.lang.Integer;
import java.util.stream.Collectors;
//import java.util.stream.Stream;
import java.util.function.Function;

class Bar{
    main(){
        List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9));
        //list.stream().map(x->x*2);
    }
}
Teilweise scheint der Compiler in einem Art Idle-State stecken zu bleiben. Ich habe noch nicht rausgefunden was ausschlaggebend dafür ist, es ist aber auch ein Fehler, der unregelmäßig auftritt. **Beispiel:** Dieser Code bleibt bei mir mit der aktuellen Version vom Compiler weniger als 5% der Zeit hängen. ```java import java.util.List; import java.util.ArrayList; import java.lang.Integer; import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.function.Function; class Bar{ main(){ List<Integer> a = List.of(1,2,3,4,5,6,7,8,9); List<Integer> list = new ArrayList<>(a); list.stream().map(x->x*2); } } ``` Wenn ich List.of() direkt als Parameter übergebe, tritt der Fehler scheinbar 100% der Zeit auf: ```java import java.util.List; import java.util.ArrayList; import java.lang.Integer; import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.function.Function; class Bar{ main(){ List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9)); list.stream().map(x->x*2); } } ``` Es könnte auch mit java.util.stream.Stream; zusammenhängen, da der Idle State beim Entfernen des Imports scheinbar nicht mehr auftritt: ```java import java.util.List; import java.util.ArrayList; import java.lang.Integer; import java.util.stream.Collectors; //import java.util.stream.Stream; import java.util.function.Function; class Bar{ main(){ List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5,6,7,8,9)); //list.stream().map(x->x*2); } } ```
dholle referenced this issue from a commit 2024-04-08 12:03:03 +00:00
Owner

@pl Kannst du dir das mal anschauen?

@pl Kannst du dir das mal anschauen?
pl was assigned by dholle 2024-04-08 12:03:33 +00:00
dholle added the
Type
confirmed
labels 2024-04-08 12:03:45 +00:00
dholle was assigned by pl 2024-04-08 23:48:20 +00:00
Owner

Idle State ist beseitigt, falsche Schleife in Match.

Liefert allerdings immer noch ein Problem

Idle State ist beseitigt, falsche Schleife in Match. Liefert allerdings immer noch ein Problem
pl added the
in progress
label 2024-04-08 23:48:48 +00:00
pl removed their assignment 2024-04-08 23:49:27 +00:00
Owner

Jetzt bekommt die Methode main seltsamerweise einen Returntyp. @pl
Oder genauer gesagt, der TPH wird nicht auf void gesetzt und kommt im Result Set nicht mehr vor.

Jetzt bekommt die Methode main seltsamerweise einen Returntyp. @pl Oder genauer gesagt, der TPH wird nicht auf void gesetzt und kommt im Result Set nicht mehr vor.
pl added reference targetBytecode 2024-04-09 16:27:40 +00:00
Owner

commit: bcce4cee19
Im Visitor ReturnFinder wuder nicht beruecksichtigt, dass auch in einem Lambda-Ausdr
uck ein Reurn stehen kann, welchen die umgebenden Block nicht beendet.

commit: bcce4cee19dd1f864beb1f2b9265bae9c9cd3add Im Visitor ReturnFinder wuder nicht beruecksichtigt, dass auch in einem Lambda-Ausdr uck ein Reurn stehen kann, welchen die umgebenden Block nicht beendet.
pl closed this issue 2024-04-09 16:29:56 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: JavaTX/JavaCompilerCore#309
No description provided.