Could not create the Java virtual machine when doing a mail merge

I’m trying to do a mail merge in crm and it’s giving me an error in the scrm log (com.sage.scrm.model.mailmerge.error.MailMergeException: Could not create the Java virtual machine.). The dashboard and exporting to excel works. I've tried restarting the Apache Tomcat service as well as rebooting the server. I don't see any errors in the Event Viewer. I'm just not familiar with troubleshooting this java virtual machine stuff. The one thing I haven't done yet is re-install java. I'm running version 6 update 21. Thanks for your help.
The system log says…
Mar 26 2013 19:33:05.824 2612 4060 4 StartUserAction,User,Action 1 563
Mar 26 2013 19:33:05.855 2612 4060 5 doEndpointPost URL: http://localhost:80/sdata/asrcrmj/$service/mailMerge
Mar 26 2013 19:33:05.855 2612 4060 1 CRMOpenThreadTokenWinVista
Mar 26 2013 19:33:07.197 2612 4060 5 doEndpointPost time-taken: 1342ms. HTTP status code: 200
Mar 26 2013 19:33:07.306 2612 4060 5 doEndpointPost URL: http://localhost:80/sdata/asrcrmj/$service/mailMerge
Mar 26 2013 19:33:07.306 2612 4060 1 CRMOpenThreadTokenWinVista
Mar 26 2013 19:33:07.618 2612 4060 5 doEndpointPost time-taken: 312ms. HTTP status code: 500
Mar 26 2013 19:33:07.618 2612 4060 4 EndUserAction,User,Action,Time 1 563 1794
The scrmlog says...
ERROR: 26-Mar-2013 19:16:10.106 com.sage.scrm.model.mailmerge.error.MailMergeException: Could not create the Java virtual machine.
com.sage.scrm.model.mailmerge.error.MailMergeException: Could not create the Java virtual machine.
at com.sage.scrm.model.store.MailMergeStore.processMergeRequest(MailMergeStore.java:231)
at com.sage.scrm.model.store.MailMergeStore.getData(MailMergeStore.java:108)
at com.sage.scrm.controller.MailMergeController.requestAction(MailMergeController.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:471)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:408)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sage.scrm.controller.util.AbstractSessionRequestFilter.doFilter(AbstractSessionRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sage.scrm.scrmcommons.controller.util.EncodingRequestFilter.doFilter(EncodingRequestFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)