MDSplus / mdsplus

The MDSplus data management system
https://mdsplus.org/
Other
72 stars 44 forks source link

Error in create tree for distribute client when the client is an ARM processor #1738

Closed GabrieleManduchi closed 5 years ago

GabrieleManduchi commented 5 years ago

It appears to be a bug in the latest alpha, probably related to endianness (ARM is typically big endian). To replicate this, on an ARM client (e.g a RedPitaya board),

TCL>set tree TCL>create pulse 1

zack-vii commented 5 years ago

So did this work ant any point. I do have red pitaya but non with MDSplus .. yet.

zack-vii commented 5 years ago

On that matter, since you seem to use MDSplus on redpitaya, do you think it would be worth adding a redpitaya to our jenkins

zack-vii commented 5 years ago

memo: configure does not default --prefix to /usr/local/mdsplus as claimed in --help

zack-vii commented 5 years ago

I just compiled on my redpitaya and it works fine

root@rp-f046bb:/git/mdsplus/build# uname -a
Linux rp-f046bb 4.4.0-xilinx #1 SMP PREEMPT Tue Aug 15 15:53:54 CEST 2017 armv7l armv7l armv7l GNU/Linux
root@rp-f046bb:/git/mdsplus/build# cat /boot/version
17.09.12.2
root@rp-f046bb:/git/mdsplus/build# mdstcl
TCL> env test_path=/tmp
TCL> edit test/new
TCL> add node a/usage=signal
TCL> add node b/usage=numeric
TCL> add node c/usage=text
TCL> write
TCL> close
TCL> set tree test
TCL> create pulse 1
TCL> set tree test/shot=1
TCL> show db
000  TEST          shot: 1 [\TEST::TOP]
001  TEST          shot: -1 [\TEST::TOP]

TCL> dir

\TEST::TOP

 :A            :B            :C

Total of 3 nodes.
tfredian commented 5 years ago

Ummmm, the issue title says this a problem with distributed client. Your test is not using distributed client. Gab doesn't specify what the os is on the server where the trees live.

zack-vii commented 5 years ago

ok if i choose a debian server for hosting the files I get

TCL> env test_path=10.44.4.10::/tmp
TCL> edit test/new
TCL> add node a/usage=signal
TCL> write
TCL> close
TCL> set tree test
TCL> create pulse 1
Error message was: %TREE-E-FCREATE, Error creating new file.
mdsdcl: --> failed on line 'create pulse 1'

Is this what you mean by 'it does not work'. I was expecting a crash or something?

zack-vii commented 5 years ago

hmm even after updating i cannot gdb on the redpitayta it segfaults before event starting an executable. I will look into it tomorrow. maybe i can figure out whats wrong by gdb the mdsip process on the server instead. If it is a Little- vs BigEndian issue it likely data put in the info field.

zack-vii commented 5 years ago

Silly me, it still work but the file already exist and was owned by another user.

root@rp-f046bb:~# test_path=10.44.4.10::/tmp mdstcl
TCL> set tree test
TCL> create pulse 9
TCL>

Creating a non existing shot works.

tfredian commented 5 years ago

Perhaps it is some incompatibility in the versions running on the client and server?

GabrieleManduchi commented 5 years ago

Sorry to answer only now......three days on the "ferrate" of the dolomites without internet ......

I get the error in distributed client configuration with the latest alpha on both sides (redpitaya as client and RedHat at the server side). This does not happen with older MDSplus version at the server side. Anyway tomorrow I will look into it.

GabrieleManduchi commented 5 years ago

Ok, hiking on Dolomites helped quite a lot! Latest alpha on both client and server work. I had been misled by a mixture of older versions (at a certain point the incompatibility existed!) and file protection issues. Thanks for the response and sorry for the lost time, I close the issue