strncpy() causes reset

I don't know about running out of memory. How do I tell? When I compile it says Binary Sketch: 18,082 bytes (of a 30,720 byte maximum)

That only reports program (flash) memory - the amount of SRAM used is not reported.
My guess is that you have lots of strings consuming RAM.
But without seeing code, it really is just a guess.