Bug Reports/Unresolved

This page lists bugs that were reported but never resolved due to lack of information, inability to reproduce, or other issues. In general, bug reports that are not reproducible and that have not received further attention after a long period of time may be moved here. If you have additional information to provide on any of these bugs please move it to the main Bug Reports page.

[Edit]navigation updating problems

Hi Ryan, gratulations to your new release 0.5.0! I, will update my local version soon. But working with jamwiki-0.4.2 I recognized a strange behavior. I changed the left-navigation (added a new entry), saved the changed navigation and second clicked on the new link on the left-navigation. After entering some input on the new site I saved. But surprisingly the left-navigation last unchanged - means: colour red - so I thing the navigation does not recognize that I did save the page. -- Michael Habbert 04-Jan-2007 03:18 PST

Is this reproducible with JAMWiki 0.5.0? It sounds like a caching issue to me, and the caching code was rewritten for JAMWiki 0.5.0. Thanks for the report! -- Ryan 04-Jan-2007 09:18 PST

[Edit]Properties cannot load

Application server:tomcat 5.5 OS: FreeBsd 6.2 Context Path: "" DocBase : /usr/local/tomcat5.5/webapps/news/jamwiki

error information: An unknown system error has occurred. The error message is: java.io.FileNotFoundException: /usr/local/tomcat5.5/./webapps/news/jamwiki/WEB-INF/classes/ApplicationResources.properties (Permission denied).

log: java.io.FileNotFoundException: /usr/local/tomcat5.5/./webapps/news/jamwiki/WEB-INF/classes/ApplicationResources.properties (Permission denied)

       at java.io.FileOutputStream.open(Native Method)
       at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
       at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
       at org.jamwiki.Environment.saveProperties(Environment.java:394)
       at org.jamwiki.servlets.TranslationServlet.translate(TranslationServlet.java:134)
       at org.jamwiki.servlets.TranslationServlet.handleJAMWikiRequest(TranslationServlet.java:62)
       at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
       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:839)
       at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:774)
       at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:460)
       at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:425)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
       at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
       at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
       at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
       at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
       at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)

...

It looks like the file permission level is incorrect. Please verify that Tomcat has permission to read the files within the deployed war file. If you are running a system with SELinux then this can get rather complex - a lot of people tend to give up and simply assign full permissions to Tomcat, which isn't recommended but works. -- Ryan 27-Aug-2007 09:11 PDT
Sorry, just noticed that you're using BSD. I don't know anything about BSD file permissions, but provided Tomcat can read and write all files within the WAR then everything should run correctly. Let me know if that works for you. -- Ryan 27-Aug-2007 09:18 PDT

...

ApplicationResource.properties file's path is incorrect

not /usr/local/tomcat5.5/webapps/news/jamwiki/WEB-INF/classes/ApplicationResources.properties that is : /usr/local/tomcat5.5/./webapps/news/jamwiki/WEB-INF/classes/ApplicationResources.properties

[Edit]Centering images looks ugly

There is a css problem when centering images. It's not that easy to relove when there are frames round the image. Works on mediawiki but with very different html output then jamwiki image handling.

--olat 31-Jan-2007 07:05 PST

Sorry, can you clarify what you mean by "relove" - I'm not sure I understand the problem. Thanks! -- Ryan 31-Jan-2007 12:28 PST

[Edit]Connection Reset Exception

Moved from the Feedback page:

Hi Ryan, I am now testing jamwiki on Weblogic 8.1 SP5 with Oracle9i and got the following error in the logs. However in the webpage, I do not notice any error.

2007-01-26 13:29:44,765 SEVERE: org.jamwiki.jsp - Error in JSP page
java.net.SocketException: Connection reset by peer: socket write error
  at java.net.SocketOutputStream.socketWrite0(Native Method)
  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
  at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  at weblogic.servlet.internal.ChunkUtils.writeHeaderChunk(ChunkUtils.java:218)
  at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.java:259)
  at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:243)
  at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:311)
  at weblogic.servlet.internal.ChunkOutputWrapper.flush(ChunkOutputWrapper.java:156)
  at weblogic.servlet.jsp.JspWriterImpl.flush(JspWriterImpl.java:114)
  at jsp_servlet._web_45_inf._jsp.__wiki._jspService(__wiki.java:2670)
  at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
  at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
  at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:97)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:153)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
  at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at org.jamwiki.servlets.JAMWikiFilter.doFilter(JAMWikiFilter.java:56)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:326)
  at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
  at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:247)
  at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1105)
  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:841)
  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
  at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
  at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
  at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at org.jamwiki.servlets.JAMWikiFilter.doFilter(JAMWikiFilter.java:56)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
  at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
  at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

-- Kwee Tin 25-Jan-2007 22:25 PST

Socket errors are generally fairly evil to diagnose - they can be due to a request being canceled, a firewall issue, something internal to the server, or an actual problem. I can take a look through the code to make sure there aren't any files being left un-closed or anything similar going amiss, but this one will probably also be tough to diagnose. Do you see a lot of these errors, or is it a fairly random issue? -- Ryan 25-Jan-2007 22:36 PST

Hi Ryan, it seems like a random issue currently. Will update you if this happens too often. Thanks! -- Kwee Tin 25-Jan-2007 22:39 PST

[Edit]WikiLogger

All log messages have as source org.jamwiki.utils.WikiLogger instead of the real class. Maybe it's just a configuration issue? Mike 30-Jul-2007 06:24 PDT

Jul 30, 2007 3:36:53 PM org.jamwiki.utils.WikiLogger info
INFO: Loaded page /jamwiki/en/StartingPoints (1.299 s.)
On both my laptop (Windows, Tomcat 5, JDK 1.4) and the jamwiki.org box (Debian, Tomcat 5.5, JDK 1.4(?)) I see the actual class name, so whatever the problem is it does not seem to occur on all platforms. What app server are you using? -- Ryan 30-Jul-2007 09:00 PDT

[Edit]Error saving any page change

Moved from the Feedback page:

We are running version 0.5.2. After a Tomcat outage began receiving the following error whenever an attempt is made to update an existing page:

A system error has occurred. The error message is:
An unknown system error has occurred. The error message is: net.sf.ehcache.CacheException: 
org.jamwiki.WikiBase.CACHE_PARSED_TOPIC_CONTENTCache: Could not remove disk store entry for en/Main Page. Error was 
org.jamwiki.WikiBase.CACHE_PARSED_TOPIC_CONTENT Cache: The Disk store is not active..

Oracle database fully functional. Other JSP's that access the same database server work successfully. Have stopped and restarted Tomcat several times. Have checked all jamwiki webapps folder to verify appropriate permissions. HELP!

I've never seen this issue, but this link seems to describe a similar problem. I'm at work right now so I can't give exactly the correct paths, but if you look inside of your JAMWiki file system directory (specified in Special:Admin) there should be a "cache" directory (or something similarly named). If you delete the contents of that directory and restart Tomcat it may solve the problem. Please let me know if that helps. -- Ryan 17-Apr-2007 18:30 PDT

[Edit]No WebApplicationContext found: no ContextLoaderListener registered

Moved from the Feedback page:

Hi. Don't know exactly what has changed in my tomcat 6.0.2 environment? But with the latest SVN sources I get the following stacktrace. Any idea what's going wrong? -- Axel Kramer 25-Feb-2007 13:02 PST

25.02.2007 21:59:20 org.apache.catalina.core.StandardContext filterStart
SCHWERWIEGEND: Exception starting filter securityFilter
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
	at org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext(WebApplicationContextUtils.java:84)
	at org.acegisecurity.util.FilterToBeanProxy.getContext(FilterToBeanProxy.java:169)
	at org.acegisecurity.util.FilterToBeanProxy.doInit(FilterToBeanProxy.java:111)
	at org.acegisecurity.util.FilterToBeanProxy.init(FilterToBeanProxy.java:181)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:274)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:396)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:451)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
25.02.2007 21:59:20 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error filterStart
25.02.2007 21:59:20 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Context [/jamwiki] startup failed due to previous errors
I can't think of anything obvious based on this stack trace. Have you modified the web.xml file in any way? Acegi needs to be able to find its configuration file, so removing the following lines might cause a problem like the one above:
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext-acegi-security.xml</param-value>
</context-param>
Otherwise I'm not sure what might be causing the problem - most of the latest Subversion changes have been either look & feel changes or in the UploadServlet, neither of which would affect startup... -- Ryan 25-Feb-2007 13:25 PST

[Edit]Unable to find a value for "editable" in object of class "org.jamwiki.servlets.WikiPageInfo"

Application server:tomcat 5.5 OS: FreeBsd 6.2 Context Path: "" DocBase : /usr/local/tomcat5.5/webapps/news/jamwiki I upgraded jamwiki version 0.5.4 to 0.6.0. When I view topic error was occurs.


javax.servlet.jsp.el.ELException: Unable to find a value for "editable" in object of class "org.jamwiki.servlets.WikiPageInfo" using operator "."
javax.servlet.jsp.el.ELException: Unable to find a value for "editable" in object of class "org.jamwiki.servlets.WikiPageInfo" using operator "."
        at org.apache.commons.el.Logger.logError(Logger.java:481)
        at org.apache.commons.el.Logger.logError(Logger.java:498)
        at org.apache.commons.el.Logger.logError(Logger.java:611)
        at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340)
        at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
        at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:929)
        at org.apache.jsp.WEB_002dINF.jsp.wiki_jsp._jspx_meth_c_005fif_005f6(wiki_jsp.java:2062)
        at org.apache.jsp.WEB_002dINF.jsp.wiki_jsp._jspx_meth_c_005fif_005f5(wiki_jsp.java:1905)
        at org.apache.jsp.WEB_002dINF.jsp.wiki_jsp._jspService(wiki_jsp.java:254)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
        at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:243)
        at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1141)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
        at org.jamwiki.authentication.JAMWikiExceptionMessageFilter.doFilter(JAMWikiExceptionMessageFilter.java:70)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
I've seen a lot of errors like this one on Tomcat that were a result of Tomcat using old cached files. If you delete everything from Tomcat's /work/ directory (where cached JSPs are stored) does the issue go away? If not I'll need to investigate further. Thanks for the report! -- Ryan 23-Sep-2007 20:12 PDT

[Edit]Data Lost

I use Jamwiki (0.6.1) and I lost my wiki pages after a shutdown. I'm using the internal database. Is it safe to use the internal database? The same problem also happened with version 0.5.4.

When you deployed the WAR file, was it deployed as an exploded WAR? If not the jamwiki.properties file will be overwritten on every restart. The internal database is safe to use, and many people use it without issue, so there may be something unusual in your configuration. If your WAR file _was_ deployed as an exploded WAR can you provide the directory that you specified as your JAMWiki File-system directory? Thanks! -- Ryan 22-Oct-2007 15:07 PDT
The war is exploded and deployed to Tomcat. The JAMWiki system directory is "/home/jpox/htdocs/wiki/jamwiki/system". I see 3 folders inside: cache, database and search. In database folder I have the following files: jamwiki.backup, jamwiki.lck, jamwiki.properties, jamwiki.data, jamwiki.log and jamwiki.script. Thanks! -- Erik 23-Oct-2007 17:38 GMT+1
Prior shutdown I did backup the "/home/jpox/htdocs/wiki/jamwiki/system" folder, and using "more jamwiki.log | grep MyWikiTextOfPage" I could find my wiki page, however after starting up tomcat the wiki page text is not displayed. Thanks! -- Erik 23-Oct-2007 17:54 GMT+1
Provided I have time I'll look at this one when I get home today. I haven't heard of anyone else having this issue, but there might be something specific in your setup that is causing issues. Thanks for the detailed report! -- Ryan 23-Oct-2007 10:48 PDT
The files and paths you provided look OK, so I'm not entirely sure what the problem is. Some possibilities that might cause an issue (and these are all just guesses):
  1. Is it possible there could be either a permission issue or an SELinux problem?
  2. Are there any conflicting JAR files in your Tomcat /shared/lib/ directory? In particular, is there another HSQL JAR file?
  3. Does the JAMWiki log show any relevant errors? (Log file location is specified in /WEB-INF/classes/logging.properties by the org.jamwiki.pattern property)
