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):
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.