Well one common reason for not getting line/file info is that the command is called from a timer. To check what timers are running and what commands they're using put this in your Remotes (Alt+R):
Code:
alias checktimers {
  var %i = $timer(1), %t = $timer(0)
  while %i <= %t {
    echo -ca info Timer $timer(%i) - $+(,$timer(%i).com,)
    inc %i
  }
  if (!%i) echo -ca info No timers running
}

Then just use /checktimers and see if any timers are running which use $read().

Another reason for no line/file info is if the command was used inside $findfile() or $finddir(), so you might want to check for $read() being used somewhere as the last parameter of either of those identifiers.