For reference, I just tried running in internal database mode on Windows with numerous and frequent stops and restarts without issue. My paths are:
webapps: C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\wiki
JAMWiki file system: D:\tmp\wiki
Web server docroot: D:\www\jamwiki.org
Sorry I can't provide more concrete assistance, but you've apparently hit a problem that I haven't seen before... -- Ryan 23-Oct-2007 20:30 PDT

[Edit]javax.servlet.jsp.JspException: Parsing of JSP EL expression "${change.topicVersionId}" failed

I upgraded to versio 0.6.7 right now. If looking at version histories I get the above error.

That is how it looks in the logs:

11-Nov-2008 23:32:23 org.jamwiki.utils.WikiLogger severe SEVERE: Error in JSP page javax.servlet.jsp.JspException: Parsing of JSP EL expression "${change.topicVersionId}" failed

       at org.springframework.web.util.ExpressionEvaluationUtils$Jsp20ExpressionEvaluationHelper.evaluate(ExpressionEvaluati
       at org.springframework.web.util.ExpressionEvaluationUtils.doEvaluate(ExpressionEvaluationUtils.java:276)
       at org.springframework.web.util.ExpressionEvaluationUtils.evaluate(ExpressionEvaluationUtils.java:173)
       at org.jamwiki.taglib.LinkParamTag.doEndTag(LinkParamTag.java:49)
       at org.apache.jsp.WEB_002dINF.jsp.history_jsp._jspx_meth_jamwiki_linkParam_0(history_jsp.java:832)
       at org.apache.jsp.WEB_002dINF.jsp.history_jsp._jspx_meth_jamwiki_link_2(history_jsp.java:798)
       at org.apache.jsp.WEB_002dINF.jsp.history_jsp._jspx_meth_c_forEach_0(history_jsp.java:373)
       at org.apache.jsp.WEB_002dINF.jsp.history_jsp._jspService(history_jsp.java:160)
       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
       at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
       at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
       at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
       at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
       at org.apache.jsp.WEB_002dINF.jsp.wiki_jsp._jspService(wiki_jsp.java:274)
       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
       at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

trimmed

Two questions: from the stack trace it looks like you're using Tomcat - which version of Tomcat? Second, what version of JAMWiki did you upgrade from? One thing to try is to clear your Tomcat cache (on windows it is found in /work/Catalina/localhost/) just to make sure you aren't seeing cached JSP pages. Note that I run Tomcat on both my local machine and on jamwiki.org, so it should definitely work... -- Ryan 11-Nov-2008 16:17 PST

I deleted that work-directory already. Also the error did not occur in the old version. It runs on Tomcat 5.5. I upgraded from version 0.5.1. The first time the upgrade failed for whatever reason. I had to restore my backed up database and run it again. The second time it went through. I have copied the whole WEB-INF directory before the upgrade, if that is needed. What exactly is the JSP EL expression "${change.topicVersionId}"? Could it be a problem that went into the database while I was running the old version? I upgraded because it was throwing errors now and then, example (old version!) INFO: Unable to parse == java.lang.StringIndexOutOfBoundsException: String index out of range: -2

       at java.lang.String.substring(String.java:1938)
       at org.jamwiki.parser.jflex.WikiHeadingTag.parse(WikiHeadingTag.java:76)
       at org.jamwiki.parser.jflex.AbstractLexer.parseToken(AbstractLexer.java:106)
       at org.jamwiki.parser.jflex.JAMWikiProcessor.yylex(JAMWikiProcessor.java:1410)
       at org.jamwiki.parser.jflex.JFlexParser.lex(JFlexParser.java:114)
       at org.jamwiki.parser.jflex.JFlexParser.parseProcess(JFlexParser.java:220)
       at org.jamwiki.parser.jflex.JFlexParser.parseHTML(JFlexParser.java:164)
       at org.jamwiki.utils.Utilities.parse(Utilities.java:746)
       at org.jamwiki.servlets.ServletUtil.viewTopic(ServletUtil.java:488)
       at org.jamwiki.servlets.ServletUtil.viewTopic(ServletUtil.java:447)
       at org.jamwiki.servlets.TopicServlet.view(TopicServlet.java:59)
       at org.jamwiki.servlets.TopicServlet.handleJAMWikiRequest(TopicServlet.java:45)
       at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)

trimmed

or (also old version!)

29-Oct-2008 16:10:07 org.jamwiki.utils.WikiLogger severe SEVERE: Servlet error java.lang.NullPointerException

       at org.jamwiki.servlets.HistoryServlet.viewVersion(HistoryServlet.java:85)
       at org.jamwiki.servlets.HistoryServlet.handleJAMWikiRequest(HistoryServlet.java:47)
       at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
       at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
       at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)

trimmed

Thankyou for your help and please tell me, if you need more info. --SquadStein 12-Nov-2008 12:18 PST

The EL expression is simply getting the version ID for an older version of the topic, so that when you do a diff it knows what to compare against. I checked the Subversion repository, and that particular expression has been there for quite a while. Unfortunately my work schedule is currently pretty heavy, but if you don't need this issue fixed immediately and can upload your old and new log files I can take a look and see if I can figure out what is going on. As you've suggested, it sounds like there might be bad data, but I'm not sure where things would be going wrong. One last question - what database are you using? I do most of my testing with Postgres, but we use Oracle at work, I've done a lot of testing with HSQL and MySQL, and I know there are a lot of users out there using a variety of other databases. -- Ryan 12-Nov-2008 20:56 PST
I use MySQL, which log files? The tomcat ones? I do not keep them :(. I created a new topic and only entered test. Then I clicked on that versions tab. It also throws the error message. So it can't be the normal data. --SquadStein 13-Nov-2008 12:23 PST
If you can upload your jamwiki.log file it might at least give me an idea of what's going right and what's going wrong. Something has obviously gone wrong, but it may be a simple matter of executing a few SQL statements to resolve it. The first step would be figuring out what failed, and that is always tough to do remotely. -- Ryan 13-Nov-2008 23:12 PST
Is there a chance for me to get the SQL query it runs in history.jsp to get that topic_version_id? I would run that in phpMyAdmin and see, if it throws errors. --84.185.57.209 14-Nov-2008 02:06 PST
The query is:
    select * from jam_recent_change \
    where topic_id = ? \
    order by edit_date desc \
    limit ? offset ?
Replace the first question mark with the ID for your topic, and the last two by 0 and 50, respectively. I'm guessing that this query may execute successfully, so more than likely there is a data issue in your database after upgrading. Have a look at /WEB-INF/UPGRADE.txt and verify that all upgrades steps completed successfully. -- Ryan 17-Nov-2008 07:31 PST

I set up a new jamwiki and had the community copy the data over by hand. That solved the problem, but does not find the bug, sorry. --SquadStein 25-Nov-2008 22:35 PST

[Edit]jamwiki.js

Hi,Ryan

Environment: Jamwiki 0.6.6, Database - hsql, Application Server - Apache Tomcat 5.5.26 There is a mistake , when login, the page is not the StartingPoints,but

 jamwiki.js:

var noOverwrite=false; var alertText; var clientPC = navigator.userAgent.toLowerCase(); // Get client info var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1)); var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1)); var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled )); if (clientPC.indexOf('opera')!=-1) { var is_opera = true; var is_opera_preseven = (window.opera && !document.childNodes); var is_opera_seven = (window.opera && document.childNodes); } function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { speedTip=escapeQuotes(speedTip); tagOpen=escapeQuotes(tagOpen); tagClose=escapeQuotes(tagClose); sampleText=escapeQuotes(sampleText); var mouseOver=""; // we can't change the selection, so we show example texts // when moving the mouse instead, until the first button is clicked if(!document.selection && !is_gecko) { // filter backslashes so it can be shown in the infobox var re=new RegExp("\\\\n","g"); tagOpen=tagOpen.replace(re,""); tagClose=tagClose.replace(re,""); mouseOver = "onMouseover=\"if(!noOverwrite) {document.infoform.infobox.value='"+tagOpen+sampleText+tagClose+"'};\""; } document.write(""); document.write(""); document.write(""); return; } function addInfobox(infoText,text_alert) { alertText=text_alert; var clientPC = navigator.userAgent.toLowerCase(); // Get client info var re=new RegExp("\\\\n","g"); alertText=alertText.replace(re,"\n"); // if no support for changing selection, add a small copy & paste field // document.selection is an IE-only property. The full toolbar works in IE and // Gecko-based browsers. if(!document.selection && !is_gecko) { infoText=escapeQuotesHTML(infoText); document.write(" "+ " "); } } function escapeQuotes(text) { var re=new RegExp("'","g"); text=text.replace(re,"\\'"); re=new RegExp('"',"g"); text=text.replace(re,'"'); re=new RegExp("\\n","g"); text=text.replace(re,"\\n"); return text; } function escapeQuotesHTML(text) { var re=new RegExp('"',"g"); text=text.replace(re,"""); return text; } // apply tagOpen/tagClose to selection in textarea, // use sampleText instead of selection if there is none // copied and adapted from phpBB function insertTags(tagOpen, tagClose, sampleText) { var txtarea = document.form.contents; // IE if(document.selection && !is_gecko) { var theSelection = document.selection.createRange().text; if(!theSelection) { theSelection=sampleText;} txtarea.focus(); if(theSelection.charAt(theSelection.length - 1) == " "){// exclude ending space char, if any theSelection = theSelection.substring(0, theSelection.length - 1); document.selection.createRange().text = tagOpen + theSelection + tagClose + " "; } else { document.selection.createRange().text = tagOpen + theSelection + tagClose; } // Mozilla } else if(txtarea.selectionStart || txtarea.selectionStart == '0') { var startPos = txtarea.selectionStart; var endPos = txtarea.selectionEnd; var scrollTop=txtarea.scrollTop; var myText = (txtarea.value).substring(startPos, endPos); if(!myText) { myText=sampleText;} if(myText.charAt(myText.length - 1) == " "){ // exclude ending space char, if any subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " "; } else { subst = tagOpen + myText + tagClose; } txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length); txtarea.focus(); var cPos=startPos+(tagOpen.length+myText.length+tagClose.length); txtarea.selectionStart=cPos; txtarea.selectionEnd=cPos; txtarea.scrollTop=scrollTop; // All others } else { var copy_alertText=alertText; var re1=new RegExp("\\$1","g"); var re2=new RegExp("\\$2","g"); copy_alertText=copy_alertText.replace(re1,sampleText); copy_alertText=copy_alertText.replace(re2,tagOpen+sampleText+tagClose); var text; if (sampleText) { text=prompt(copy_alertText); } else { text=""; } if(!text) { text=sampleText;} text=tagOpen+text+tagClose; document.infoform.infobox.value=text; // in Safari this causes scrolling if(!is_safari) { txtarea.focus(); } noOverwrite=true; } // reposition cursor if possible if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate(); } // enable/disable radio buttons before or after the current element function historyRadio(element, siblingName, disableLower) { // since revision numbers are chronological this code compares revision // numbers to determine whether to display or hide a radio button var revisionId = parseInt(element.value); var siblings = document.getElementsByName(siblingName); for (var i = 0; i < siblings.length; i++) { // make sure the element is a radio button, if not skip it if (siblings[i].type != 'radio') { continue; } // now make the button visible or hidden as appropriate if (disableLower && parseInt(siblings[i].value) <= revisionId) { siblings[i].style.visibility = 'hidden'; } else if (!disableLower && parseInt(siblings[i].value) >= revisionId) { siblings[i].style.visibility = 'hidden'; } else { siblings[i].style.visibility = 'visible'; } } }

  • that's a bug? when I login again, that's O.K. DS. May 30
Thanks for the report. I haven't seen this behavior in my local testing but will try to reproduce it. -- Ryan 31-May-2008 12:08 PDT
I'm unable to reproduce this problem, but revision 2233 may resolve it. -- Ryan 01-Jun-2008 14:05 PDT

[Edit]Upload can't be a Linux symbolic links

I'm not able to get JAMWiki 0.6.2 to display or access files placed in a directory other then the web root, even if i create a linux symbolic link. Can this issue be fixed?

I suspect that this may be a configuration issue with your app server - most app servers require specific permission to follow symlinks. Can you confirm that the files can be accessed using symlinks without JAMWiki to help verify that this is a JAMWiki issue? Thanks! -- Ryan 31-Dec-2007 18:29 PST

[Edit]Keychain drive issues

Copied from the Feedback page:

I installed JAMWiki in Jetty, all on a 1 gb keychain drive. Booted first on a pc, added some content, then plugged the drive into my MacBook. When I booted it, the startup screen came up. I duplicated the data and password values, got a warning that the data already exists. I clicked "continue". All my data was there. I added some new content, then moved back to the pc and got, again, the startup screen. Again, configuring the same, warning screen, continue. All my data is still there. It seems that something happens in the way JamWiki is functioning that is not compatible with moving its database between computers; it's not behaving in a portable way. Of course, that's not a use case one would expect, but it's a reasonable one. I am wondering what is changed that renders the database not visible on startup, requiring a pass through setup. -- Jack 12-Mar-2007 09:16 PDST

Is it possible that you're hitting this issue? Some app servers apparently overwrite configuration information every restart. See Installation#Web Application Server Configuration for workarounds for other app servers. I'd like to solve this problem permanently, but thus far haven't found a way to do so. -- Ryan 12-Mar-2007 08:58 PST

That would be the issue. I tried this. Jetty doesn't open the war file, whereas Tomcat does. So, I opened the war file and moved the guts into /wiki and booted. After the usual alzheimers (this is in the pc), it started running. I shut down then restarted and it appears to run fine. When I plugged that same installation into my MacBook, it didn't have alzheimers; it crashed. SQLException Table not found in statement [select * from jam_virtual_wiki]. Now I have to wonder if it would work if I renamed /wiki to /jamwiki. Just tried that. It didn't help. --Jack 12-Mar-2007 10:38 PDST

Interesting observation: if you empty the data directory completely, and reboot, JAMWiki still thinks it is there and tries to interact with the database. This strongly suggests that it writes a virtualwiki somewhere, apparently somewhere other than the data directory, and it goes there on startup. Some of that is hinted at from looking at the code in WikiDatabase.setupDefaultVirtualWiki(). One wonders how JAMWiki remembers it has a database when the database has been removed. --Jack 12-Mar-2007 12:43 PDST
Found it! JAMWiki makes a file WEB-INF/classes/jamwiki-properties. Remove that and the system goes brain dead. --Jack 12-Mar-2007 13:00 PDST
Jack, I'd be really interested in exactly how you got this all up and running with Jetty on a thumb drive. I've been using TiddlyWiki for portable reference material, but it just... lacks something that a more traditional wiki offers. If you could post some instructional / tutorial material somewhere on how you got this running that'd be super! - DanR

[Edit]Categories

Copied from the Feedback page:

Hi recently I added a new page on my local installation and closed the page with a category-tag. After saving I noticed a writing-mistake in the category-tag. Is there a possibility to correct the mistake? My correction was not substituted it was added, so the Category points to the wrong and to the right-written category-item. -- Michael.Habbert 17.11.2006 15:54 EST

Hi Michael - I'm not sure I understand the problem. If you have two category tags for a topic the topic will show up in both categories. If one of the category tags is removed the topic will be removed from that category. Can you provide a specific example of where that might not work? -- Ryan 17-Nov-2006 07:29 PST
Hi Ryan - lets write an example: I wrote: [[Category:Techik]] at the bottom of a page. So when I noticed the writing mistake I corrected my tag to: [[Category:Technik]] and got on the saved page Kategorien: Techik Technik! I found no way to erase or correct the wrong written Category, because on the source-code of the page i only found: [[Category:Technik]]. So is there a possibility to erase the wrong Category? -- Michael Habbert 20:24 CET
Did you customize the namespace names in your /WEB-INF/classes/namespaces.properties file? I'm assuming the answer is yes since your category namespace is "Kategorien". If that's the case then there is probably a bug in the code that is causing categories to not be updated properly. I'll add it to the to-do list and investigate. -- Ryan 18-Nov-2006 17:18 PST
Hi Ryan, funny but no! I switched to german language, yes your right, but I did not change the /WEB-INF/classes/namespaces.properties file! So I write inside the page: [[Category:Technik]] and see on the rendered page Kategorien: Technik. Any Ideas? -- Michael Habbert 10:30 CET
OK, sorry - I misread your earlier comment. I suspect that if you click on the "Rebuild Search Index" button (not sure what it reads in German) from the Special:Admin page on your Wiki that it may resolve the issue. I know that category addition and removal works when I test, but I'll investigate more tonight to see if I can find any possible problems. Sorry for the trouble! -- Ryan 19-Nov-2006 08:00 PST
Hi Ryan, Not a real problem for me but still a mistake;-). My Category-Page shows the two items: Technik and the unused one: Techik. A rebuild fo the Search Index had no effect. not so disturbing at all... Michael Habbert 17-Dec-2006 11:58 PST
I'm unable to reproduce this problem, so it's possible that whatever is wrong was solved in a later JAMWiki version. I'd feel better if I could reproduce the problem and KNOW it's solved, however, so if there's any additional information you can provide I'd be grateful. In the mean time, to fix your wiki you should be able to delete the offending category from the jam_category table (delete from jam_category where category_name = 'Category:Techik'). -- Ryan 18-Dec-2006 22:38 PST

