I believe elog sequence number is overflowing in Robot Web Services.
If you create a new virtual controller in Robotstudio using default settings and Robotware 6.13.02, then run the following Rapid code to fill the event log:
MODULE reproduce_mod
PROC reproduce()
log_first_message;
log_many_messages;
log_final_message;
Stop;
ENDPROC
PROC log_first_message()
ErrWrite \I, "First message", "This is the first message";
ENDPROC
PROC log_many_messages()
FOR idx FROM 1 TO 65599 DO
ErrWrite \I, "Message number " + ValToStr(idx), "This is message number:", \RL2:=ValToStr(idx);
ENDFOR
ENDPROC
PROC log_final_message()
ErrWrite \I, "Final message", "This is the final message, that can not be accessed";
ENDPROC
ENDMODULE
The message is visible in Robotstudio with the correct sequence number:
I can access all messages in elog domain 0 using the command:
curl --digest -u "Default User":robotics "http://localhost/rw/elog/0"
which returns:
Note the link is “/rw/elog/0/87”, where I would expect “/rw/elog/0/65622”. Also 65622 - (2^16 - 1) = 87.
The command
curl --digest -u "Default User":robotics "http://localhost/rw/elog/0/87"
returns nothing (no errors, just an empty result without even an XML structure, which I can’t explain).
The command
curl --digest -u "Default User":robotics "http://localhost/rw/elog/0/65622"
does return the final message.
This is a problem for us, because in a production environment we need to use “/rw/elog/0” to index the error log messages, we won’t have the prior knowledge that the message we need is at sequence number 65622.

