Problem with SD Library and long strings

I am not calling the function myself. It is being called by SD.begin(), I just traced the problem to the ReadData function.
The strings are designed to take up most of the available memory. I have a big sketch with a lot of code that takes up a ton of memory and I want to use the SD Library in it. When I tried to add it, I ran into this problem. Instead of posting that huge sketch, I figured out how to reproduce the problem with just those two strings.

I'm afraid you are not understanding me. If you have an arduino, an ethernet shield, a micro SD card, and the current version of the code (22) handy, give this a shot.

  1. Open the Example Sketch SD >> ReadWrite.
  2. Run the example on your board and open the serial window. Make sure you see the expected output. It should say it opened, wrote, and read the file and print the file contents.
  3. Now add those two really long strings from my original post as global variables at the top of the file (or in the setup function, or in the loop function, it doesn't matter).
  4. Run the example again. Instead of seeing the expected output, my board gets past the first serial.print call, and then resets when SD.begin is called. Since something in the setup function is causing the board to reset itself, I get an infinite loop with the board writing that first line "Initializing SD card..." to the serial window over and over.

I commented out the SD.begin function and the board stopped restarting. So then I opened the SD Library code and started commenting things out. Eventually, I tracked the problem down to the readData function. I can't figure out why that is causing the problem.

My first question is, can someone else reproduce this problem, or is it just me.
If someone can reproduce it, then something is wrong with the library and it needs to be fixed, or at least noted that the library needs a certain amount of memory free before it can be used.