OVH Cloud OVH Cloud

Migration du JDK 1.4 à 1.5 StackOverFlowError

7 réponses
Avatar
michael.lefebvre
Bonjour,

Nous avons effectué la migration de notre Applet à partir du JDK 1.4
vers 1.5. Après quelques minutes d'utilisation de notre Applet,
StackOverFlowError nous apparaît et il est difficle de comprendre
pourquoi cela ce produit, car rien de ce qui apparaît dans la stack
trace ne fait parti de notre propre code.

Voici la stack Trace :

Exception in thread "Thread 18" java.lang.StackOverFlowError
at java.util.ArrayList.add(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.SortingFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.LayoutFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at java.awt.ContainerOrderFocusTraversalPolicy.getLastComponent(Unknown
Source)
at javax.swing.DefaultFocusManager.getLastComponent(Unknown Source)
at javax.swing.LegacyGlueFocusTraversalPolicy.getLastComponent(Unknown
Source)
...

Merci à l'avance pour vos réponses

7 réponses

Avatar
Sébastien BALLET
"Michael" a écrit dans le message de news:

Bonjour,


bonjour,


Nous avons effectué la migration de notre Applet à partir du JDK 1.4
vers 1.5. Après quelques minutes d'utilisation de notre Applet,
StackOverFlowError nous apparaît et il est difficle de comprendre
pourquoi cela ce produit, car rien de ce qui apparaît dans la stack
trace ne fait parti de notre propre code.

Voici la stack Trace :

Exception in thread "Thread 18" java.lang.StackOverFlowError
at java.util.ArrayList.add(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)


En regardant le source de enumerateCycle (jdk 1.5.0 update 2), il est
possible que cela proviennent d'une récursion infinie
dans cette méthode. A voir sur la bug parade


[snip]
...

Merci à l'avance pour vos réponses


de rien


--
Seb

Avatar
michael.lefebvre
Qu'est-ce que vous voulez dire en disant voir sur la bug parade ? Il y
a des articles sur cela dans la bug parade ? Je n'ai rien trouvé.

"Michael" a écrit dans le message de
news:

Bonjour,


bonjour,


Nous avons effectué la migration de notre Applet Ó partir du JDK 1.4
vers 1.5. Après quelques minutes d'utilisation de notre Applet,
StackOverFlowError nous apparaît et il est difficle de comprendre
pourquoi cela ce produit, car rien de ce qui apparaît dans la stack
trace ne fait parti de notre propre code.

Voici la stack Trace :

Exception in thread "Thread 18" java.lang.StackOverFlowError
at java.util.ArrayList.add(Unknown Source)
at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(Unknown
Source)


En regardant le source de enumerateCycle (jdk 1.5.0 update 2), il est
possible que cela proviennent d'une récursion infinie
dans cette méthode. A voir sur la bug parade


[snip]
....

Merci Ó l'avance pour vos réponses


de rien



--
Seb

Avatar
Sébastien BALLET
bonjour,

"Michael" a écrit dans le message de news:

Qu'est-ce que vous voulez dire en disant voir sur la bug parade ? Il y
a des articles sur cela dans la bug parade ? Je n'ai rien trouvé.



Je voulais dire qu'il était possible qu'il y ait un rapport de bug à ce
sujet. Si ce n'est pas le cas, il est alors possible que vous soyez face à
un nouveau bug.

Serait-il possible d'essayer cette applet ou mieux de voir son code pour
tenter de mieux cerner le problème ?



--
Seb

Avatar
michael.lefebvre
Il n'est pas vraiment possible de voir le code de cet applet puisque
c'est vraiment trop gros pour pouvoir l'afficher. De plus c'est un
applet commercial, il n'est donc pas possible de mettre le code sur
internet.

Merci de votre aide. D'autres suggestions ?

"Sébastien BALLET" wrote in message news:<d42aec$bc6$...
bonjour,

"Michael" a écrit dans le message de news:

Qu'est-ce que vous voulez dire en disant voir sur la bug parade ? Il y
a des articles sur cela dans la bug parade ? Je n'ai rien trouvé.



Je voulais dire qu'il était possible qu'il y ait un rapport de bug à ce
sujet. Si ce n'est pas le cas, il est alors possible que vous soyez face à
un nouveau bug.

Serait-il possible d'essayer cette applet ou mieux de voir son code pour
tenter de mieux cerner le problème ?



Avatar
Bruno CAUSSE
dans l'article , Michael à
a écrit le 19/04/05 15:15 :

Il n'est pas vraiment possible de voir le code de cet applet puisque
c'est vraiment trop gros pour pouvoir l'afficher. De plus c'est un
applet commercial, il n'est donc pas possible de mettre le code sur
internet.

Merci de votre aide. D'autres suggestions ?



Votre applet lit -elle des docs RTF?

Avatar
Sébastien BALLET
"Michael" a écrit dans le message de news:

Il n'est pas vraiment possible de voir le code de cet applet puisque
c'est vraiment trop gros pour pouvoir l'afficher. De plus c'est un
applet commercial, il n'est donc pas possible de mettre le code sur
internet.

Merci de votre aide.


de rien

D'autres suggestions ?



- Passer un coup de debugger pour tenter d'identifier plus précisemment le
problème.

- Comme il semble que ce soit un problème de focus/composant, revoir
l'organisation des composants (essayer d'en désactiver un/plusieurs pour
voir si le problème est causé par un seul ou plusieurs composants)

Dans le cadre d'une application, il aurait été possible de contourner
*temporairement* le problème en spécifiant une
taille de pile supérieur (option -Xss de java), mais il me semble que ce
genre d'option n'est pas disponible avec les
applets.

Avatar
michael.lefebvre
Merci pour votre aide, on a trouvé le problème. Nous utilisions encore
le FocusManager à un endroit à la place du KeyboardFocusManager.



"Sébastien BALLET" wrote in message news:<d4350a$3qs$...
"Michael" a écrit dans le message de news:

Il n'est pas vraiment possible de voir le code de cet applet puisque
c'est vraiment trop gros pour pouvoir l'afficher. De plus c'est un
applet commercial, il n'est donc pas possible de mettre le code sur
internet.

Merci de votre aide.


de rien

D'autres suggestions ?



- Passer un coup de debugger pour tenter d'identifier plus précisemment le
problème.

- Comme il semble que ce soit un problème de focus/composant, revoir
l'organisation des composants (essayer d'en désactiver un/plusieurs pour
voir si le problème est causé par un seul ou plusieurs composants)

Dans le cadre d'une application, il aurait été possible de contourner
*temporairement* le problème en spécifiant une
taille de pile supérieur (option -Xss de java), mais il me semble que ce
genre d'option n'est pas disponible avec les
applets.