Bonjour,

J'ai récupéré un thread dump (à l'aide de jConsole) de mon appli qui est bloquée chez un client. Le thread EDT semble complètement bloqué (le contenu de la fenêtre n'est pas redessiné). Par contre, Le dump du thread AWT-EventQueue ne veut pas s'afficher dans jConsole.

J'ai fait le tour des autres threads, et je remarque que l'un d'entre eux est bloqué sur une lecture de flux (socketRead0, statut RUNNABLE). Ce n'est pas la première fois que je vois l'application bloquée sur ce genre d'instruction, mais je ne comprends pas ce que cela signifie.

J'ai commencé par penser qu'il pouvait s'agir d'un problème de firewall (il s'agit d'un flux réseau ; l'adresse pointée est une JSP sur un serveur) mais cela ne semble pas venir de là.

Ce plantage est apparu alors que l'application n'était pas utilisée (réduite). Par contre une petite coupure réseau n'est pas a exclure.

Pouvez-vous m'éclairer ? Que me conseillez-vous ?
Merci beaucoup.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Name: Dom-enregistreur
State: BLOCKED on fr.ste.com.sessions.Session@354093 owned by: Actualiseur Session
Total blocked: 9  Total waited: 170*780
 
Stack trace: 
 fr.ste.com.dataObject.DataObject.flush(DataObject.java:744)
fr.ste.com.dataObject.Manager.flush(Manager.java:74)
fr.ste.com.dataObject.Manager$1.run(Manager.java:48)
fr.ste.com.Timer$ThisTask.run(Timer.java:36)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)
 
---
---
---
 
Name: Actualiseur Session
State: RUNNABLE
Total blocked: 6  Total waited: 861
 
Stack trace: 
 java.net.SocketInputStream.socketRead0(Native hod)
java.net.SocketInputStream.read(Unknown Source)
java.io.BufferedInputStream.fill(Unknown Source)
java.io.BufferedInputStream.read1(Unknown Source)
java.io.BufferedInputStream.read(Unknown Source)
   - locked java.io.BufferedInputStream@956ce1
sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
   - locked sun.net.www.protocol.http.HttpURLConnection@1f511c
fr.ste.com.files.File.getInputStream(File.java:953)
fr.ste.com.Response.getResultString(Response.java:66)
fr.ste.com.ManipData.update(ManipData.java:610)
fr.ste.com.DataObjectWriter.update(DataObjectWriter.java:338)
   - locked fr.ste.com.DataObjectWriter@18b2ad5
fr.ste.com.DataObjectWriter.flush(DataObjectWriter.java:360)
   - locked fr.ste.com.DataObjectWriter@18b2ad5
fr.ste.com.dataObject.DataObject.flush(DataObject.java:772)
   - locked fr.ste.com.sessions.Session@354093
fr.ste.com.dataObject.DataObject$1.call(DataObject.java:44)
fr.ste.com.ihm.connexion.Connexion$TaskInError.get(Connexion.java:34)
fr.ste.com.dataObject.DataObject.sauvegarder(DataObject.java:61)
fr.ste.com.Timer$ThisTask.run(Timer.java:36)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)