From: Dominik R. <ra...@vr...> - 2011-12-15 19:50:29
|
Hi When yo say that your interaction isbased on events, do you mean native system events or external message events? If the latter is the case, what is the size of these messages? If they are too big, the tcp stack buffer might be overrun. Not sure if this can produce an EFAULT, however. If you could provide some more information or a code sample, maybe we could try repoducing the issue. Regards Dominik Dipl.-Inform. Dominik Rausch Virtual Reality Group, RWTH Aachen University Lehrstuhl für Informatik 12 (Hochleistungsrechnen) Rechen- und Kommunikationszentrum Seffenter Weg 23, 52074 Aachen Tel. +49 241 80 29732 ra...@vr... www.vr.rwth-aachen.de Am 15.12.2011 19:01, schrieb Mat...@dl...: > > The setup: > Clustermode, 1 Master, 3 Slaves. The connection between the Master and > the Slaves does only rely on the Clustermode, i.e. there is no > self-coded connection between them and no code relating connections at > all. The interaction is based on events and each slave is interpreting > the events hisself (reading values from the SG, doing some > calculations, changing values on the SG). > This works fine and is also in sync. > > The problem: > While using the setup, the Slaves sometimes get a Socket-error and > close their application. This happens independent for each Slave and > also independent of the time or number of events. The master does not > crash in this way at any time. > The errormessage is printed after the Slave has finished his > interpretation of the event (he is not doing his fancy stuff anymore). > The only way to reproduce it is to interact and wait until the problem > occurs. Sometimes it happens fast, sometimes it takes a longer period > of time. > > The error message: > > [EFAULT] The socket structure address is outside the user's > addressspace. > VistaTCPSocket[690df0]::CloseSocket(0) > VistaExceptionBase() -- Exception [258] > =============================================== > IVistaSocket::ReceiveRaw -- Exception > =============================================== > Location: > /research/modules/installs/ViSTA/ViSTA-1.12.0-debug/SETUP/VistaCoreLibs/VistaInterProcComm/IPNet/VistaSocket.cpp > Line: 1085 > =============================================== > > VistaExceptionBase() -- Exception [258] > =============================================== > IVistaSocket::ReceiveRaw -- Exception > =============================================== > Location: > /research/modules/installs/ViSTA/ViSTA-1.12.0-debug/SETUP/VistaCoreLibs/VistaInterProcComm/IPNet/VistaSocket.cpp > Line: 1085 > =============================================== > > > I have already tried removing all the dynamic generated Variables and > replacing them with private members of the class they are in. (avoid > memory leaks or something like this) > -> did not have any result > > > > > > Have you any suggestions to solve this problem? > > Thanks for your help. > > Best regards > Matthias |