In sh(1), the LINENO variable (currently executed line number) is always zero when it is read as part of a shell arithmetic expression.
$ echo $LINENO $((LINENO)) $(($LINENO))
108 0 108
Expected: 3 times "108" (or whatever the current line number is)
Note that $(($LINENO)) does work because it expands LINENO as a normal shell expansion before invoking the arithmetic subsystem. However, $((LINENO)) should be equivalent as it is for all other variables.
Another manifestation of the bug is:
$ set -u
$ echo $((LINENO))
-sh: arithmetic expression: variable not set: "LINENO"