Cannot set breakpoints if CWD is on a read-only FS
Something underneath the breakpoint mechanic appears to create a file called .coverage, and if this fails, the breakpoint cannot be set.
The file does not seem to actually be required, though: by editing the code to skip it, I am able to set breakpoints successfully. So, the creation of the file ought to be optional; failure to create it should probably not be fatal.
I am not aware of anything in the code I wrote that does this. However the debugger uses pyficache and that uses Ned Batchelder's coverage in order to figure out which line numbers are stoppable.
I also think this is a recent thing since I've not encountered it in the past.
So if you are up to it, perhaps you can look at coverage to see under what conditions it creates a .coverage file and how that can be ignored/avoided.
The fix would probably be in the pyficache project.
Yes, the issue appears to be in the way pyficache calls coverage.. I'm trying to figure out if there's a config that can be set in trepan3k to avoid the issue. If not, I'll try contacting those maintainers.
For now, in case anyone needs it, my workaround is to manually set data_file to None here: https://github.com/nedbat/coveragepy/blob/fd43e3509f559c55b61f92dacbd524cd42941b06/coverage/control.py#L182
I've revised pyficache so it no longer uses coverage. Release 1.0.1 I believe will no longer create the .coverage directory.