Question

J'utilise le boîte à outils PNET TCP / UDP ), avec psychtoolbox pour communiquer entre deux instances de Matlab dans différentes machines. Une de mes machines est une Win7 de 32 bits Running Matlab 2010b. L'autre est une victoire de 64 bits 7 exécutant Matlab 2012a. J'ai un problème dans le transfert de données d'un ordinateur à l'autre.

Expérience 1 : exécutez l'UDP_SEND_DEMO à partir de l'ordinateur 64 bits lors de l'exécution du UDP_PLOTTER_DEMO à partir de l'ordinateur 32 bits. Résultat attendu : 32 bits Données de parcelle d'ordinateur, attend la saisie du clavier. Si une entrée KB, FIXE FIXE ET END DE DÉMO. 64 bits Finitions Envoi et arrête la démo. résultat réel : 64 bits se comporte comme il se doit. Terrains d'ordinateur 32 bits mais se bloque et refuse de fermer la démo. Il ne répond à aucune entrée clavier et doit être fermé fermé.

Expérience 2 : Exécutez au-dessus de l'expérience en sens inverse avec l'envoi de 32 bits et une lecture de 64 bits. résultat attendu : 64 bits et attend la saisie du clavier. Si une entrée de KB trouvée, arrêtez la démo. résultat réel les crashs MATLAB 64 bits réclamant une violation de la segmentation dans le fichier MEX. Il affiche une trace de pile (je l'appelle une partie à la fin).

Jouer avec les numéros de port ne fait aucune différence. Recompilez le fichier source 'pnet.c' au lieu d'utiliser le MEX précompilé ne fait aucune différence. Question : Quelqu'un a-t-il essayé quelque chose comme ça? Avez-vous eu le travail? Pouvez-vous suggérer des choses à essayer de faire fonctionner cela sans avoir à installer 32 bits Matlab dans mon ordinateur Win64?

============

code:

côté serveur:

udp_send_demo('sin(0:0.1:6)',clientIPStr,portToListen)

côté client:

udp_plotter_demo(portToListen)

=============

trace de pile


Violation de segmentation détectée au SAT 29 16:41:11 2012

Configuration:

Décodage de crash: désactivé

codage par défaut: Windows-1252

racine MATLAB: C: \ Program Files \ MATLAB \ R2012A

Version matlab: 7.14.0.739 (R2012A)

Système d'exploitation: Microsoft Windows 7

Identifiant du processeur: X86 Famille 6 Modèle 58 Étape 9, VéritableTel

Machine virtuelle: Java 1.6.0_17-B04 avec Sun Microsystems Inc. Java Hotspot (TM) Mode mixte de serveur 64 bits

Système de fenêtre: version 6.1 (Build 7601: Service Pack 1)

Nombre de défaut: 1

terminaison anormale: Violation de la segmentation

Enregistrer l'état (de la faute): RAX= 000000000000000000 RBX= 000000000000000000

RCX= 00000000005D0DF7D7 RDX= 0000000000000001

RSP= 00000000040671B0 RBP= 0000000004067289

RSI= 000000000000003D RDI= 000000000000003D

r8= 000000005d0df7d6 r9= 000050490ee40167

r10= 000000000000003D R11= 000000000000000000

R12= 000000000000000008 R13= 000007FEFB997678

r14= 000000000000000002 R15= 000000000000000002

RIP= 000007FEFB99238A EFL= 00010202

cs= 0033 fs= 0053 gs= 002b

trace de pile (de la faute):

[0] 0x000007FEFFB99238A C: \ Utilisateurs \ EPHYS-DATA \ Desktop \ TCP_UDP_IP \ PNET.MEXW64 + 00009098 (PERROR + 004298)

[1] 0x000007FEFB99389OB C: \ Utilisateurs \ EPLY-DATA \ Desktop \ TCP_UDP_UDP_IP \ PNET.MEXW64 + 00014491 (MexFunction + 001979)

[2] 0x0000000074F10F63 C: \ Fichiers de programme \ MATLAB \ R2012A \ bin \ win64 \ libmex.dll + 00069475 (Mexrunmexfile + 000131)

[3] 0x0000000074F0FCE2 C: \ Fichiers de programme \ MATLAB \ R2012A \ BIN \ WIN64 \ LIBMEX.DLL + 00064738 (INSWAPMEXFilerReader + 000226)

[4] 0x0000000074F0FE58 C: \ Fichiers de programme \ MATLAB \ R2012A \ BIN \ WIN64 \ LIBMEX.DLL + 00065112 (INSWAPMEXFilerReader + 000600)

[5] 0x0000000074E4B046 C: \ Fichiers de programme \ Matlab \ r2012a \ bin \ win64 \ m_dispatcher.dll + 00045126 (MFH_File :: DisPatch_fh + 000486)

.... plus de choses ....

Cette erreur a été détectée pendant que un fichier MEX était en cours d'exécution. Si le fichier MEX n'est pas une fonction de mathworks officielle, veuillez examiner son code source pour les erreurs. Veuillez consulter le Guide d'interfaces externe pour obtenir des informations sur le débogage des fichiers MEX.

Si ce problème est reproductible, veuillez soumettre une demande de service via: ....

Un ingénieur de support technique peut vous contacter avec d'autres informations.

Merci pour votre aide.


merci

-b

Était-ce utile?

La solution

J'ai écrit les gens utiles à psychtoolbox.Apparemment, le bogue a été attrapé et résolu dans la version «bêta» de psychtoolbox.Si vous avez le plus grand et le plus grand psychtoolbox, exécutez UpdatepsychToolbox pour une bonne nuit de sommeil.Voir ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top