fermi-ad / controls

Central repo for reporting bugs, making feature requests, managing RFCs, and requesting seminar topics.
https://www-bd.fnal.gov/controls/
2 stars 0 forks source link

Snapshot plots on Erlang 26.1 generate ACNET errors on plots and produces stack trace on server #55

Open kengell opened 9 months ago

kengell commented 9 months ago

Erlang base FEs have trouble w/ Snapshot plots. Plot will eventually display ACNET 1-49 errors and stop updating. Also, on the CLX node we find a stack trace in the log.

Image

kengell commented 9 months ago

Stacktrace on server.

=WARNING` REPORT==== 27-Feb-2024::10:32:10.146329 ===
FTP snap_main <0.238959.0>: terminated with throw exception -- 
{unhandled_message,
   {'EXIT', <0.238960.0>, 
{badarg, [{binary, part, [[],0,0], [{error_info, #{module => erl_stdlib_errors}}]},
{plt, send_pnts,         7, [{file,  "plt.erl"}, {line, 597}]},
{plt, get_snap_data, 2, [{file, "plt.erl"}, {line, 572}]}]}}}.

[{plt,snapPltTask_loop,6,[{file,"plt.erl"},{line,1017}]},
 {plt,snap_main,3,[{file,"plt.erl"},{line,909}]}]
kengell commented 9 months ago

Snapshot plot w/ errors

Image

kengell commented 9 months ago

Testing new plt.beam/plt.erl code on clx73 (a 'test' node).

New Stacktrace is:

=WARNING REPORT==== 6-Mar-2024::10:41:27.861726 === retrieving 1410 bytes starting at pnt 1205 =ERROR REPORT==== 6-Mar-2024::10:41:27.917659 === Error in process <0.467.0> on node clx73@clx73 with exit value: {badarg,[{binary,part,[[],0,0],[{error_info,#{module => erl_stdlib_errors}}]}, {plt,send_pnts,7,[{file,"plt.erl"},{line,596}]}, {plt,get_snap_data,2,[{file,"plt.erl"},{line,572}]}]}

=WARNING REPORT==== 6-Mar-2024::10:41:27.917750 === FTP snap_main <0.466.0>: terminated with throw exception -- {unhandled_message, {'EXIT', <0.467.0>, {badarg, [{binary,part, [[],0,0], [{error_info,

{module =>

                                                                  erl_stdlib_errors}}]},
                                                            {plt,
                                                             send_pnts,7,
                                                             [{file,
                                                               "plt.erl"},
                                                              {line,596}]},
                                                            {plt,
                                                             get_snap_data,
                                                             2,
                                                             [{file,
                                                               "plt.erl"},
                                                              {line,
                                                               572}]}]}}}.

[{plt,snapPltTask_loop,6,[{file,"plt.erl"},{line,1015}]}, {plt,snap_main,3,[{file,"plt.erl"},{line,907}]}]

kengell commented 9 months ago

It appears that bad data is being passed into the _sendpnts function w/in the module plt.erl

printing inputs to _sendpnts yields:

Flag 0, def_size 4, num_pts 241, start 0, has_ts 2 Flag 0, def_size 4, num_pts 241, start 241, has_ts 2 Flag 0, def_size 4, num_pts 241, start 482, has_ts 2 Flag 0, def_size 4, num_pts 241, start 723, has_ts 2 Flag 0, def_size 4, num_pts 241, start 964, has_ts 2 Flag 0, def_size 4, num_pts 235, start 1205, has_ts 2 Flag 0, def_size 4, num_pts 0, start 0, has_ts 2

Passing the number of points (nPnts) = 0 is causing a problem.

FTP snap_main <0.450.0>: terminated with throw exception -- {unhandled_message, {'EXIT', <0.451.0>, {badarg, [{binary,part, [[],0,0], [{error_info,

{module =>

                                                                  erl_stdlib_errors}}]},
                                                            {plt,
                                                             send_pnts,7,
                                                             [{file,
                                                               "plt.erl"},
                                                              {line,599}]},
                                                            {plt,
                                                             get_snap_data,
                                                             2,
                                                             [{file,
                                                               "plt.erl"},
                                                              {line,
                                                               572}]}]}}}.

[{plt,snapPltTask_loop,6,[{file,"plt.erl"},{line,1019}]}, {plt,snap_main,3,[{file,"plt.erl"},{line,911}]}]

kengell commented 8 months ago

This bug has been fixed and tested on CLX73E and waits further testing by users.

Git commit/push is:

commit db1924ee3a836d6c6ea2a30e4bc426d8e403af7b (HEAD -> master, origin/master, origin/HEAD) Author: Keith Engell kengell@fnal.gov Date: Mon Mar 18 15:13:43 2024 -0500