Weird line number with `.acall()`

#1

Calling server.log() with .acall(), with 2 arguments so that it throws an error:

server.log.acall([server, "a", "b"]);

Logs:

[status] Device connected
[server.error] ERROR: bad parameters to server.log(msg)
[server.error] ERROR:   in unknown :4294967295
[server.error] ERROR:   from main device_code:1
[server.error] ERROR: bad parameters to server.log(msg)
[server.error] ERROR:   in main device_code:1

The device code is only one line, but it seems to report a line number 4294967295. I think I’ve been having some other issues with incorrect line numbers in stack traces, but this is the only one I’ve been able to nail down for sure.

#2

Thanks, I’ve raised an internal bug report.

1 Like
#3

This issue has been replicated and a task scheduled in our backlog to fix it (internal ref #165880185)

1 Like
#4

Thanks @harryreiss. When this gets addressed, can someone let me know what they find? In particular, I’d like to know if it’s a very specific issue with .acall(), or if it might apply in other situations too. As I said, I think I’ve had issues with line numbers in other situations too, but I’ve never been able (/had the time) to reproduce it in a nice way because I’ve been deep in projects with large code bases requiring certain hardware peripherals. It’s possible I was always using .acall() somewhere though, so I’ll let you know if I find any seperate issues going forward.

#5

Sure - I’ve noted this request in the internal ticket.

#6

We fixed an issue with wrong line numbers in release 40 (39.22). That problem was specific to exceptions raised by imp API methods or native delegate functions such as integer.tostring(). In those cases the reported line was either wrong or not available (0xFFFFFFFF).

The value you are seeing for acall is also 0xFFFFFFFF, so it could be related to the previous fix. In the latest impOS version (41.4) it’s still reproducible but now reported as -1.

#7

Awesome, thanks for the quick response and report