[Edit]Tomcat Virtual Host Problem

I am running JamWiki on a Gentoo machine, with Apache2, Tomcat 5.5, Java 1.5.0 with JamWiki version 0.6.3 I have configured a virtual host in Apache and Tomcat that forwards requests for a particular subdomain to my JamWiki instance. ex. wiki.mydomain.com -> mydomain.com/jamwiki

When I attempt to access JamWiki using wiki.mydomain.com, it returns the following error:

javax.servlet.jsp.JspException: The database is already in use by another process: org.hsqldb.persist.NIOLockFile@8e77b054[file =/var/lib/tomcat-5.5/webapps/jamwiki/database/jamwiki.lck, exists=true, locked=false, valid=false, fl =null]: java.lang.Exception: checkHeartbeat(): lock file [/var/lib/tomcat-5.5/webapps/jamwiki/database/jamwiki.lck] is presumably locked by another process.

However, if I access JamWiki using the server's IP address and port 8080 (where Tomcat is listening by default), then it works fine. I have stopped/restarted Tomcat and the lock clears each time, so it is not an issue of the lock file not being removed on shutdown.

I have also tried JamWiki version 0.6.2. When I attempt to access it using the subdomain name, I get nothing. When I access it by IP, it works fine. My first guess was that I had misconfigured the Apache or Tomcat virtual host settings, but I can't find anything wrong with the way it is -- the setup is quite minimal.

Any feedback would be appreciated.

Thanks for the report. I'm not sure if this is something that I'll be able to easily reproduce, so it may be tough to debug. One request (if possible) - could you download the latest version of HSQL from http://internap.dl.sourceforge.net/sourceforge/hsqldb/hsqldb_1_8_0_9.zip and see if the problem still occurs? It seems like if this is a database locking issue then the latest version might address the problem. -- Ryan 12-Feb-2008 18:25 PST
I believe that this issue may be resolved by the changes dallas made, including revision 2091 through revision 2095. These changes will be included in JAMWiki 0.6.5. Once it is released (which hopefully will be before the end of this weekend) any confirmation about whether the problem still occurs would be appreciated. -- Ryan 15-Mar-2008 11:08 PDT

[Edit]Search Indexing

Moved from the Feedback page:

Hi Ryan, I am running JamWiki 0.5.1. And I realised that the search does not return the results correctly. I have tried to search for a topic that was created, however the search results does not show the topic. I will have to click on "Go To" then it will direct me to the topic. I am unable to upgrade the JamWiki version because it has been customised before. Do you have any solutions to this? Thanks. -- Kwee Tin 17-May-2007 00:59 PDT

What is the term you're searching for, and how does it appear in the page? Could you create that same topic here on jamwiki.org so that we can see if the bug is reproducible? -- Ryan 17-May-2007 08:54 PDT

Hi Ryan, after I did some testing, I realised that I have to edit all the pages in order to generate the search index. After that, the search results display all related topics to the search term. May I know if there is a way to generate the search index by one click? Thanks. -- Kwee Tin 20-May-2007 17:58 PDT

Pages should be automatically added to the index when they are created, but if you are using some other method to create pages then you can use the "Rebuild search index" option from the Special:Maintenance page. Note that if you have a lot of pages it will be slow. -- Ryan 20-May-2007 18:08 PDT

[Edit]strange <form> tag on RecentChanges page

A snippet of the HTML delivered by "Special:RecentChanges" on my jamwiki instance looks like this:

<form name="num-changes" method="get" action="&lt;a href=" jamwiki="" en="" special:recentchanges="" title="Special:RecentChanges">RSS Feed"&gt;

that's obviously not right ;) it's produced by the following line in "recent-changes.jsp":

<form name="num-changes" method="get" action="<jamwiki:link value="Special:RecentChanges" />">

It looks to me like the jamwiki:link tag will produce a complete HTML link instead of just an URL (as required for the "action" attribute).

Any ideas what went wrong here? (This occured first on a 0.6.1 install, and i still see it after upgrading to 0.6.6) -- Luzi 25-Jul-2008 02:15 PDT

Thanks, looks like there may be a typo in the JSP - it should be quick to fix, but I'll have to take a look at it later as it's been a while since I looked at the tag libraries and I can't remember what parameter is used to spit out just a URL instead of a full <a> tag. -- Ryan 25-Jul-2008 07:37 PDT
If the original reporter is still around, what application server are you using? This code seems OK on my local Tomcat 5.0 installation. -- Ryan 06-Sep-2008 14:18 PDT

[Edit]0.6.0 Upgrade Issues

  1. When a "Remember Me" cookie is set the upgrade process can fail with the message "You do not have permission to access Special:Upgrade". Clearing cookies fixes the problem.
  2. After upgrading today with Oracle the system was not using the correct SQL file - restarting Tomcat resolved the issue.

-- Ryan 30-Aug-2007 09:44 PDT

I've been staring at the code for a while now trying to figure out how either or the two issues above could occur, and so far I haven't found anything. I'm suspicious about whether the problem was perhaps a failure to clear cached Tomcat files, which would allow old code to run. I'll leave this issue open, but it may be a non-issue. -- Ryan 03-Sep-2007 00:14 PDT
Changes to the code in the past two years (specifically the Spring Security 2.0 upgrade and some modifications to how SQL properties are loaded) have likely fixed this issue, although I'm marking it unresolved as the bug was difficult to reproduce in the original report. -- Ryan • (comments) • 30-Aug-2009 18:58 PDT

[Edit]Character set problem

Moved from the Feedback page:

I am installed jamwiki 0.6.0 on FreeBsd6.2, tomcat5.5, mysql5; And backup jamwiki webapps, database, upload directory and changed my system to ubuntu 7. After that i restore mysql, and jamwiki webapps to ubuntu. And configure tomcat uriencoding, mysql database character set to utf8, some configure on jamwiki.properties. Now encoding is not work. Old articles are colored "RED". My Tomcat URI configuration is:

    <Connector port="8009" 
              enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" 
               maxThreads="350" connectionTimeout="15000" compression="on"/>

Is there any error;

Are the old topics showing up in your wiki? It sounds like JAMWiki is not finding its data in the database, but I may not be understanding the problem correctly. -- Ryan 26-Oct-2007 19:23 PDT

[Edit]Jboss logging problems

Moved from the Feedback page:

Hi everybody, running JamWiki on jboss 4.0.5, I experienced some problems regarding logging. Fisrt: during deployment, the server complained with class cast exception on creating logger appenders and handlers

...
2008-04-08 08:26:54,249 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable.
2008-04-08 08:26:54,249 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.spi.ErrorHandler" was loaded by 
2008-04-08 08:26:54,250 ERROR [STDERR] log4j:ERROR [WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@6343c4
] whereas object of type 
2008-04-08 08:26:54,251 ERROR [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@c2a132].
2008-04-08 08:26:54,375 ERROR [STDERR] log4j:ERROR Could not create an Appender. Reported error follows.
2008-04-08 08:26:54,376 ERROR [STDERR] java.lang.ClassCastException: org.jboss.logging.appender.DailyRollingFileAppender
...

After I deleted log4j-1.2.9.jar from the lib directory of wiki, the deployment was successful without problems. however during runtime of application, the log messages are send with wrong level. example :

