I got the following error when trying to save this document in the Rich Text Editor:
      http://confluence.atlassian.com/display/CROWD/5.+Installing+Crowd+as+a+Windows+Service

      Was unable to switch to Wiki Markup (i.e. no response when I click the tab).
      ==============================================================================

      CONFLUENCE
      System Error
      A system error has occurred - our apologies!
      
      Please contact your Confluence administrator to create a support issue on our support system at http://support.atlassian.com with the following information:
      
         1. a description of your problem and what you were doing at the time it occurred
         2. cut & paste the error and system information found below
         3. attach the application server log file (if possible). 
      
      We will respond as promptly as possible.
      Thank you!
      
      Cause:
      org.w3c.dom.DOMException: DOM002 Illegal character
       at org.apache.xerces.dom.CoreDocumentImpl.createAttribute(Unknown Source)
      
      Stack Trace: [hide]
      
      org.w3c.dom.DOMException: DOM002 Illegal character
      	at org.apache.xerces.dom.CoreDocumentImpl.createAttribute(Unknown Source)
      	at org.apache.html.dom.HTMLDocumentImpl.createAttribute(Unknown Source)
      	at org.apache.xerces.dom.ElementImpl.setAttribute(Unknown Source)
      	at org.cyberneko.html.parsers.DOMFragmentParser.startElement(DOMFragmentParser.java:431)
      	at org.cyberneko.html.parsers.DOMFragmentParser.emptyElement(DOMFragmentParser.java:440)
      	at org.cyberneko.html.filters.DefaultFilter.emptyElement(DefaultFilter.java:187)
      	at org.cyberneko.html.filters.NamespaceBinder.emptyElement(NamespaceBinder.java:325)
      	at org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:629)
      	at org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2407)
      	at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1881)
      	at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:809)
      	at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:478)
      	at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:431)
      	at org.cyberneko.html.parsers.DOMFragmentParser.parse(DOMFragmentParser.java:164)
      	at com.atlassian.renderer.wysiwyg.DefaultWysiwygConverter.convertXHtmlToWikiMarkup(DefaultWysiwygConverter.java:947)
      	at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:68)
      	at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:63)
      	at sun.reflect.GeneratedMethodAccessor603.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:585)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
      	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
      	at $Proxy39.convertXHtmlToWikiMarkup(Unknown Source)
      	at com.atlassian.confluence.pages.actions.AbstractCreateAndEditPageAction.validate(AbstractCreateAndEditPageAction.java:96)
      	at com.atlassian.confluence.pages.actions.EditPageAction.validate(EditPageAction.java:40)
      	at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:44)
      	at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:39)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:16)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.util.LoggingContextInterceptor.intercept(LoggingContextInterceptor.java:48)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:47)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:114)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:67)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:39)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:98)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
      	at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
      	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
      	at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
      	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
      	at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:137)
      	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:54)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:46)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:44)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:159)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
      	at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:140)
      	at com.atlassian.core.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:25)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:53)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
      	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
      	at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
      	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
      	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
      	at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
      	at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
      	at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
      	at java.lang.Thread.run(Thread.java:595)
      
      Referer URL: http://confluence.atlassian.com/pages/editpage.action?pageId=82870454
      
      Build Information:
      confluence.home: /opt/j2ee/domains/atlassian.com/confluence/webapps/atlassian-confluence/data
      system.uptime: 2 days, 15 hours, 7 minutes, 24 seconds
      system.version: 2.6.0-rc2
      build.number: 909
      
      Server Information:
      Application Server: Resin/3.0.23
      Servlet Version: 2.4
      Database Dialect: net.sf.hibernate.dialect.PostgreSQLDialect
      Database Driver Name: N/A
      Database Driver Version: N/A
      
      Memory Information:
      total.memory: 1012 MB
      free.memory: 299 MB
      used.memory: 713 MB
      
      System Information:
      system.date: Sunday, 16 Sep 2007
      system.time: 21:13:39
      system.favourite.colour: Ecru
      java.version: 1.5.0_11
      java.vendor: Sun Microsystems Inc.
      jvm.version: 1.0
      jvm.vendor: Sun Microsystems Inc.
      jvm.implementation.version: 1.5.0_11-b03
      java.runtime: Java(TM) 2 Runtime Environment, Standard Edition
      java.vm: Java HotSpot(TM) 64-Bit Server VM
      user.name.word: j2ee
      user.timezone: America/Chicago
      operating.system: Linux 2.6.9-55.ELsmp
      os.architecture: amd64
      fs.encoding: ANSI_X3.4-1968
      
      Cluster Information:
      Not clustered.
      
      Enabled Plugins:
      WAP Plugin (org.randombits.confluence.wap, Version: 1.0)
      SVG Image Macros (revere.confluence.svgimage, Version: 1.0)
      Redirection Plugin (net.customware.confluence.plugin.redirection, Version: 2.3)
      Linking Plugin (net.customware.confluence.plugin.linking, Version: 2.4.1)
      Basic Macros (confluence.macros.basic, Version: 1.3)
      Fisheye Plugin (com.atlassian.confluence.extra.fisheye-plugin, Version: 0.2)
      Gliffy Plugin (com.gliffy.integration.confluence, Version: 1.3.4)
      Adaptavist Advanced Search (com.adaptavist.confluence.advancedSearch, Version: 1.0.4)
      Chart Plugin (confluence.extra.chart, Version: 1.8)
      User Listener (confluence.extra.userlister, Version: 2.0)
      Global Labels Sections (confluence.sections.labels, Version: 1.0)
      Information Macros (confluence.extra.information, Version: 1.0)
      Pagetree Search (com.atlassian.confluence.plugins.pagetreesearch, Version: 1.0)
      Page Operations (confluence.sections.page.operations, Version: 1.0)
      Adaptavist SubSection (com.adaptavist.confluence.subsection, Version: 1.0.4)
      Zen Foundation (com.stepstonetech.confluence.zenfoundation, Version: 2.0.2)
      Profile Tabs (confluence.sections.profile, Version: 1.0)
      Confluence Remote API (confluence.extra.confluencerpc, Version: 2.6.0-rc2)
      French language pack (confluence.languages.fr_FR, Version: 1.5)
      Core Startup and Shutdown (confluence.lifecycle.core, Version: 1)
      Admin Sections (confluence.sections.admin, Version: 1.0)
      OPML Plugin (au.edu.cci.confluence.opml, Version: 1.2.1)
      Table of Contents Plugin (org.randombits.confluence.toc, Version: 2.4.1)
      Confluence Feedburner Plugin (com.atlassian.confluence.plugin.feedburner.confluence-feedburner-plugin, Version: confluence26-1.0)
      TinyMCE Editor Plugin (com.atlassian.confluence.extra.tinymceplugin, Version: 2.2)
      Space Pages Sections (confluence.sections.space.pages, Version: 1.0)
      Voting Macros (com.nearinfinity.confluence.macros.vote, Version: 1.2)
      Confluence Classic Theme (com.atlassian.confluence.themes.classic, Version: 1.3)
      YourKit Profiling Plugin (com.atlassian.confluence.ext.yourkit, Version: 0.2)
      News Tabs (confluence.sections.news, Version: 1.0)
      Space Advanced Sections (confluence.sections.space.advanced, Version: 1.0)
      Confluence Contributors Plugin (com.atlassian.confluence.contributors, Version: 1.1)
      Attachments Macros (confluence.extra.attachments, Version: 2.7)
      Include Random Macro (com.macadamian.confluence.macros.includerandom, Version: 2.1.2)
      Basic Calendar Macros (com.goodbers.confluence.calendar, Version: 1.0)
      Adaptavist Content Formatting Macros (com.adaptavist.confluence.contentFormattingMacros, Version: 1.6.5)
      Space Actions Sections (confluence.sections.space.actions, Version: 1.0)
      Task List Macros (confluence.extra.tasklist, Version: 1.3)
      New Code Macro (confluence.ext.code, Version: 1.0.2)
      Space Labels Sections (confluence.sections.space.labels, Version: 1.0)
      Page Menus Sections (confluence.pages.menus, Version: 1.0)
      Dynamic Task List Macros (confluence.extra.dynamictasklist, Version: 1.5)
      Web Sharing Plugin (com.atlassian.confluence.ext.websharing, Version: 0.2)
      Core Extractors (confluence.extractors.core, Version: 1.4)
      Composition Plugin (org.randombits.confluence.composition, Version: 2.2)
      Confluence Repository Macros (confluence.repository.macros, Version: 1.2.4)
      Compatibility Macros (confluence.macros.compatibility, Version: 1.3)
      Page Tabs (confluence.sections.page, Version: 1.0)
      Page Tree (bnpparibas.confluence.pagetree, Version: 1.3)
      Core Listeners (confluence.listeners.core, Version: 1.3)
      Linking Plugin (org.randombits.confluence.linking, Version: 2.2.0)
      Dashboard Macros (confluence.macros.dashboard, Version: 1.3)
      Near Infinity Survey Macros (com.nearinfinity.confluence.macros, Version: 1.0)
      Live Search Macros (confluence.extra.livesearch, Version: 2.6)
      Reporting Plugin (net.customware.confluence.plugin.reporting, Version: 1.3.2)
      Page View Links (confluence.sections.page.actions, Version: 1.0)
      Metadata Plugin (com.pantero.confluence.plugins.metadata, Version: 1.6)
      JIRA Macros (confluence.extra.jira, Version: 2.0)
      Clickr Theme (com.atlassian.confluence.themes.clickr, Version: 1.3)
      Layout Macros (confluence.extra.layout, Version: 1.0)
      Doppler Theme (com.atlassian.confluence.theme.bamboo, Version: 0.9)
      German language pack (confluence.languages.de_DE, Version: 1.1)
      Copy Space Plugin (com.atlassian.confluence.plugin.copyspace, Version: 0.0.10)
      Excel Plugin (org.swift.confluence.excel, Version: 3.3.0)
      Slideshow (com.atlassian.confluence.extra.slideshow, Version: 1.0)
      Global Statistics Plugin (confluence.extra.globalstats, Version: 1.0)
      Tabular Metadata (confluence.extra.masterdetail, Version: 2.7)
      Google Maps (com.atlassian.confluence.ext.gmaps, Version: 0.4.1)
      Space Admin Sections (confluence.sections.space.admin, Version: 1.0)
      Cache Plugin (org.swift.confluence.cache, Version: 3.1.0)
      Atlassian Plugin Repository (confluence.repository.client, Version: 2.0.8)
      IM Presence NG Plugin (confluence.extra.impresence2, Version: 2.0-rc3)
      Advanced Macros (confluence.macros.advanced, Version: 1.3)
      Atlassian Proxy Statistics (com.atlassian.ext.proxystat, Version: 2.0.4)
      Slideshow Plugin (com.atlassian.confluence.ext.slideshow, Version: 0.3)
      Edit Profile Sections (confluence.sections.profile.edit, Version: 1.0)
      Social Bookmarking Plugin (com.atlassian.confluence.plugins.socialbookmarking, Version: 1.0.5)
      Attachment Extractors (confluence.extractors.attachments, Version: 1.4)
      Left Navigation Theme (com.atlassian.confluence.themes.leftnavigation, Version: 1.5.1)
      RSVP Plugin (com.atlassian.confluence.extra.rsvp, Version: 1.1)
      Table Plugin (org.swift.confluence.table, Version: 3.3.1)
      BloggingRPC (com.atlassian.confluence.plugins.xmlrpc.bloggingrpc, Version: 1.2.2)
      Space Item Tabs (confluence.sections.space, Version: 1.0)
      Code Macro (confluence.macros.code, Version: 1.4)
      Dynamic Table Macros (revere.confluence.dynamictable, Version: 1.0)
      Request
      
      Information:
      URL: http://j2ee.confluence.atlassian.com:8080/500page.jsp
      - Scheme: http
      - Server: j2ee.confluence.atlassian.com
      - Port: 8080
      - URI: /500page.jsp
      - - Context Path:
      - - Servlet Path: /500page.jsp
      - - Path Info: null
      - - Query String: pageId=82870454
      
      Attributes:
      - webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@3a9a0ac7
      - javax.servlet.error.message : DOM002 Illegal character
      - sessioninview.FILTERED : true
      - com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
      - javax.servlet.error.exception : org.w3c.dom.DOMException: DOM002 Illegal character
      - javax.servlet.forward.servlet_path : /pages/doeditpage.action
      - os_securityfilter_already_filtered : true
      - caucho.forward : true
      - com.atlassian.core.filters.gzip.GzipFilter_already_filtered : true
      - javax.servlet.jsp.jspException : org.w3c.dom.DOMException: DOM002 Illegal character
      - __sitemesh__filterapplied : true
      - javax.servlet.forward.request_uri : /pages/doeditpage.action
      - javax.servlet.error.status_code : 500
      - javax.servlet.forward.query_string : pageId=82870454
      - javax.servlet.error.request_uri : /pages/doeditpage.action
      - atlassian.core.seraph.original.url : /pages/doeditpage.action?pageId=82870454
      - loginfilter.already.filtered : true
      - javax.servlet.forward.context_path :
      
      Parameters:
      - confirm = Save
      - pagePermissionTypeRadio = view
      - labelsShowing = false
      - originalVersion = 11
      - parentPageString = Installing Crowd
      - pageId = 82870454
      - wysiwygcontent = <p>For long-term use, you should configure Crowd to restart automatically when the 
      operating system restarts. For Windows servers, this means configuring Crowd to run as a Windows 
      service.</p> <p>Running Crowd as a Windows service has other advantages. When Crowd is started manually, 
      a console window opens - there is a risk that someone may accidentally shut down Crowd by closing the 
      window. Also, the Crowd logs are properly managed by the Windows service (reliably found in 
      <tt>\atlassian-crowd.log</tt> in the root Crowd directory), and rotated by file size.</p> <h3><a class="" 
      name="5.InstallingCrowdasaWindowsService-InstallingCrowdasaWindowsService"></a>Installing Crowd as a 
      Windows Service</h3> <ol> <li>Open a DOS prompt.</li> <li>'cd' to your Crowd directory, and then the Tomcat 
      <tt>bin\}} subdirectory, e.g. {{\{CROWD_INSTALL\}\apache-tomcat-5.5.20\bin</tt></li> <li>If a directory in the 
      path has spaces (e.g. <tt>C:\Program Files\..</tt>), please convert it to its eight-character equivalent (e.g. 
      <tt>c:\Progra~1\..</tt>).</li> <li>Ensure the JAVA_HOME variable is set to the JDK base directory. Use 
      <tt>echo %JAVA_HOME%</tt> to confirm this.</li> <li>Run the following command: <div class="macro" 
      macrotext="{code}" command="code"><div class="code panel" style="border-width: 1px;"><div 
      class="codeContent panelContent"> <pre class="code-java">service.bat install Crowd</pre> 
      </div></div></div><p><br clear="all"> <i><u>Screenshot: Installing Crowd as a Windows Service</u></i><br> 
      &nbsp;<br> <img src="/download/attachments/82870454/InstallCrowdWindowsService.png" style="border-color: 
      gray; border-width: 1pt;" imagetext="InstallCrowdWindowsService.png|style=" border-width:="" 1pt;="" 
      border-color:="" gray="" align="absmiddle" border="0"><br clear="all"> <br clear="all"> Crowd should now have 
      been installed as a service, and will be visible in the Windows Services console.<br> <i><u>Screenshot: 
      Windows Services Console</u></i><br> &nbsp;<br> <img 
      src="/download/attachments/82870454/CrowdAsWindowsService.png" style="border-color: gray; border-width: 
      1pt;" imagetext="CrowdAsWindowsService.png|style=" border-width:="" 1pt;="" border-color:="" gray="" 
      align="absmiddle" border="0"><br clear="all"></p></li> <li>Run the following command, to have the Crowd 
      service start automatically when the server starts: <div class="macro" macrotext="{code}" 
      command="code"><div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
       <pre class="code-java">tomcat5 <span class="code-comment">//US//Crowd --Startup auto</span></pre> 
      </div></div></div><p>The Crowd service will automatically start up the next time the server reboots. </p> <div 
      class="wikisrc"> {info}</div> <ul> <li>You can manually start the Crowd service with the command <tt>net start
       Crowd</tt>, and stop it with <tt>net stop Crowd</tt>.</li> <li>To see what parameters the Crowd service is 
      starting with, go to <b>Start -&gt; Run</b> and run <tt>regedt32.exe</tt>. There should be an entry at 
      <tt>HKEY_LOCAL_MACHINE -&gt; SOFTWARE -&gt; Apache Software Foundation -&gt; Procrun 2.0 -&gt; 
      Crowd</tt>.</li> </ul> <div class="wikisrc"> {info}</div><p class="atl_conf_pad"> </p></li> </ol> <h3><a 
      class="" name="5.InstallingCrowdasaWindowsService-AdditionalCrowdSetupOptions(Optional)"></a>Additional 
      Crowd Setup Options (Optional)</h3> <ul> <li>To increase the maximum memory Crowd can use (the default 
      will already be 256MB), run: <div class="macro" macrotext="{code}" command="code"><div class="code panel"
      style="border-width: 1px;"><div class="codeContent panelContent"> <pre class="code-java">tomcat5 <span 
      class="code-comment">//US//Crowd --JvmMx 512</span></pre> </div></div></div><p 
      class="atl_conf_pad"> </p></li> <li>If you are running Crowd with JIRA and/or Confluence in the same JVM, 
      increase the MaxPermSize to 512 MB: <div class="macro" macrotext="{code}" command="code"><div 
      class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> <pre 
      class="code-java">tomcat5 <span class="code-comment">//US//Crowd ++JvmOptions=<span 
      class="code-quote">"-XX:MaxPermSize=512m"</span></span></pre> </div></div></div><p 
      class="atl_conf_pad"> </p></li> <li>Occasionally, it may be useful to view Crowd's Garbage Collection 
      information. This is especially true when investigating memory issues. <ul> <li>To turn on the Verbose GC 
      (garbage collection) logging, execute the following command in the command prompt <div class="macro" 
      macrotext="{code}" command="code"><div class="code panel" style="border-width: 1px;"><div 
      class="codeContent panelContent"> <pre class="code-java">tomcat5 <span 
      class="code-comment">//US//Crowd ++JvmOptions=<span 
      class="code-quote">"-Xloggc:path\to\logs\atlassian-gc.log"</span></span></pre> </div></div></div><p 
      class="atl_conf_pad"> </p></li> <li>The path (denoted by \path\to) refers to the directory in which Crowd is 
      currently installed. For example: <div class="macro" macrotext="{code}" command="code"><div class="code 
      panel" style="border-width: 1px;"><div class="codeContent panelContent"> <pre class="code-java">tomcat5 
      <span class="code-comment">//US//Crowd ++JvmOptions=<span 
      class="code-quote">"-Xloggc:c:\crowdinstall\logs\atlassian-gc.log"</span></span></pre> 
      </div></div></div><p><br clear="all"></p> <div class="wikisrc"> {info}</div> <p>Refer to the <a 
      href="http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html" rel="nofollow" linktype="raw" 
      linktext="Tomcat documentation|http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html">Tomcat 
      documentation</a>  for further service options.</p><div class="wikisrc"> {info}</div><p 
      class="atl_conf_pad"> </p></li> </ul> </li> </ul> <h3><a class="" 
      name="5.InstallingCrowdasaWindowsService-RelatedTopics"></a>Related Topics</h3> <p>&nbsp;</p><div 
      class="macro">{children:page=5. Installing Crowd as a Windows Service|all=true}</div><p 
      class="atl_conf_pad"> </p><br clear="all"><p>&nbsp;</p> 
      - editPermissionsUsers =
      - editPermissionsGroups =
      - locationShowing = true
      - viewPermissionsGroups =
      - sel1 =
      - sel2 =
      - title = 5. Installing Crowd as a Windows Service
      - restrictionsShowing = false
      - commaDelimitedEntityNames =
      - xhtml = true
      - mode = richtext
      - inPreview = false
      - versionComment =
      - selectedText =
      - viewPermissionsUsers =
      - originalContent = For long-term use, you should configure Crowd to restart automatically when the operating 
      system restarts. For Windows servers, this means configuring Crowd to run as a Windows service. Running 
      Crowd as a Windows service has other advantages. When Crowd is started manually, a console window opens - 
      there is a risk that someone may accidentally shut down Crowd by closing the window. Also, the Crowd logs are 
      properly managed by the Windows service (reliably found in {{\atlassian-crowd.log}} in the root Crowd directory, 
      and rotated by file size). h3. Installing Crowd as a Windows Service # Open a DOS prompt. # 'cd' to your Crowd 
      directory, and then the Tomcat {{bin\}} subdirectory, e.g. {{\{CROWD_INSTALL\}\apache-tomcat-5.5.20\bin}} # If a
       directory in the path has spaces (e.g. {{C:\Program Files\..}}), please convert it to its eight-character equivalent 
      (e.g. {{c:\Progra~1\..}}). # Ensure the JAVA_HOME variable is set to the JDK base directory. Use {{echo 
      %JAVA_HOME%}} to confirm this. # Run the following command: {code} service.bat install Crowd {code} \\ 
      _{+}Screenshot: Installing Crowd as a Windows Service+_ &nbsp; 
      !InstallCrowdWindowsService.png|style="border-width: 1pt; border-color: gray"!\\ \\ Crowd should now have been 
      installed as a service, and will be visible in the Windows Services console. _{+}Screenshot: Windows Services 
      Console+_ &nbsp; !CrowdAsWindowsService.png|style="border-width: 1pt; border-color: gray"!\\ # Run the 
      following command, to have the Crowd service start automatically when the server starts: {code} tomcat5 
      //US//Crowd --Startup auto {code} The Crowd service will automatically start up the next time the server reboots. 
      {info} * You can manually start the Crowd service with the command {{net start Crowd}}, and stop it with {{net 
      stop Crowd}}. * To see what parameters the Crowd service is starting with, go to *Start -> Run* and run 
      {{regedt32.exe}}. There should be an entry at {{HKEY_LOCAL_MACHINE -> SOFTWARE -> Apache Software 
      Foundation -> Procrun 2.0 -> Crowd}}. {info} h3. Additional Crowd Setup Options (Optional) * To increase the 
      maximum memory Crowd can use (the default will already be 256MB), run: {code} tomcat5 //US//Crowd --JvmMx
       512 {code} * If you are running Crowd with JIRA and/or Confluence in the same JVM, increase the 
      MaxPermSize to 512 MB: {code} tomcat5 //US//Crowd ++JvmOptions="-XX:MaxPermSize=512m" {code} * 
      Occasionally, it may be useful to view Crowd's Garbage Collection information. This is especially true when 
      investigating memory issues. ** To turn on the Verbose GC (garbage collection) logging, execute the following 
      command in the command prompt {code} tomcat5 //US//Crowd 
      ++JvmOptions="-Xloggc:path\to\logs\atlassian-gc.log" {code} ** The path (denoted by \path\to\) refers to the 
      directory in which Crowd is currently installed. For example: {code} tomcat5 //US//Crowd 
      ++JvmOptions="-Xloggc:c:\crowdinstall\logs\atlassian-gc.log" {code} \\ {info} Refer to the [Tomcat 
      documentation|http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html] for further service options. 
      {info} h3. Related Topics {children:page=5. Installing Crowd as a Windows Service|all=true}\\
      - labelsString =
      - newSpaceKey = CROWD
      - content = For long-term use, you should configure Crowd to restart automatically when the operating system 
      restarts. For Windows servers, this means configuring Crowd to run as a Windows service. Running Crowd as a 
      Windows service has other advantages. When Crowd is started manually, a console window opens - there is a 
      risk that someone may accidentally shut down Crowd by closing the window. Also, the Crowd logs are properly 
      managed by the Windows service (reliably found in {{\atlassian-crowd.log}} in the root Crowd directory, and 
      rotated by file size). h3. Installing Crowd as a Windows Service # Open a DOS prompt. # 'cd' to your Crowd 
      directory, and then the Tomcat {{bin\}} subdirectory, e.g. {{\{CROWD_INSTALL\}\apache-tomcat-5.5.20\bin}} # If a
       directory in the path has spaces (e.g. {{C:\Program Files\..}}), please convert it to its eight-character equivalent 
      (e.g. {{c:\Progra~1\..}}). # Ensure the JAVA_HOME variable is set to the JDK base directory. Use {{echo 
      %JAVA_HOME%}} to confirm this. # Run the following command: {code} service.bat install Crowd {code} \\ 
      _{+}Screenshot: Installing Crowd as a Windows Service+_ &nbsp; 
      !InstallCrowdWindowsService.png|style="border-width: 1pt; border-color: gray"!\\ \\ Crowd should now have been 
      installed as a service, and will be visible in the Windows Services console. _{+}Screenshot: Windows Services 
      Console+_ &nbsp; !CrowdAsWindowsService.png|style="border-width: 1pt; border-color: gray"!\\ # Run the 
      following command, to have the Crowd service start automatically when the server starts: {code} tomcat5 
      //US//Crowd --Startup auto {code} The Crowd service will automatically start up the next time the server reboots. 
      {info} * You can manually start the Crowd service with the command {{net start Crowd}}, and stop it with {{net 
      stop Crowd}}. * To see what parameters the Crowd service is starting with, go to *Start -> Run* and run 
      {{regedt32.exe}}. There should be an entry at {{HKEY_LOCAL_MACHINE -> SOFTWARE -> Apache Software 
      Foundation -> Procrun 2.0 -> Crowd}}. {info} h3. Additional Crowd Setup Options (Optional) * To increase the 
      maximum memory Crowd can use (the default will already be 256MB), run: {code} tomcat5 //US//Crowd --JvmMx
       512 {code} * If you are running Crowd with JIRA and/or Confluence in the same JVM, increase the 
      MaxPermSize to 512 MB: {code} tomcat5 //US//Crowd ++JvmOptions="-XX:MaxPermSize=512m" {code} * 
      Occasionally, it may be useful to view Crowd's Garbage Collection information. This is especially true when 
      investigating memory issues. ** To turn on the Verbose GC (garbage collection) logging, execute the following 
      command in the command prompt {code} tomcat5 //US//Crowd 
      ++JvmOptions="-Xloggc:path\to\logs\atlassian-gc.log" {code} ** The path (denoted by \path\to\) refers to the 
      directory in which Crowd is currently installed. For example: {code} tomcat5 //US//Crowd 
      ++JvmOptions="-Xloggc:c:\crowdinstall\logs\atlassian-gc.log" {code} \\ {info} Refer to the [Tomcat 
      documentation|http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html] for further service options. 
      {info} h3. Related Topics {children:page=5. Installing Crowd as a Windows Service|all=true}\\
      Confluence User:
      - rosie@atlassian.com
      
      Logging:
      2 log statements generated by this request:
      [ERROR] Sun Sep 16 21:13:39 CDT 2007 [com.atlassian.xwork.interceptors.XWorkTransactionInterceptor] 
      Invoking rollback for transaction on action '/pages/doeditpage.action (EditPageAction.doEdit())' due to throwable: 
      org.w3c.dom.DOMException: DOM002 Illegal character
      Throwable: org.w3c.dom.DOMException: DOM002 Illegal character
      at org.apache.xerces.dom.CoreDocumentImpl.createAttribute(Unknown Source)
      at org.apache.html.dom.HTMLDocumentImpl.createAttribute(Unknown Source)
      at org.apache.xerces.dom.ElementImpl.setAttribute(Unknown Source)
      at org.cyberneko.html.parsers.DOMFragmentParser.startElement(DOMFragmentParser.java:431)
      at org.cyberneko.html.parsers.DOMFragmentParser.emptyElement(DOMFragmentParser.java:440)
      at org.cyberneko.html.filters.DefaultFilter.emptyElement(DefaultFilter.java:187)
      at org.cyberneko.html.filters.NamespaceBinder.emptyElement(NamespaceBinder.java:325)
      at org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:629)
      at org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2407)
      at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1881)
      at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:809)
      at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:478)
      at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:431)
      at org.cyberneko.html.parsers.DOMFragmentParser.parse(DOMFragmentParser.java:164)
      at com.atlassian.renderer.wysiwyg.DefaultWysiwygConverter.convertXHtmlToWikiMarkup(DefaultWysiwygConverter.java:947)
      at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:68)
      at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:63)
      at sun.reflect.GeneratedMethodAccessor603.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [ERROR] Sun Sep 16 21:13:39 CDT 2007 [com.opensymphony.webwork.dispatcher.ServletDispatcher] Could not execute action
      Throwable:
      org.w3c.dom.DOMException: DOM002 Illegal character
      at org.apache.xerces.dom.CoreDocumentImpl.createAttribute(Unknown Source)
      at org.apache.html.dom.HTMLDocumentImpl.createAttribute(Unknown Source)
      at org.apache.xerces.dom.ElementImpl.setAttribute(Unknown Source)
      at org.cyberneko.html.parsers.DOMFragmentParser.startElement(DOMFragmentParser.java:431)
      at org.cyberneko.html.parsers.DOMFragmentParser.emptyElement(DOMFragmentParser.java:440)
      at org.cyberneko.html.filters.DefaultFilter.emptyElement(DefaultFilter.java:187)
      at org.cyberneko.html.filters.NamespaceBinder.emptyElement(NamespaceBinder.java:325)
      at org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:629)
      at org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2407)
      at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1881)
      at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:809)
      at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:478)
      at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:431)
      at org.cyberneko.html.parsers.DOMFragmentParser.parse(DOMFragmentParser.java:164)
      at com.atlassian.renderer.wysiwyg.DefaultWysiwygConverter.convertXHtmlToWikiMarkup(DefaultWysiwygConverter.java:947)
      at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:68)
      at com.atlassian.confluence.pages.wysiwyg.DefaultConfluenceWysiwygConverter.convertXHtmlToWikiMarkup(DefaultConfluenceWysiwygConverter.java:63)
      at sun.reflect.GeneratedMethodAccessor603.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      

        1. crowd-doc.txt
          3 kB
          Matt Ryall

            [CONFSERVER-9483] error saving document in the Rich Text editor

            Matt Ryall added a comment -

            Testing on CAC, it seems to be working now. Must have been fixed by a more recent version of Confluence.

            Matt Ryall added a comment - Testing on CAC, it seems to be working now. Must have been fixed by a more recent version of Confluence.

            Matt Ryall added a comment -

            Reproduced on CAC on a new page:

            1. Copy the attached wiki markup into a new page in the wiki editor. Save the page.
            2. Edit the page, change to rich text editor.
            3. Clicking Preview or Wiki Editor no longer works.
            4. Clicking Save throws the same exception as above.

            It must be something to do with this wiki markup.

            A quick test in 2.2.9 showed that this wasn't a problem then. Must be a recent problem introduced. I can't see anything obviously wrong with the markup though.

            Matt Ryall added a comment - Reproduced on CAC on a new page: 1. Copy the attached wiki markup into a new page in the wiki editor. Save the page. 2. Edit the page, change to rich text editor. 3. Clicking Preview or Wiki Editor no longer works. 4. Clicking Save throws the same exception as above. It must be something to do with this wiki markup. A quick test in 2.2.9 showed that this wasn't a problem then. Must be a recent problem introduced. I can't see anything obviously wrong with the markup though.

            Matt Ryall added a comment -

            I can also reproduce both the failure and inability to switch to wiki markup or preview after going to the rich text editor. Editing other pages works fine.

            Matt Ryall added a comment - I can also reproduce both the failure and inability to switch to wiki markup or preview after going to the rich text editor. Editing other pages works fine.

            Matt Ryall added a comment -

            Rosie could reproduce this every time when accessing this page on CAC.

            Matt Ryall added a comment - Rosie could reproduce this every time when accessing this page on CAC.

              matt@atlassian.com Matt Ryall
              rosie@atlassian.com Rosie Jameson [Atlassian] (Inactive)
              Affected customers:
              0 This affects my team
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: