Comunicazione PNET da Win64 a Win32
-
11-12-2019 - |
Domanda
Io uso PNET TCP / UDP Toolbox ) insieme a Psychtoolbox per comunicare tra due istanze di Matlab in diverse macchine. Una delle mie macchine è un win7 a 32 bit che esegue Matlab 2010b. L'altro è un win 7 a 64 bit che esegue Matlab 2012a. Ho un problema nel trasferire i dati da un computer all'altro.
Experiment 1 : eseguire l'UDP_SEND_DEMO dal computer a 64 bit mentre si esegue UDP_PLOTTER_DEMO dal computer a 32 bit. Risultato previsto : dati del computer a 32 bit dei dati, attende l'ingresso della tastiera. Se kb input, stretta figura e fine finale. 64 bit finisce inviando e arresta demo. Risultato effettivo : 64 bit si comporta come dovrebbe. Piatti per computer a 32 bit ma si blocca e si rifiuta di chiudere la demo. Non risponde a nessun ingresso della tastiera e deve essere chiusa la forza.
Experiment 2 : eseguire sopra l'esperimento in retromarcia con l'invio a 32 bit e la lettura a 64 bit. Risultato previsto : grafici a 64 bit e attende l'ingresso della tastiera. Se l'ingresso KB trovato, fermata demo. Risultato effettivo Il 64 bit MatLab si schianta rivendicando una violazione di segmentazione nel file MEX. Visualizza una traccia dello stack (sto aggiungendo una parte di esso alla fine).
Giocare con i numeri di porta non fa differenza. Ricompilazione del file sorgente 'PNET.C' invece di usare il Mex Precompilato non fa differenza. Domanda : Qualcuno ha provato qualcosa del genere? L'hai fatto lavorare? Puoi suggerire cose da provare a far funzionare questo senza dover installare 32 bit Matlab nel mio computer Win64?
============
Codice:
.
udp_send_demo('sin(0:0.1:6)',clientIPStr,portToListen)
.
udp_plotter_demo(portToListen)
=============
Stack Trace
.
Segmentation Violazione rilevata a Sat Set 29 16:41:11 2012
Configurazione:
Decodifica crash: disabilitato
Encodificazione predefinita: Windows-1252
Matlab root: c: \ Programmi \ MATLAB \ R2012A
Versione MATLAB: 7.14.0.739 (R2012A)
Sistema operativo: Microsoft Windows 7
ID processore: X86 Famiglia 6 Modello 58 Passaggio 9, Genuinintel
Virtual Machine: Java 1.6.0_17-B04 con Sun Microsystems Inc. Java Hotspot Hotspot (TM) Modalità miscelata Server VM a 64 bit
Sistema di finestre: versione 6.1 (Build 7601: Service Pack 1)
Conteggio degli errori: 1
Terminazione anormale: Violazione di segmentazione
Registra stato (da Guasto): Rax= 0000000000000000 rbx= 0000000000000000
rcx= 000000005d0df7d7 rdx= 0000000000000001
rsp= 00000000040671b0 RBP= 0000000004067289
RSI= 000000000000003D RDI= 000000000000003D
R8= 000000005D0DF7D6 R9= 000050490E40167
R10= 000000000000003D R11= 0000000000000000
R12= 0000000000000008 R13= 000007FEFB997678
R14= 0000000000000002 R15= 0000000000000002
RIP= 000007FEFB99238A EFL= 00010202
cs= 0033 fs= 0053 gs= 002b
Stack Trace (da Guasto):
[0] 0x000007FEFB99238A C: \ Users \ Ephys-data \ Desktop \ temp \ tcp_udp_ip \ pnet.mexw64 + 00009098 (Perror + 004298)
[1] 0x000007FEFB99389B C: \ Users \ Ephys-data \ Desktop \ temp \ tcp_udp_ip \ pnet.mexw64 + 00014491 (Mexfunction + 001979)
[2] 0x0000000074F10f63 c: \ Programmi \ MATLAB \ R2012A \ bin \ win64 \ libmex.dll + 00069475 (mexrunmexfile + 000131)
[3] 0x0000000074F0FCE2 C: \ Programmi \ MATLAB \ R2012A \ bin \ win64 \ libmex.dll + 00064738 (inswapmexfilereader + 000226)
[4] 0x0000000074F0FE58 c: \ Programmi \ Matlab \ R2012A \ bin \ win64 \ libmex.dll + 00065112 (inswapmexfilereader + 000600)
[5] 0x0000000074E4B046 c: \ Programmi \ MATLAB \ R2012A \ bin \ win64 \ m_dispatcher.dll + 00045126 (mfh_file :: dispatch_fh + 000486)
.... più cose ....
Questo errore è stato rilevato mentre un file MEX è stato in esecuzione. Se il file MEX non è una funzione MathWorks ufficiale, esamina il suo codice sorgente per errori. Consultare la Guida alle interfacce esterne per informazioni sui file MEX di debug.
Se questo problema è riproducibile, invia una richiesta di servizio tramite: ....
Un ingegnere di supporto tecnico potrebbe contattarti ulteriori informazioni.
Grazie per il tuo aiuto.
.
Grazie
-b
Soluzione
Ho scritto le persone utili a PsychToolBox.Apparentemente il bug è stato catturato e risolto nella versione "Beta" di Psychtoolbox.Se hai l'ultima e più grande psicchoolbox, esegui UPDATEPSCHTOOLBOX per una buona notte di sonno.Vedi qui