...
09:32:39,292 INFO  [Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 42s:876ms
09:33:35,731 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for SandBox (0.14 s.)
09:33:35,747 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for LeftMenu (0.016 s.)
09:33:35,762 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Parse time (parseHTML) for BottomArea (0.0 s.)
09:33:35,762 ERROR [STDERR] Apr 8, 2008 9:33:35 AM org.jamwiki.utils.WikiLogger info
INFO: Loaded page /wiki/en/SandBox (0.25 s.)
...

it seems like the actual message is included into jboss error message As I have noticed several users around here running jamwiki on jboss, I would be grateful for any advice. Thanks Aryan

This is the first report I've seen like this, and unfortunately the only installation notes that JBoss users have provided is Installation#JBoss. Based on the log messages you've provided it looks like something in the JBoss shared lib or configuration settings is conflicting with JAMWiki's logging settings, but I don't use JBoss regularly so I'm not sure. Hopefully another JBoss user can provide some insight, and if you figure out the issue please feel free to update the Installation#JBoss notes with any relevant information. -- Ryan 08-Apr-2008 08:00 PDT

fowlks: I'm using JBoss 4.2 and am experiencing the same issue with no resolve. Any updates on this issue would be much appreciated. Thanks -

[Edit]Problem with german umlaut in article and category title

Hello, i am running JamWiki v0.6.6 on Tomcat v6.0.16. I'm using SQL Server 2005 with the following JDBC-driver: com.microsoft.sqlserver.jdbc.SQLServerDriver . Although I found lots of articles about resolved issues with german umlaut, i still encounter problems in article and category titles. Any solutions I probably haven't found?

My internet access is going to be limited so I may not be able to respond for a bit, but can you provide a bit more information? Is it only umlaut characters? If you copy & paste similar content to jamwiki.org do you see the same problem? Finally, do you see the problem when you preview a topic, or only when it is saved? As far as I'm aware all UTF-8 issues have been resolved, but it's possible that there is something specific to either the character set you're using or else SQL Server that might be causing issues. -- Ryan 12-Jun-2008 05:08 PDT

[Edit]Logout doesn't log user out

I'm running JAMWiki v0.6.6 on Tomcat 5.x with MySQL and the JConnector.

Once a use is logged in they cannot log out. Click on the logout link on the top of the page does not appear to do anything. As Admin, I clicked on Log out and then was still able to goto the admin page.

Michael 12-Jun-2008 11:16 EDT

Do you see any error messages in the log? I haven't personally experienced this problem, and your report is the first I've seen of it. Can you also verify whether you can logout correctly on jamwiki.org so that we can try to narrow it down? I'm currently on vacation (this is being written from a hotel in Iceland) and will have spotty internet access for the next four weeks, but I will definitely investigate as time permits. -- Ryan 13-Jun-2008 02:21 PDT

[Edit]Users with '_' in the nickname cannot edit pages

Hi, with my nickname (alex_custov) I can login in Jamwiki, but I cannot edit any page. There is no 'Edit' link at the top of the page.

My name "Alex Custov" and "User comments" are highligted with red at the top of the page.

Also, when trying to upload a file, it gives "You do not have permission to access Special:Upload."

Also, when trying to update account it gives "Неизвестная ошибка системы (Unknown system error): java.lang.Exception: Failure while executing update jam_wiki_user set login = ?, display_name = ?, last_login_date = ?, last_login_ip_address = ?, default_locale = ? where wiki_user_id = ?."

Jamwiki is 0.6.3, server configuration is PostgreSQL 8.2, Apache2 2.2, Sun Java SDK 1.5, Apache Tomcat 5.5, memcached 1.2

Jamwiki is installed at http://www.linux.org.ru/wiki

How to fix it? Thanks.

Thanks for the report. I am in the processing of flying home after a long vacation, and will investigate after I get back home (in the next 1-2 days). I suspect this one will be easy to solve and is related to the fact that JAMWiki converts underscores in topic names to spaces. Please add a reminder comment if this bug report isn't updated by end-of-day Sunday July 13. -- Ryan 11-Jul-2008 18:11 PDT
I'm not going to get a chance to investigate this issue today, but hopefully in the next day or two I'll have more time. Please remind me if I forget, as things are busy after being on vacation for so long. -- Ryan 13-Jul-2008 11:09 PDT
Hi Ryan, how is it going? :)
Thanks for the reminder. This issue is #1 on my to-do list when I get some time for JAMWiki development, but sadly I haven't had a chance yet. Hopefully this weekend, although I just got drafted to do some work for a side project on Saturday. In terms of when this fix would be available in a release, 0.7.0 won't happen for a long time, so if this issue can be safely fixed it might be worth putting a 0.6.7 release together that includes it. Sorry for the delay, and thanks for following up! -- Ryan 17-Jul-2008 20:33 PDT
I finally got a chance to try to reproduce this issue, but when I create the login alex_custov on my local machine it seems to work for me with both the current JAMWiki code and the 0.6.3 version. A few questions:
  • Just to verify, can users without underscores edit pages?
  • Have you made any changes to the /WEB-INF/applicationContext-acegi-security.xml file?
  • Are there any other customizations you might have made that would affect editing pages?
Sorry for taking so long to investigate this problem - hopefully once I'm able to reproduce the issue the fix will be easy to make. -- Ryan 20-Jul-2008 20:33 PDT
Sorry, Ryan. Probably there is a bug in jamwiki configuration. I'm not an administrator of that site, and the main problem is that administrators don't want to investigate and fix this problem. They use different tricks to not to do this. Sorry, and consider this bug to be closed.
No need to apologize - I suspect that there might actually be a real bug here, but without knowing how to reproduce it I'm probably not going to be able to fix it. Let's leave this bug report open and see if anyone else encounters the same issue and can provide more detail on how to reproduce it. -- Ryan 22-Jul-2008 08:12 PDT

[Edit]Edit Toolbar is Missing in 0.6.6

I just upgraded from 0.6.2 to 0.6.6 and have found all Edit Toolbars missing. I have verified that the Toolbar Button Images are intact within the images folder.

Environment: Tomcat 5.5.25 Database: JAMWiki Internal

Thanks - Scott

What browser are you using? IE6? -- Ryan 19-Sep-2008 13:26 PDT
I just tried IE6, and it seems OK. Is your wiki publicly available? I'm curious if maybe there is a CSS or other issue specific to your setup. -- Ryan 19-Sep-2008 14:43 PDT

[Edit]Unable to Move or Delete Page, "Invalid or missing topic name" message

This page (note underscores and lower case letters in topic title) displays OK, but Im unable to move or delete it: http://benhutchison.com/en/Tools_And_Technologies

The topic name "Tools_Frameworks_and_Platforms" seems to be invalid as I get message "Invalid or missing topic name." (why?). Once something has an invalid name, you dont seem to be able to get out of that situation by moving it to a valid name.

What version of JAMWiki are you using? Also, what steps did you take to create a topic with underscores in it? I think the code should automatically escape those to spaces. I don't think I've seen this problem before, but will do some investigation when time permits. -- Ryan 18-Nov-2008 07:57 PST
To answer your questions: version 0.6.7. I did nothing special to create topic with underscores, I wanted to get spaces. The fact that it hasnt escaped is part of the bug, I think. I moved to the topic to another name - Could that be related?
Sorry for taking so long to get back to you. I havent' had any time at all this week to devote to JAMWiki, but I'm hoping to be able to investigate this issue this weekend. If I can reproduce the problem then it should be reasonably easy to make a fix available. -- Ryan 21-Nov-2008 10:54 PST

I tried reproducing this issue in the following ways, but all of them worked as expected. Can you provide the exact steps to reproduce? It may be platform-specific, or there may be another issue, but without being able to reproduce it will be next to impossible for me to fix:

  • Enter a topic name in the URL for a topic that doesn't exist (Ryan_Test) and then edit using the edit tab of the resulting page.
  • Enter a topic name in the URL for a topic that doesn't exist (Ryan_Test) and then edit using the edit link of the resulting page.
  • Enter a non-existent topic name in an existing topic, then click on the resulting link.
  • Search for a non-existent topic name then click on the resulting link in the "not found" page.

-- Ryan 23-Nov-2008 19:40 PST

[Edit]Not able to upgrade from 0.6.7 to 0.7.2

i m trying to upgrade to 0.7.2 and got following Upgrade from JAMWiki 0.6.7 to JAMWiki 0.7.2 An unknown system error has occurred. The error message is: java.sql.SQLException: Table not found in statement [select 1 from jam_wiki_user_info where login = ? and encoded_password = ?].

i m using internal database only. and tomcat version is apache_tomcat_6.0.16

i have already taken a backup of my data before destroying 0.6.7

now getting that error so not sure how to resolve.

Can you confirm that you followed all of the steps in Installation#Upgrades? That message is indicating that JAMWiki can't find the old database information which shouldn't happen if the HSQL files are still present and the jamwiki.properties file is still pointing to the same locations. If all steps in the upgrade have been followed could you add any error messages from your jamwiki.log file to this bug report? Thanks! -- Ryan • (comments) • 17-Aug-2009 09:31 PDT

ok so in a way now i m totally lost. I am just left with the database backup of 0.6.7. I do not mind setting up a new installation. But i want my data/pages created in 0.6.7. So, how can i do that?

[Edit]Issues/questions after migration from 0.6.7 to 0.7.2

hie i recently migrated to 0.7.2 Before this when i was using 0.6.7 after downlading 0.6.7 i renamed the exploded war name to wiki from jamwiki_0.6.7 and then did the installaton. So i got a default url as http://localhost:8080/wiki/en i created the data folder named jamwikidata also inside wiki folder.

So while upgrading i downloaded and exploded jamwiki_0.7.2 war and copied req files to upgrade. Finally after everything now my url is http://localhost:8080/jamwiki_0.7.2/en So, this is bad as what i want is old url wit this upgraded version. how to do this?

Unfortunately this isn't enough information for me to diagnose the problem, but it sounds like something that will need to be solved with your web application server as JAMWiki has no control over the root web context ("wiki"). Hope that helps! -- Ryan • (comments) • 20-Aug-2009 07:59 PDT

[Edit]INSTALL PROBLEMS

Moved from the Feedback page:

Hi there, I hope I'm posting this in the right place and I'm not missing something that is already documented but I am having a real issue installing JAMWiki. I'm a complete newbie (sorry). My system details are:

  • Windows XP
  • Tomcat 5.0.28
  • JDK 1.6.0
  • ORACLE 9.2

I download the jamiwiki-0.5.2.WAR file and place it in the webapps folder in my Tomcat directory. I then start the Tomcat service and the .war is made into a folder. I then navigate my browser (MSIE7) to http://localhost:8080/jamwiki and I am faced with the config screen. I then complete the details thus:

  • C:\Tomcat\Tomcat 5.0\webapps\jamwiki\WIKIFILES
  • External Database
  • oracle.jdbc.driver.OracleDriver
  • oracle
  • jdbc:oracle:thin:@192.9.200.55:1521:oracl
  • JAM
  • password
  • C:\Tomcat\Tomcat 5.0\webapps\jamwiki\DOCS
  • /DOCS/
  • administrator
  • password
  • password

I then click Save Changes and in red writing at the top of the screen I get a message saying: An unknown system error has occurred. The error message is: Failure while executing insert into jam_topic_version ( topic_version_id, topic_id, edit_comment, version_content, wiki_user_id, edit_type, wiki_user_ip_address, edit_date, previous_topic_version_id ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ). If I then continue with the installation I have to re-enter the administrator u/n and p/s then I get a warning stating that I am about install though there is already a JAMWiki set-up, I then click Continue Install and I am faced with what looks the the starting page of JAMWiki (though not loaded properly) and in edit mode. If I try to type something in and click Save I then get this message: An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ). I know there is an issue somewhere with the Oracle connection but I have no idea how to resolve it. If I go into the Oracle Enterprise Manage Console I can see that JAMWiki has created the schema though the tables are all empty. Do I need to give the user JAM any special system privileges other than those included in Connect and Resource roles? I hope I have given enough information for someone to help me? though if not PLEASE contact me at ben@lynxinfo.co.uk. Many thanks for reading my problem, Ben Sayers- 15-Mar-2007 14:41 GMT

Thanks, I'll take a look this weekend. Let me know if you have any other information you think might be relevant. -- Ryan 15-Mar-2007 22:31 PST

Hi Ryan, I can't think of anything that may help you but do not hesitate to e-mail me if you need any details at all. Many thanks for your time in looking in to this, Ben- 16-Mar-2007 12:48 GMT

