Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Dzemus

    Cześć,

    mam następujący problem...

    System nad którym pracuję składa się z dwóch części (obie napisane w Javie):

    - server logiki biznesowej - działający jako normalna aplikacja ("standalone"),
    - aplikacja webowa (wykonana na frameworku Turbine, postawiona na Resin Application Server) - działa jako warstwa prezentacji.

    Te dwie części połączone są poprzez mechanizm socketów po TCP/IP - używamy głownie ObjectOutputStream'ów.

    Normalnie wszystko chodzi dobrze (system działa już na kilku różnych serwerach w kilku lokalizacjach), ale niedawno postawiliśmy go na nowej maszynie i zaczął nam rzucać dziwne wyjątki. Poniżej przedstawiam informacje o serwerze i wyjątkach .

    Wydaje nam się, że może chodzić o konfigurację jądra, może o stos TCP/IP, ale o co konkretnie to nie mamy pomysłu.
    Z góry dzięki za pomoc.

    Server:
    Maszyna: Sun T2000

    System: Solaris 10

    JVM: 1.4 or 1.5 (both were tested)
  • Dzemus

    EXCEPTION:

    ERROR 2006-11-28 11:28:59,377 [pl.com.ttsoft.vixen.currentda y.server.ClientServiceThread] - IOException while sending data to the client. Closing output stream.
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.so cketWrite0(Native Method)
    at java.net.SocketOutputStream.so cketWrite(SocketOutputStream.j ava:92)
    at java.net.SocketOutputStream.wr ite(SocketOutputStream.java:13 6)
    at java.io.ObjectOutputStream$Blo ckDataOutputStream.drain(Objec tOutputStream.java:1682)
    at java.io.ObjectOutputStream$Blo ckDataOutputStream.setBlockDat aMode(ObjectOutputStream.java: 1591)
    at java.io.ObjectOutputStream.wri teFatalException(ObjectOutputS tream.java:1401)
    at java.io.ObjectOutputStream.wri teUnshared(ObjectOutputStream. java:371)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se ndMessageToClient(ClientServic eThread.java:679)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se ndModificationData(ClientServi ceThread.java:432)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se rveDataModification(ClientServ iceThread.java:308)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.ru n(ClientServiceThread.java:185 )

    ERROR 2006-11-28 11:28:59,400 [pl.com.ttsoft.vixen.currentda y.server.ClientServiceThread] - IOException while closing client connection.
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.so cketWrite0(Native Method)
    at java.net.SocketOutputStream.so cketWrite(SocketOutputStream.j ava:92)
    at java.net.SocketOutputStream.wr ite(SocketOutputStream.java:13 6)
    at java.io.ObjectOutputStream$Blo ckDataOutputStream.drain(Objec tOutputStream.java:1682)
    at java.io.ObjectOutputStream$Blo ckDataOutputStream.flush(Objec tOutputStream.java:1627)
    at java.io.ObjectOutputStream.flu sh(ObjectOutputStream.java:666 )
    at java.io.ObjectOutputStream.clo se(ObjectOutputStream.java:687 )
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.cl oseClientConnection(ClientServ iceThread.java:706)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se ndMessageToClient(ClientServic eThread.java:691)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se ndModificationData(ClientServi ceThread.java:432)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.se rveDataModification(ClientServ iceThread.java:308)
    at pl.com.ttsoft.vixen.currentday .server.ClientServiceThread.ru n(ClientServiceThread.java:185 )
  • bartkiller

    jak na mój gust, to rura wam pękła w budynku :| trzeba będzie kuć ściany ... :/
  • yarel

    Ja się nie znam i nie wiem czy połączenie sobie wisi i czeka, aż coś zostanie napisane i czy przypadkiem nie ma firewalla gdzieś po drodze, który robi różne sprytne rzeczy.

  • george

    >yarel napisał
    >Ja się nie znam i nie wiem czy połączenie
    >sobie wisi i czeka, aż coś zostanie napisane i czy
    >przypadkiem nie ma firewalla gdzieś po drodze,
    >który robi różne sprytne rzeczy.
    >
    >

    bardzo mozliwe, zapodaj logi wyrzucone przez tcpdump'a z komunikacji. wyjatek malo mowi, "Broken pipe" jest taki dziwny troche (hehe) pojawic sie moze jak widac wszedzie, o ile mi sie zdaje to jakies przekierowanie strumienia sie chrzani ?? - nie jestem w tym zadnym ekspertem, poprostu czasem to zauwazylem jak robilem przekierowanie i wysylalem SIG_TERM pare razy, za drugim mowil mi, a g... "Broken Pipe" i zdaje sie ze mam racje

    http://www.webmasterworld.com/forum...
    http://www.unix.com/archive/index.p...
    http://www.unixguide.net/unix/bash/...

    czyli cos niszczy polaczenie :) (sprawdz tcpdump i console oraz messages)