Sorry, I haven't had a chance to look at this yet. One question though - which Oracle driver are you using? classes12.zip won't work - you need to use the ojdbc14.jar file to avoid a problem with CLOB support. Also, let me know if there are any messages in the logs that look relevant - the log file is configured from /WEB-INF/logging.properties. Last of all, there have been some problem reports when deploying the application from a WAR file, so you might try exploding the war file and deploying that way. Hopefully one of those will shed some light on the problem! -- Ryan 19-Mar-2007 21:37 PST

Where does the Oracle driver need to be installed? I have put ojdbc14.jar here: C:\oracle\ora92\jdbc\lib is this right? I have looked through the log file and don't seem to have any database errors. I will try another fresh install using an exploded version of the WAR file and I'll post what happens. Many thanks for your support, Ben- 20-Mar-2007 11:10 GMT

Hi Ben, you have to place the Oracle driver (ojdbc14.jar) in C:\Tomcat\Tomcat 5.0\common\lib. You will have to drop all the tables that were already created in your oracle server then do a fresh install again. Hope this helps. -- Kwee Tin 21-Mar-2007 17:56 PST

I already had the ojdbc14.jar in the right directory but it's good to know that it's in the right place. Ryan, How do I use the exploded version? I unzip it and place the folder/files that are created in the webapps folder and then how do I go about setting it up and seeing it in my browser? Many thanks for your continued help, Ben- 23-Mar-2007 09:46 GMT

Hi. I too have the exact same problem, I'm on WebSphere Application Server v6.0.21 + Oracle 9.2.0.8. Any update on this particular problem? My guess is that it has to do with the "exploded WAR" installation. I thought that by getting the first configuration screen the webapp was installed correctly. Any step-by-step instruction for installing the WAR file on WAS v6.0? Thx, Bruf- 22-Jul-2008 11:28 EST

[Edit]MORE INSTALL PROBLEMS

Moved from the Feedback page:

Hi, I am having an issue installing JAMWiki. I'm a complete newbie (imagine that). My system details are:

  • Fedora Core release 6 (Zod)
  • apache-tomcat-6.0.13
  • Java 1.5.0_06-b05
  • embedded version of the HSQL database

I downloaded the latest revision 1520 using svn. Built it, started tomcat, and deployed the war to tomcat. navigated to http://localhost:8080/jamwiki-0.6.0 and ended up at http://localhost:8080/jamwiki-0.6.0/en/Special:Setup

So far so good. Here is the config info i entered:

  • /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw
  • Internal Database
  • org.hsqldb.jdbcDriver
  • hsql
  • jdbc:hsqldb:file:/full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw/database/jamwiki
  • sa
  • /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw_files
  • /jw_files/.
  • jamwiki
  • jamwiki
  • jamwiki

I then click Save Changes and I got the following red letter error: A connection could not be established with the database; please re-check the settings: Cannot get a connection, pool error: Could not create a validated object, cause: ValidateObject failed

And the following error from the /full/path/to/apache-tomcat-6.0.13/temp/jamwiki.log.0 file:

2007-07-08 01:58:14,063 CONFIG: org.jamwiki.Environment - Loading properties from /home/vds/downloads/apache-tomcat-6.0.13/webapps/jamwiki-0.6.0/WEB-INF/classes/sql.ansi.properties 2007-07-08 01:58:18,318 SEVERE: org.jamwiki.utils.Utilities - Invalid database settings org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error: Could not create a validated object, cause: ValidateObject failed at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:184) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:193) at org.jamwiki.db.DatabaseConnection.setUpConnectionPool(DatabaseConnection.java:315) at org.jamwiki.db.DatabaseConnection.testDatabase(DatabaseConnection.java:334) at org.jamwiki.utils.Utilities.validateSystemSettings(Utilities.java:1236) at org.jamwiki.servlets.SetupServlet.validate(SetupServlet.java:199) at org.jamwiki.servlets.SetupServlet.initialize(SetupServlet.java:120)

If anyone can help me understand what I've done wrong, it would be greatly appreciated.

Just to confirm, the "File-system directory" that you specified is a directory that already exists on your system, and the permissions are such that the JAMWiki install will be able to create files and directories within it? If the file exists and permissions are OK it's possible that there's some other security issue - I was surprised during a recent install on the latest Debian by some additional permissions that had to be updated before new webapps could be installed - I ended up making significant modifications to my catalina.policy file that can be found within the Tomcat install directory. If that is the problem you're facing you may want to google for "java.security.AllPermission" and "Tomcat". Hope that helps! -- Ryan 07-Jul-2007 23:10 PDT

Ok, I tried adding the following to my catalina.policy file:

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0.war" {
  permission java.security.AllPermission;
};

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0/WEB-INF/lib/-" {
  permission java.security.AllPermission;
};

grant codeBase "file:${catalina.home}/webapps/jamwiki-0.6.0/WEB-INF/lib/commons-dbcp-1.2.2.jar" {
  permission java.security.AllPermission;
};

Still getting the same error :-/ I'm clueless.

I'm not sure if this would help, but here are a few sample entries I would use for an internal-database setup:
File-system directory
/home/wrh2/wiki/ - Note, make sure this directory exists and that permissions are set so that the installer can write to it (777 if you want to be completely sure)
Persistence
Internal database
File upload directory
path-to-webapp/files/ - Note that this directory should already be created when the install is started.
Relative path from web server root to file upload directory
webapp-name/files/
Not sure if that will help - sorry for all of the trouble! I swear installs are usually a very simple process! -- Ryan 08-Jul-2007 10:45 PDT

Well, ok, I tried chmod 0777 on both the File-system directory and the upload dir. And I know they are there before I hit any jsps. My File-system directory is /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw

And we know that the app can write into it ... here are the files that it has written so far :

$ ls -l jw/database/
total 32
-rw-rw-r-- 1 vds vds  16 Jul  8 16:47 jamwiki.lck
-rw-rw-r-- 1 vds vds 153 Jul  8 16:46 jamwiki.log
-rw-rw-r-- 1 vds vds 419 Jul  8 16:27 jamwiki.properties
-rw-rw-r-- 1 vds vds 101 Jul  8 16:27 jamwiki.script

I then tried changing to -R 777 permissions on the sub directory /full/path/to/apache-tomcat-6.0.13/webapps/ROOT/jw/database that it created ... still getting the same error shown above.

And I can see I'm getting a NoSuchElementException when the db connection pool executes the pool.borrowObject() method. The trace shows it near the bottom as follows:

Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:871) at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:176) ... 54 more

Thanks for the help so far ... maybe I should just try an use an external DB ... Anymore advice would be appreciated?

I'm out of ideas. If anyone else has run into this issue perhaps they can contribute, but when it comes to catalina.policy issues (assuming that's what this is) I'm pretty clueless about what needs to be done. Sorry! -- Ryan 08-Jul-2007 18:34 PDT

I went ahead and posted this issue on the apache common mailing list for dbcp to see if anyone there can help me with this issue: click here to go to the mailing list archive of this issue

Maybe some folks more familiar with the apis throwing the exception know what this is :-/

Phil, over on the commons-user list, gave the following comment. It appears quite insightful, but I'm not smart enough to make use of his comment:

Looks like you have the pool configured to validate objects when they

are borrowed (testOnBorrow = true) and the validation is failing. This appears to be configured in the setupConnectionPool method here: in the source code of jamwiki Most likely the validation query is incorrect or failing to return at least one row.

hth, Phil

I can confirm that the validation query is correct. It's likely that it's failing to return a row, but that would probably be due to a setup problem of some sort. Again, I'm suspicious of the Fedora security implementation and suspect that some permission needs to be enabled, but I'm at a loss to say what permission is needed. -- Ryan 09-Jul-2007 09:11 PDT

Well, I just got it installed ... sigh ... why is life so difficult? Here is what I did to "fix" the issue.

  1. I compiled my own commons-pool and commons-dbcp jar files
  2. stuck them into the lib directory of jamwiki
  3. moved the old ones out of the way
  4. built a new jamwiki war file
  5. undeployed the old war from tomcat
  6. restarted tomcat
  7. deployed the new jamwiki war.

I went thru the exact same steps outlined above with the setup jsp, and this time got "further" along than the last. It failed when trying to insert a new role :-/, but it got past all of the create steps. Then I remembered that I had set export CATALINA_OPTS=-Djava.security.debug=all in order to try to figure out the "security" issue I was having before, and that was throwing _lots_ of spew into the catalina.log which I felt might be masking an error that I cared about, so I ...

  1. shutdown tomcat again
  2. unset CATALINA_OPTS
  3. restarted tomcat again.

Then I went throught the exact same steps above with the setup jsp for jamwiki, and this time I got the warning that I should UPGRADE if I was upgrading, and to only hit continue if I wanted to continue with this new install because a database had already been created, so I hit continue, and got the edit page for the topic startingPoints ... yay!

Anyway ... it's very unclear to me what the actual problem was earlier. I did not change any permissions at all. Although I did add the "grant" statements noted above to the catalina.policy file, but it was still failing with that until I compiled my own pool and dbcp jars :-/ Makes no sense to me.

Now I am getting the following error: Error A system error has occurred. The error message is: An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ).

Not sure why ... but it's: Caused by: java.sql.SQLException: Integrity constraint violation - no parent JAM_FK_TOPIC_VWIKI table: JAM_VIRTUAL_WIKI in statement [insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )]

If anyone understands this issue, let me know ... thanks.

[Edit]More bugs

Hi Ryan, I have summarized some of the bugs i found.
  • While editing null text validation is not done properly. It does accepts null text in all editing.
  • I am using JAMWiki with an external database(MSSQL) and JBoss(4.0.5GA) and jtds driver. The problem i have is during setup. After filling the fields required for external dbconnection and click setup, it goes halfway and stops, later the page cannot be displayed message is seen. Also the dbconnection is working fine with initial setup, configured with local db and then again configuring to external db using admin login. For that the data in the hsql db must be loaded into the external db(here mssql).
  • The all users link is throwing error while using external database.Below is the error.

An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing BEGIN DECLARE @COUNT int DECLARE @TOP int DECLARE @OFFSET int DECLARE @LIMIT int DECLARE @SQL varchar(300) SET @LIMIT = ? SET @OFFSET = ? SET @TOP = @LIMIT SET @COUNT = (select count(*) from jam_wiki_user_info) IF (@OFFSET > @COUNT) SET @OFFSET = @COUNT IF (@COUNT < @OFFSET + @LIMIT) SET @TOP = @COUNT - @OFFSET SET @SQL = 'select * from ( ' + 'select top '+CONVERT(VARCHAR, @TOP)+' * from ( ' + 'select top '+CONVERT(VARCHAR, @OFFSET + @LIMIT)+' login ' + 'from jam_wiki_user_info + 'order by login ' + ') a ' + 'order by login desc ' + ') b ' + ' order by login ' EXEC(@SQL) END.

  • Deleting topics is handled by passive deletion. After deletion of a particular topic, if user wants to re-create the same topic again, following error is thrown.

An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? ).

  • LDAP authentication is not working properly.(Anyone who have used LDAP in JAMWiki help me!!!)
  • Anonymous users are able to upload file upon which restriction must be posed.

(Note: I have tried 0.6.0 beta2 release also. In that too i deselected the ROLE_UPLOAD for anonymous users. But still anonymously file is being uploaded.)

  • Regarding DB2 database, it does not support constraint and index names greater than 18 characters. Some of the constraint is more than the specified length.

Hope u would look into these issues before the final release.

--yesesnono 20-Aug-2007 02:52 PDT

Thanks for the report - I'll definitely look through each of these later tonight. If there are any log messages related to the setup issue that you can provide it would be a big help. As to the LDAP issue, the current implementation is very basic (I just installed OpenLDAP and made sure I could connect/authenticate) so I may need to wait until someone with an actual LDAP setup is able to update the implementation. The rest of your issues are things that I think can be addressed, so hopefully a beta3 can be prepared soon that addresses them, with a final release to follow shortly after that. Thanks again for the detailed report! -- Ryan 20-Aug-2007 09:17 PDT
Some responses:
  1. It should be OK to edit a topic and remove all content - this saves an empty string as the topic content. I know that Oracle converts empty string to null values, which caused problems in earlier JAMWiki versions. Is that same problem occurring with another database?
  2. Please let me know any message from the logs - I don't have a DB2 or MSSQL database to test with, so it is possible a setup bug has been introduced that affects on of those databases.
  3. This error is definitely specific to MS SQL - I didn't have a chance to investigate further yet, but if there are any additional errors in the logs they might contain additional detail. If not I suspect it will be possible to address the issue after looking more closely at the code.
  4. Again, I suspect that this might be database-specific as I haven't seen it before using Oracle, Postgres, HSQL or MySQL. Was this error seen with MS SQL or DB2?
  5. See the comment above about LDAP - I'll need help to get that working, so anyone willing to write code or act as a guineau pig, speak up!
  6. AWESOME catch on the permission issue. It turns out that the new code would add new permissions for anonymous users, but did not remove them without a restart or the expiration of some cached objects. revision 1800 should fix the problem.
  7. Unless someone else does it first I'll go through the /WEB-INF/classes/db2.properties file and trim constraint names within the next few days - I may be busy tomorrow night, but hopefully by Wednesday or Thursday.
Thanks again for the thorough bug reports - there aren't a lot of people that use DB2 or MS SQL with JAMWiki, so unfortunately those databases are likely to be a bit buggier than others. -- Ryan 20-Aug-2007 23:19 PDT

Hi Ryan,

  • There is no bug occuring in database due to null text in MSSQL or DB2 but it is still saved as an empty content.
  • Below is the log occured while trying to connect directly to the external DB(MSSQL) during set up.
Server Log:
2007-08-22 19:42:34,212 INFO  [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 1m:1s:736ms
2007-08-22 19:43:38,509 ERROR [STDERR] Aug 22, 2007 7:43:38 PM org.jamwiki.utils.WikiLogger warning
WARNING: Property file C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\jamwiki.properties does not exist
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] Candidate is: '/en/Special:Setup'; pattern is /**; matched=true
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpSessionContextIntegrationFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'logoutFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'authenticationProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'rememberMeProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'anonymousProcessingFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'exceptionTranslationFilter'
2007-08-22 19:43:38,525 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'filterInvocationInterceptor'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 1 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.context.HttpSessionContextIntegrationFilter@12abadc'

2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] No HttpSession currently exists - new SecurityContext instance associated with SecurityContextHolder
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 2 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiLogoutFilter@162bd90'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 3 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiAuthenticationProcessingFilter@18b41da'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 4 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.rememberme.RememberMeProcessingFilter@1908558'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 5 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.providers.anonymous.AnonymousProcessingFilter@1226fe1'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.providers.anonymous.AnonymousProcessingFilter] Populated SecurityContextHolder with anonymous token: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 6 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.ExceptionTranslationFilter@1df2ecc'
2007-08-22 19:43:38,525 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 7 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.intercept.web.FilterSecurityInterceptor@179688d'
2007-08-22 19:43:38,540 DEBUG [org.acegisecurity.intercept.AbstractSecurityInterceptor] Public object - authentication not attempted
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: org.acegisecurity.event.authorization.PublicInvocationEvent[source=FilterInvocation: URL: /en/Special:Setup]
2007-08-22 19:43:38,540 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup reached end of additional filter chain; proceeding with original chain
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler map [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@3f983f] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] Looking up handler for [/Special:Setup]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] Last-Modified value for [/JAMWiki/en/Special:Setup] is [-1]
2007-08-22 19:43:38,540 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'jamwiki' received request for [/JAMWiki/en/Special:Setup]
2007-08-22 19:43:38,556 DEBUG [org.springframework.web.servlet.DispatcherServlet] Bound request context to thread: org.apache.catalina.connector.RequestFacade@17dc299
2007-08-22 19:43:38,587 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:43:38,587 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:43:38,712 ERROR [STDERR] Aug 22, 2007 7:43:38 PM org.jamwiki.utils.WikiLogger info
INFO: Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.InternalResourceViewResolver] Cached view [setup]
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.DispatcherServlet] Rendering view [org.springframework.web.servlet.view.JstlView: name 'setup'; URL [/WEB-INF/jsp/setup.jsp]] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.JstlView] Rendering view with name 'setup' with model {dataHandlers=[org.jamwiki.model.WikiConfigurationObject@a06577, org.jamwiki.model.WikiConfigurationObject@65a686, org.jamwiki.model.WikiConfigurationObject@197c457, org.jamwiki.model.WikiConfigurationObject@db38e1, org.jamwiki.model.WikiConfigurationObject@7359f7, org.jamwiki.model.WikiConfigurationObject@1176e8a, org.jamwiki.model.WikiConfigurationObject@15a4247, org.jamwiki.model.WikiConfigurationObject@b57646]} and static attributes {}
2007-08-22 19:43:38,728 DEBUG [org.springframework.web.servlet.view.JstlView] Added model object 'dataHandlers' of type [java.util.Vector] to request in view with name 'setup'
2007-08-22 19:43:39,087 DEBUG [org.jboss.web.tomcat.tc5.jasper.TagLibCache] Scanning for tlds in: file:/C:/Program Files/jboss-4.0.5.GA/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs/myfaces-impl.jar
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.view.JstlView] Forwarded to resource [/WEB-INF/jsp/setup.jsp] in InternalResourceView 'setup'
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.DispatcherServlet] Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@17dc299
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@17aaeec]: ServletRequestHandledEvent: url=[/JAMWiki/en/Special:Setup]; client=[127.0.0.1]; method=[GET]; servlet=[jamwiki]; session=[7A4B4C089FADFDB5A9F7494307ACB5BF]; user=[null]; time=[5172ms]; status=[OK]
2007-08-22 19:43:43,712 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: ServletRequestHandledEvent: url=[/JAMWiki/en/Special:Setup]; client=[127.0.0.1]; method=[GET]; servlet=[jamwiki]; session=[7A4B4C089FADFDB5A9F7494307ACB5BF]; user=[null]; time=[5172ms]; status=[OK]
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.ui.ExceptionTranslationFilter] Chain processed normally
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] SecurityContext stored to HttpSession: 'org.acegisecurity.context.SecurityContextImpl@9055e4a6: Authentication: org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:43:43,712 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] SecurityContextHolder set to new context, as request processing completed
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] Candidate is: '/en/Special:Setup'; pattern is /**; matched=true
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpSessionContextIntegrationFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'logoutFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'authenticationProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'rememberMeProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'anonymousProcessingFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'exceptionTranslationFilter'
2007-08-22 19:47:35,887 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'filterInvocationInterceptor'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 1 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.context.HttpSessionContextIntegrationFilter@12abadc'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.context.HttpSessionContextIntegrationFilter] Obtained from ACEGI_SECURITY_CONTEXT a valid SecurityContext and set to SecurityContextHolder: 'org.acegisecurity.context.SecurityContextImpl@9055e4a6: Authentication: org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 2 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiLogoutFilter@162bd90'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 3 of 7 in additional filter chain; firing Filter: 'org.jamwiki.authentication.JAMWikiAuthenticationProcessingFilter@18b41da'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 4 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.rememberme.RememberMeProcessingFilter@1908558'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.ui.rememberme.RememberMeProcessingFilter] SecurityContextHolder not populated with remember-me token, as it already contained: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 5 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.providers.anonymous.AnonymousProcessingFilter@1226fe1'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.providers.anonymous.AnonymousProcessingFilter] SecurityContextHolder not populated with anonymous token, as it already contained: 'org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken@9055e4a6: Username: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 6 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.ui.ExceptionTranslationFilter@1df2ecc'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup at position 7 of 7 in additional filter chain; firing Filter: 'org.acegisecurity.intercept.web.FilterSecurityInterceptor@179688d'
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.intercept.AbstractSecurityInterceptor] Public object - authentication not attempted
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@6742d0]: org.acegisecurity.event.authorization.PublicInvocationEvent[source=FilterInvocation: URL: /en/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.acegisecurity.util.FilterChainProxy] /en/Special:Setup reached end of additional filter chain; proceeding with original chain
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'jamwiki' received request for [/JAMWiki/en/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Bound request context to thread: org.apache.catalina.connector.RequestFacade@3002b9
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler map [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@3f983f] in DispatcherServlet with name 'jamwiki'
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] Looking up handler for [/Special:Setup]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@1246bec]
2007-08-22 19:47:35,887 DEBUG [org.springframework.web.servlet.DispatcherServlet] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@38ebc3]
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.DiskStoreConfiguration] Disk Store Path: F:\Softwares\JAMWikiFiles\cache
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CacheManagerEventListenerFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerListenerFactoryConfiguration specified. Not configuring a CacheManagerPeerListener.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerProviderFactoryConfiguration specified. Not configuring a CacheManagerPeerProvider.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No BootstrapCacheLoaderFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.DiskStoreConfiguration] Disk Store Path: F:\Softwares\JAMWikiFiles\cache
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CacheManagerEventListenerFactory class specified. Skipping...
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerListenerFactoryConfiguration specified. Not configuring a CacheManagerPeerListener.
2007-08-22 19:47:36,606 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No CachePeerProviderFactoryConfiguration specified. Not configuring a CacheManagerPeerProvider.
2007-08-22 19:47:36,622 DEBUG [net.sf.ehcache.config.ConfigurationHelper] No BootstrapCacheLoaderFactory class specified. Skipping...
2007-08-22 19:47:36,684 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_virtual_wiki ( virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, default_topic_name VARCHAR(200) NOT NULL, create_date DATETIME DEFAULT GETDATE() NOT NULL, CONSTRAINT jam_pk_vwiki PRIMARY KEY (virtual_wiki_id), CONSTRAINT jam_unique_vwiki_name UNIQUE (virtual_wiki_name) )
2007-08-22 19:47:36,700 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_wiki_user ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, display_name VARCHAR(100), create_date DATETIME DEFAULT GETDATE() NOT NULL, last_login_date DATETIME DEFAULT GETDATE() NOT NULL, create_ip_address VARCHAR(15) NOT NULL, last_login_ip_address VARCHAR(15) NOT NULL, is_admin INTEGER DEFAULT 0 NOT NULL, remember_key VARCHAR(100) NOT NULL, default_locale VARCHAR(8), CONSTRAINT jam_pk_wiki_user PRIMARY KEY (wiki_user_id) )
2007-08-22 19:47:36,700 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_wiki_user_info ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, email VARCHAR(100), first_name VARCHAR(100), last_name VARCHAR(100), encoded_password VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_wiki_uinfo PRIMARY KEY (wiki_user_id), CONSTRAINT jam_fk_wiki_uinfo_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_wiki_uinfo_login UNIQUE (login) )
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (login)
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_topic ( topic_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, delete_date DATETIME, topic_read_only INTEGER DEFAULT 0 NOT NULL, topic_admin_only INTEGER DEFAULT 0 NOT NULL, current_version_id INTEGER, topic_type INTEGER NOT NULL, redirect_to VARCHAR(200), CONSTRAINT jam_pk_topic PRIMARY KEY (topic_id), CONSTRAINT jam_fk_topic_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id) )
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_topic_version ( topic_version_id INTEGER NOT NULL, topic_id INTEGER NOT NULL, edit_comment VARCHAR(200), version_content TEXT, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_type INTEGER NOT NULL, previous_topic_version_id INTEGER, CONSTRAINT jam_pk_topic_ver PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_topic_ver_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_topic_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_topic_ver_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id) ) 
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: ALTER TABLE jam_topic add constraint jam_fk_topic_topic_ver FOREIGN KEY (current_version_id) REFERENCES jam_topic_version(topic_version_id) 
2007-08-22 19:47:36,715 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_file ( file_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, file_name VARCHAR(200) NOT NULL, delete_date DATETIME, file_read_only INTEGER DEFAULT 0 NOT NULL, file_admin_only INTEGER DEFAULT 0 NOT NULL, file_url VARCHAR(200) NOT NULL, mime_type VARCHAR(100) NOT NULL, topic_id INTEGER NOT NULL, file_size INTEGER NOT NULL, CONSTRAINT jam_pk_file PRIMARY KEY (file_id), CONSTRAINT jam_fk_file_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_fk_file_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_unique_file_url UNIQUE (file_url), CONSTRAINT jam_unique_file_topic_vwiki UNIQUE (virtual_wiki_id, topic_id) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_file_version ( file_version_id INTEGER NOT NULL, file_id INTEGER NOT NULL, upload_comment VARCHAR(200), file_url VARCHAR(200) NOT NULL, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, upload_date DATETIME DEFAULT GETDATE() NOT NULL, mime_type VARCHAR(100) NOT NULL, file_size INTEGER NOT NULL, CONSTRAINT jam_pk_file_ver PRIMARY KEY (file_version_id), CONSTRAINT jam_fk_file_ver_file FOREIGN KEY (file_id) REFERENCES jam_file(file_id), CONSTRAINT jam_fk_file_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_file_ver_url UNIQUE (file_url) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_category ( child_topic_id INTEGER NOT NULL, category_name VARCHAR(200) NOT NULL, sort_key VARCHAR(200), CONSTRAINT jam_pk_category PRIMARY KEY (child_topic_id, category_name), CONSTRAINT jam_fk_category_child_id FOREIGN KEY (child_topic_id) REFERENCES jam_topic(topic_id) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_recent_change ( topic_version_id INTEGER NOT NULL, previous_topic_version_id INTEGER, topic_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_comment VARCHAR(200), wiki_user_id INTEGER, display_name VARCHAR(200) NOT NULL, edit_type INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_rchange PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_rchange_topic_ver FOREIGN KEY (topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_rchange_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_rchange_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,731 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Executing SQL: CREATE TABLE jam_watchlist ( wiki_user_id INTEGER NOT NULL, topic_name VARCHAR(200), virtual_wiki_id INTEGER NOT NULL, CONSTRAINT jam_pk_watchlist PRIMARY KEY (wiki_user_id, topic_name, virtual_wiki_id), CONSTRAINT jam_fk_watchlist_user_id FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_watchlist_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.DiskStore] Deleting data file org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI.data
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.MemoryStore] Initialized net.sf.ehcache.store.LruMemoryStore for org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.LruMemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI Cache: Using SpoolingLinkedHashMap implementation
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.Cache] Initialised cache: org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI
2007-08-22 19:47:36,778 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: Cannot remove entry as key en was not found
2007-08-22 19:47:36,794 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: Cannot remove entry as key 1 was not found
2007-08-22 19:47:36,794 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: Setting up special page en / StartingPoints
2007-08-22 19:47:36,809 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: File pages\en_US\StartingPoints.txt does not exist
2007-08-22 19:47:36,809 ERROR [STDERR] Aug 22, 2007 7:47:36 PM org.jamwiki.utils.WikiLogger info
INFO: File pages\en\StartingPoints.txt does not exist
2007-08-22 19:49:55,514 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
2007-08-22 19:52:32,032 INFO  [STDOUT] 19:52:32,032 WARN  [PingQueueProcessor] WARNING: Skipping current ping queue processing round because we cannot yet determine the site's absolute context url.
2007-08-22 19:57:25,520 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
2007-08-22 19:57:32,036 INFO  [STDOUT] 19:57:32,036 WARN  [PingQueueProcessor] WARNING: Skipping current ping queue processing round because we cannot yet determine the site's absolute context url.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI is persistent. Spooling 2 elements to the disk store.
2007-08-22 20:00:10,397 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,397 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,413 INFO  [org.jboss.system.server.Server] Runtime shutdown hook called, forceHalt: true
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: spool to disk done for: 1
2007-08-22 20:00:10,413 INFO  [net.sf.ehcache.CacheManager] VM shutting down with the CacheManager still active. Calling shutdown.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data
2007-08-22 20:00:10,413 DEBUG [org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread] Notified to shutdown
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKICache: spool to disk done for: en
2007-08-22 20:00:10,413 INFO  [org.jboss.system.server.Server] JBoss SHUTDOWN: Undeploying all packages
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file org.jamwiki.db.AnsiDataHandler.CACHE_VIRTUAL_WIKI.data
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.MemoryStore] userCache is persistent. Spooling 0 elements to the disk store.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,413 DEBUG [net.sf.ehcache.store.DiskStore] Spool Thread interrupted.
2007-08-22 20:00:10,428 DEBUG [net.sf.ehcache.store.DiskStore] Deleting file userCache.data

Wiki Log:

2007-08-22 19:42:21,055 CONFIG: org.jamwiki.utils.WikiLogger - JAMWiki log initialized from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\logging.properties with pattern %t/jamwiki.log.%g
2007-08-22 19:42:21,321 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\jamwiki.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:42:21,352 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\jamwiki-0.6.0-beta2.war\WEB-INF\classes\sql.hsql.properties
2007-08-22 19:43:38,494 WARNING: org.jamwiki.Environment - Property file C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\jamwiki.properties does not exist
2007-08-22 19:43:38,712 INFO: org.jamwiki.servlets.JAMWikiServlet - Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:43:38,712 INFO: org.jamwiki.servlets.JAMWikiServlet - Loaded page /JAMWiki/en/Special:Setup (0.125 s.)
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,528 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,544 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.mssql.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.ansi.properties
2007-08-22 19:47:36,606 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\sql.mssql.properties
2007-08-22 19:47:36,684 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_virtual_wiki ( virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, default_topic_name VARCHAR(200) NOT NULL, create_date DATETIME DEFAULT GETDATE() NOT NULL, CONSTRAINT jam_pk_vwiki PRIMARY KEY (virtual_wiki_id), CONSTRAINT jam_unique_vwiki_name UNIQUE (virtual_wiki_name) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_wiki_user ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, display_name VARCHAR(100), create_date DATETIME DEFAULT GETDATE() NOT NULL, last_login_date DATETIME DEFAULT GETDATE() NOT NULL, create_ip_address VARCHAR(15) NOT NULL, last_login_ip_address VARCHAR(15) NOT NULL, is_admin INTEGER DEFAULT 0 NOT NULL, remember_key VARCHAR(100) NOT NULL, default_locale VARCHAR(8), CONSTRAINT jam_pk_wiki_user PRIMARY KEY (wiki_user_id) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_wiki_user_info ( wiki_user_id INTEGER NOT NULL, login VARCHAR(100) NOT NULL, email VARCHAR(100), first_name VARCHAR(100), last_name VARCHAR(100), encoded_password VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_wiki_uinfo PRIMARY KEY (wiki_user_id), CONSTRAINT jam_fk_wiki_uinfo_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_wiki_uinfo_login UNIQUE (login) )
2007-08-22 19:47:36,700 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE UNIQUE INDEX jam_unique_wiki_user_login on jam_wiki_user (login)
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_topic ( topic_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, delete_date DATETIME, topic_read_only INTEGER DEFAULT 0 NOT NULL, topic_admin_only INTEGER DEFAULT 0 NOT NULL, current_version_id INTEGER, topic_type INTEGER NOT NULL, redirect_to VARCHAR(200), CONSTRAINT jam_pk_topic PRIMARY KEY (topic_id), CONSTRAINT jam_fk_topic_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id) )
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_topic_version ( topic_version_id INTEGER NOT NULL, topic_id INTEGER NOT NULL, edit_comment VARCHAR(200), version_content TEXT, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_type INTEGER NOT NULL, previous_topic_version_id INTEGER, CONSTRAINT jam_pk_topic_ver PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_topic_ver_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_topic_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_topic_ver_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id) ) 
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: ALTER TABLE jam_topic add constraint jam_fk_topic_topic_ver FOREIGN KEY (current_version_id) REFERENCES jam_topic_version(topic_version_id) 
2007-08-22 19:47:36,715 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_file ( file_id INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, file_name VARCHAR(200) NOT NULL, delete_date DATETIME, file_read_only INTEGER DEFAULT 0 NOT NULL, file_admin_only INTEGER DEFAULT 0 NOT NULL, file_url VARCHAR(200) NOT NULL, mime_type VARCHAR(100) NOT NULL, topic_id INTEGER NOT NULL, file_size INTEGER NOT NULL, CONSTRAINT jam_pk_file PRIMARY KEY (file_id), CONSTRAINT jam_fk_file_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id), CONSTRAINT jam_fk_file_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_unique_file_url UNIQUE (file_url), CONSTRAINT jam_unique_file_topic_vwiki UNIQUE (virtual_wiki_id, topic_id) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_file_version ( file_version_id INTEGER NOT NULL, file_id INTEGER NOT NULL, upload_comment VARCHAR(200), file_url VARCHAR(200) NOT NULL, wiki_user_id INTEGER, wiki_user_ip_address VARCHAR(15) NOT NULL, upload_date DATETIME DEFAULT GETDATE() NOT NULL, mime_type VARCHAR(100) NOT NULL, file_size INTEGER NOT NULL, CONSTRAINT jam_pk_file_ver PRIMARY KEY (file_version_id), CONSTRAINT jam_fk_file_ver_file FOREIGN KEY (file_id) REFERENCES jam_file(file_id), CONSTRAINT jam_fk_file_ver_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_unique_file_ver_url UNIQUE (file_url) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_category ( child_topic_id INTEGER NOT NULL, category_name VARCHAR(200) NOT NULL, sort_key VARCHAR(200), CONSTRAINT jam_pk_category PRIMARY KEY (child_topic_id, category_name), CONSTRAINT jam_fk_category_child_id FOREIGN KEY (child_topic_id) REFERENCES jam_topic(topic_id) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_recent_change ( topic_version_id INTEGER NOT NULL, previous_topic_version_id INTEGER, topic_id INTEGER NOT NULL, topic_name VARCHAR(200) NOT NULL, edit_date DATETIME DEFAULT GETDATE() NOT NULL, edit_comment VARCHAR(200), wiki_user_id INTEGER, display_name VARCHAR(200) NOT NULL, edit_type INTEGER NOT NULL, virtual_wiki_id INTEGER NOT NULL, virtual_wiki_name VARCHAR(100) NOT NULL, CONSTRAINT jam_pk_rchange PRIMARY KEY (topic_version_id), CONSTRAINT jam_fk_rchange_topic_ver FOREIGN KEY (topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_prv_topic_ver FOREIGN KEY (previous_topic_version_id) REFERENCES jam_topic_version(topic_version_id), CONSTRAINT jam_fk_rchange_topic FOREIGN KEY (topic_id) REFERENCES jam_topic(topic_id), CONSTRAINT jam_fk_rchange_wiki_user FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_rchange_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,731 INFO: org.jamwiki.db.DatabaseConnection - Executing SQL: CREATE TABLE jam_watchlist ( wiki_user_id INTEGER NOT NULL, topic_name VARCHAR(200), virtual_wiki_id INTEGER NOT NULL, CONSTRAINT jam_pk_watchlist PRIMARY KEY (wiki_user_id, topic_name, virtual_wiki_id), CONSTRAINT jam_fk_watchlist_user_id FOREIGN KEY (wiki_user_id) REFERENCES jam_wiki_user(wiki_user_id), CONSTRAINT jam_fk_watchlist_vwiki FOREIGN KEY (virtual_wiki_id) REFERENCES jam_virtual_wiki(virtual_wiki_id) )
2007-08-22 19:47:36,794 INFO: org.jamwiki.db.WikiDatabase - Setting up special page en / StartingPoints
2007-08-22 19:47:36,809 INFO: org.jamwiki.utils.Utilities - File pages\en_US\StartingPoints.txt does not exist
2007-08-22 19:47:36,809 INFO: org.jamwiki.utils.Utilities - File pages\en\StartingPoints.txt does not exist
2007-08-22 19:47:37,090 CONFIG: org.jamwiki.Environment - Loading properties from C:\Program Files\jboss-4.0.5.GA\server\default\.\deploy\JAMWiki.war\WEB-INF\classes\interwiki.properties
  • All users link
Log
2007-08-22 20:48:35,101 SEVERE: org.jamwiki.servlets.ServletUtil - Servlet error
java.lang.Exception: Failure while executing BEGIN DECLARE @COUNT int DECLARE @TOP int DECLARE @OFFSET int DECLARE @LIMIT int DECLARE @SQL varchar(300) SET @LIMIT = ? SET @OFFSET = ? SET @TOP = @LIMIT SET @COUNT = (select count(*) from jam_wiki_user_info) IF (@OFFSET > @COUNT) SET @OFFSET = @COUNT IF (@COUNT < @OFFSET + @LIMIT) SET @TOP = @COUNT - @OFFSET SET @SQL = 'select * from ( ' + 'select top '+CONVERT(VARCHAR, @TOP)+' * from ( ' + 'select top '+CONVERT(VARCHAR, @OFFSET + @LIMIT)+' login ' + 'from jam_wiki_user_info + 'order by login ' + ') a ' + 'order by login desc ' + ') b ' + ' order by login ' EXEC(@SQL) END
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:84)
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:61)
	at org.jamwiki.db.AnsiQueryHandler.lookupWikiUsers(AnsiQueryHandler.java:771)
	at org.jamwiki.db.AnsiDataHandler.lookupWikiUsers(AnsiDataHandler.java:986)
	at org.jamwiki.servlets.ItemsServlet.viewUsers(ItemsServlet.java:86)
	at org.jamwiki.servlets.ItemsServlet.handleJAMWikiRequest(ItemsServlet.java:57)
	at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
	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:839)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:774)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:460)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:415)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
''trimmed''
Caused by: java.sql.SQLException: Invalid SQL statement or JDBC escape, terminating ''' not found.
	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:1155)
	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:156)
	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.<init>(JtdsPreparedStatement.java:104)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2221)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2179)
	at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:248)
	at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.prepareStatement(PoolingDriver.java:367)
	at org.jamwiki.db.WikiPreparedStatement.executeQuery(WikiPreparedStatement.java:74)
	... 56 more
  • Trying to re-create a topic that has been deleted:
Log:
2007-08-22 20:41:48,549 SEVERE: org.jamwiki.servlets.ServletUtil - Servlet error
java.lang.Exception: Failure while executing insert into jam_topic ( topic_id, virtual_wiki_id, topic_name, topic_type, topic_read_only, current_version_id, delete_date, topic_admin_only, redirect_to ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )
	at org.jamwiki.db.WikiPreparedStatement.executeUpdate(WikiPreparedStatement.java:119)
	at org.jamwiki.db.AnsiQueryHandler.insertTopic(AnsiQueryHandler.java:509)
	at org.jamwiki.db.AnsiDataHandler.addTopic(AnsiDataHandler.java:91)
	at org.jamwiki.db.AnsiDataHandler.writeTopic(AnsiDataHandler.java:1229)
	at org.jamwiki.servlets.EditServlet.save(EditServlet.java:330)
	at org.jamwiki.servlets.EditServlet.handleJAMWikiRequest(EditServlet.java:59)
	at org.jamwiki.servlets.JAMWikiServlet.handleRequestInternal(JAMWikiServlet.java:74)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
''trimmed''
Caused by: java.sql.SQLException: Violation of UNIQUE KEY constraint 'jam_unique_topic_name_vwiki'. Cannot insert duplicate key in object 'jam_topic'.
	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:628)
	at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:421)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
	at org.jamwiki.db.WikiPreparedStatement.executeUpdate(WikiPreparedStatement.java:111)
	... 56 more
  • It doesn't so far cause any problem by editing the constraint names in DB2 as i am using like that.
Sorry for sending the logs like this. I am running out of time thats why. Kindly bear with it. Thank you for your response.
Thanks! The information you've provided is extremely helpful. I should have some time tonight to investigate, so hopefully these can get fixed soon. Again, thank you very much for the detailed bug reports. -- Ryan 22-Aug-2007 09:09 PDT
Here's the status:
  1. Empty topic content should be OK as that's the same behavior as what is allowed by Mediawiki. Provided there aren't any bugs generated then I think this one is OK for the 0.6.0 release.
  2. I'm still looking into the setup issue.
  3. The Special:Listusers issue should be fixed by revision 1803.
  4. The failure re-creating previously deleted topics should be fixed by revision 1804. Existing MS SQL setups will need to modify the jam_unique_topic_name_vwiki constraint on the jam_topic table as follows: CONSTRAINT jam_unique_topic_name_vwiki UNIQUE (topic_name, virtual_wiki_id, delete_date).
  5. LDAP will probably remain problematic for the 0.6.0 release. Hopefully it can be improved in a future release.
  6. revision 1800 should fix the anonymous upload issue.
  7. I still need to update the constraint name lengths for DB2.
I'll keep plugging away at these a bit longer, although I'm only capable of staring at code for about 18 hours a day :) -- Ryan 22-Aug-2007 21:57 PDT
Hi Ryan,
  • Yes that's OK with empty content.
  • During the setup first it goes to the ANSI query handler properties file. Also it creates the cache folder in the file system directory and it have one ansi cache file with no data. So what I am doing to connect it to MSSQL(or DB2) is first do the setup with internal database, and I use the log it creates while setup for creating the tables and inserting the data in the external db by modifying the syntax according to the DB. After that in the configuration tab, in the persistence settings i provide all the required values and save it. From then it works fine with the external DB.
  • I'll try the modification to be done for handling the deleted topics.
  • I am now working on the LDAP code too. Once it is through i hope it may be of some help to you.
Thank you. --yesesnono 24-Aug-2007 13:13 PDT
Just to clarify, why is the additional step of choosing "internal database" and then converting to "MS SQL" necessary, as opposed to just selecting the "MS SQL" database type from the setup screen? I don't have access to either an MS SQL database or DB2 database to test with, but I think that there were success reports with both databases during past JAMWiki releases. I'm still trying to understand the problem, so apologies for all of the questions.
Regarding LDAP, the original implementation was done prior to using Acegi with JAMWiki, so if that's something that interests you then you may want to look at the Acegi LDAP support. I'd like to let Acegi handle as much as possible, so an implementationg that utilized the Acegi LDAP framework would be best.
I'm planning on spending a good deal of time on JAMWiki this weekend, so hopefully there will be a new beta by Sunday at the latest that addresses the remaining problems. -- Ryan 24-Aug-2007 13:28 PDT
I've installed JBoss, but the documentation is apparently behind a Redhat login screen so I've only been able to do some basic testing. I'm able to install the latest JAMWiki code in both internal database mode and external database mode using MySQL, but since the WAR file is not deployed as an exploded war then JBoss loses the property configuration information after restarting. Installing as an exploded WAR should resolve that issue.
I'd be willing to continue looking into the problem, but at this point I don't want to hold up the final 0.6.0 release much longer, so I'll probably defer to someone who knows JBoss better to say how best to address any problems. Hopefully that sounds reasonable! -- Ryan 26-Aug-2007 20:07 PDT
Regarding the DB2 18 character index name limit, having looked at the SQL there are a LOT of indexes that exceed 18 characters in length. I think the best way to address that problem is to update the ANSI SQL file to limit all index names to 18 characters - doing so limits the amount of SQL that will be different for DB2; however, since that affects all databases I'd like to make sure it goes through thorough testing, so I think it would be best to delay the change until 0.6.1. Hopefully that won't cause too much inconvenience. -- Ryan 26-Aug-2007 21:22 PDT
  • The additional step of choosing internal first and then going for MS SQL is because if we choose the external database first using MS SQL, the setup could not be completed. It just stops half way and a page cannot be displayed is seen in the browser. The log is already provided before.
  • I could not figure out why the external database connection could not be established at the configuration time.
  • JAMWiki is deployed in exploded form only in the JBoss. It retains the properties as such. No problem in that. --yesesnono 29-Aug-2007 03:35 PDT
revision 1827 trims all SQL constraint names to less than 18 characters, which should hopefully resolve the DB2 issues. I don't have a DB2 database to test with, so any confirmation about whether or not this solves the problem would be greatly appreciated! -- Ryan 04-Sep-2007 23:22 PDT
There was a comment added about the Special:Listusers page still not working with MS SQL that was later removed. Is that page still broken in 0.6.0? I'm hoping that issue is resolved, but if not I'll continue to investigate. Thanks! -- Ryan 09-Sep-2007 22:32 PDT

Hi Ryan,

Here are another set of issues for your reference.
  • Regarding the Listusers Page in MSSQL, it is working fine.
  • Setup issue is yet to be resolved.
DB2 Issues
  • The trimmed constraints are replaced as such. No problem with the constraint names.
  • DB2 doesn't allow null values in the unique constraints. So the follwing modifications are required. But it affects the constraints
    • In jam_topic table, delete_date is removed from the unique constraint jam_u_topic_name. Since delete_date can contain null values it is not allowed to be a column in the unique key.
    • In jam_role_map table,the unique constraint jam_u_rmap is removed for the similar reason.
    • In jam_watchlist table, topic name has been made as not null.
  • Apart from this, the recent changes and history link are throwing error in DB2.
Recent changes(Error):
   An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing select * from ( select *, rownumber() over (order by edit_date desc) as rownum from jam_recent_change where virtual_wiki_name = ? ) as jam_recent_change where rownum > ? and rownum <= ? order by rownum .
History(Error):
  An unknown system error has occurred. The error message is: java.lang.Exception: Failure while executing select * from ( select *, rownumber() over (order by edit_date desc) as rownum from jam_recent_change where topic_id = ? order by edit_date desc ) as jam_recent_change where rownum > ? and rownum <= ? order by rownum .

--yesesnono 18-Sep-2007 05:23 PDT

Thanks for continuing to provide these updates. I'll need to give some thought to how to work around the "no null values in primary keys" restriction, since that's how JAMWiki allows topics to be deleted and undeleted. It looks like I may be able to download a trial copy of DB2 from this site, and if that works hopefully the remainder of the issues can be quickly resolved. I'm extremely busy for the next week, but with luck will be able to try it out in the next two weeks. -- Ryan 18-Sep-2007 21:34 PDT
I finally got around to trying to install DB2, and it won't install on Windows XP (requires XP professional). I'll continue trying to make updates based on your reports (which are very helpful, thanks!), but obviously that approach will take a bit longer, so full DB2 support may not be possible for the next release. -- Ryan 29-Sep-2007 10:25 PDT

[Edit]StartingPoints message

Hi Ryan, I did start my webtests - all green. Then I called localhost:8080/jamwiki-war/ and got a strange StartingPoints-page.

<div id="contents">
 <div id="contents-header">StartingPoints;jsessionid=10rrk4la97wt4</div>
  <div class="message">Der Artikel "StartingPoints;jsessionid=10rrk4la97wt4" existiert zur Zeit noch nicht. Um ihn anzulegen folgen Sie bitte diesem Link: <a href="/jamwiki-war/en/Special:Edit?topic=StartingPoints%3Bjsessionid%3D10rrk4la97wt4" class="edit" title="StartingPoints;jsessionid=10rrk4la97wt4">StartingPoints;jsessionid=10rrk4la97wt4</a>.</div>
  <br>
</div>

Dont know what this kind of message means to me? Anyway is this the right place to post such messages? -- mbert 19-Oct-2008 11:12 PDT

And wenn I login as the user admin I do get a clean StartingPoints page. -- mbert 19-Oct-2008 11:13 PDT
Thanks for the report - current trunk has some issues related to the storing of passwords (I'm working on fixing it) that may be causing the issue above. I'll try to get a fix checked in soon. -- Ryan 19-Oct-2008 20:26 PDT

[Edit]Error while clicking the link All Pages/All Topics

When the link All Pages is clicked the below error message are seen in version JAMWiki0.6.7


Below error message is seen: 

java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName


Server log:

SEVERE: Error in JSP page
java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName
	at org.jamwiki.utils.Utilities.decodeTopicName(Utilities.java:106)
	at org.jamwiki.utils.LinkUtil.parseWikiLink(LinkUtil.java:441)
	at org.jamwiki.taglib.LinkTag.doEndTag(LinkTag.java:66)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_jamwiki_link_0(items_jsp.java:258)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_c_forEach_0(items_jsp.java:225)
	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspService(items_jsp.java:119)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
  trimmed
	at java.lang.Thread.run(Thread.java:595)
2008-12-02 17:45:36,743 ERROR [STDERR] java.lang.IllegalArgumentException: Topic name not specified in decodeTopicName
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.utils.Utilities.decodeTopicName(Utilities.java:106)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.utils.LinkUtil.parseWikiLink(LinkUtil.java:441)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.jamwiki.taglib.LinkTag.doEndTag(LinkTag.java:66)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_jamwiki_link_0(items_jsp.java:258)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspx_meth_c_forEach_0(items_jsp.java:225)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.items_jsp._jspService(items_jsp.java:119)
2008-12-02 17:45:36,743 ERROR [STDERR] 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
  trimmed

--yesesnono 02-Dec-2008 04:29 PST

I think there is bad data in your database - Special:Allpages works on jamwiki.org, and that error should only be triggered by null values. I can add a check in the code for empty topic names, but in the meantime to fix your wiki you can run the following query against your database to remove any blank topic names:
update jam_topic set topic_name = 'Empty Topic Name' where topic_name is null or topic_name = '';
Hopefully that will resolve the problem. -- Ryan 02-Dec-2008 20:12 PST
I tried to run the query in my DB. No rows were affected. Anyway will check it again and update you at the earliest. Thanks for your reply. --yesesnono 03-Dec-2008 22:16 PST