Issue Details (XML | Word | Printable)

Key: CONF-3397
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Major Major
Assignee: Unassigned
Reporter: Sam H
Votes: 0
Watchers: 2
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Confluence

Edit tab does not show unless Anonymous user has permission

Created: 13/Jun/05 03:11 PM   Updated: 12/Oct/05 02:37 AM
Component/s: Web Interface
Affects Version/s: 1.4.1
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments: None
Image Attachments:

1. screenshot-1.jpg
(229 kB)

2. screenshot-2.jpg
(160 kB)

3. screenshot-3.jpg
(229 kB)

4. screenshot-4.jpg
(161 kB)

5. space-permissions.png
(56 kB)
Environment:
Resin
Linux
JDK 1.5
Issue Links:
Cause
 

Participants: Charles Miller [old account, do not assign issues], Dave Loeng [Atlassian], Geert Bevin, Jens Schumacher [Atlassian], Jeremy Higgs, Sam H and Tom Davies [Atlassian]
Since last comment: 3 years, 38 weeks ago
Resolution Date: 12/Oct/05 02:36 AM
Labels:


 Description  « Hide
If I try to restrict Space permissions available to the `Anonymous' user to `View' only, the edit tab disappears for all usersregardless of theor permissions.

If I enable `Create' permission for the Anonymous users, then the Edit tab appears.

I can still edit a page by changing the url, if I click on the info tab it's a url
like:

http://www.foo.com/wiki/pages/pageinfo.action?pageId=257

change "pageinfo" to "editpage":

http://www.foo.com/wiki/pages/editpage.action?pageId=257

So it let's you do it, it just doesn't show the tab.

Attached is the permissions



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Jens Schumacher [Atlassian] added a comment - 15/Jun/05 04:39 AM
Sam,
Thanks for spotting this. I will set the fix version to 1.4.2.

Cheers,
Jens


Jeremy Higgs added a comment - 01/Aug/05 12:39 AM
We haven't been able to reproduce this issue in 1.4.1 or 1.4.3.

Geert Bevin added a comment - 15/Aug/05 03:47 AM
I'm having exactly the same issue with 1.4.1 and after upgrading to 1.4.2 it was still there. When Anonymous hasn't got 'Create' permission, the Edit tab doesn't appear for other users.

Charles Miller [old account, do not assign issues] added a comment - 15/Aug/05 08:58 PM
Reopening this issue. Perhaps this is related to JIRA user management delegation?

Geert Bevin added a comment - 16/Aug/05 01:12 AM
We haven't got any JIRA user management delegation setup. They both are running seperately.

Tom Davies [Atlassian] added a comment - 16/Aug/05 01:30 AM
Geert,

I haven't been able to reproduce this.

Can you please tell me more about the configuration which produces the problem?

I need to know:

What groups does the "user who can't see edit" belong to?

What are the global permissions for Anonymous, the user (if any) and the user's groups (if any)

What are the space level permissions for Anonymous, the user (if any) and the user's groups (if any)

Thanks,
Tom


Geert Bevin added a comment - 16/Aug/05 01:50 AM
Hi Tom,

this the download URL of an export I did before changing the anonymous user permissions:
http://rifers.org/export-20050815-02_00_45.zip

That should give you all info, no?

Best regards,

Geert


Tom Davies [Atlassian] added a comment - 16/Aug/05 02:36 AM
Hi Geert,

Thanks for the export. I still can't reproduce the problem.

Here's what I did:

  • load the backup
  • reset all passwords
  • log in as gbevin – looking at global permissions I see Anonymous has 'Use' permission.
  • browse space 'Bamboo' – I see that anonymous has view, but not create.
  • log off
  • sign up as a new user
  • go to bamboo (logged in as the new user)

I can see the edit tab.

Can you give me a procedure to reporduce the problem?

Thanks,
Tom


Geert Bevin added a comment - 16/Aug/05 02:42 AM
It happened for me with any page in the RIFE space, maybe you can try there?

Geert Bevin added a comment - 16/Aug/05 02:42 AM
Btw, I'm using PostgreSQL 8 as a database

Tom Davies [Atlassian] added a comment - 16/Aug/05 02:49 AM
Geert,

The RIFE space works too.

I notice you said the export was 'before changing anonymous user permissions', but it seems that Anonymous already has only view (and export) permissions on the spaces – was there some other change you made?

Tom


Geert Bevin added a comment - 16/Aug/05 02:53 AM
I meant before changing the Anonymous permission by adding the Create permission so that the Edit tab appears again

Geert Bevin added a comment - 16/Aug/05 02:53 AM
I meant before changing the Anonymous permission by adding the Create permission so that the Edit tab appears again

Tom Davies [Atlassian] added a comment - 16/Aug/05 02:58 AM
I see. What was a user which couldn't see the edit tab? (maybe my newly signed up user is different in some way)

Geert Bevin added a comment - 16/Aug/05 03:04 AM
I couldn't (gbevin user)

Geert Bevin added a comment - 16/Aug/05 03:17 AM
I attached a series of screenshots, this is what I did:
  • logged in as myself (gbevin)
  • went to the RIFE space
  • revoked create permissions for anonymous
  • went to a RIFE wiki page
  • => no edit tab
  • added create permissions for anonymous again
  • reloaded wiki page
  • => edit tab appears

Tom Davies [Atlassian] added a comment - 16/Aug/05 07:01 PM
Hi Geert,

This is very odd – we are both doing the same things with the same data, but I don't get the same result.

Can you please attach your log file?

What I'd like you to do is:

  • stop Confluence, delete your log file
  • start Confluence, disable Anonymous create
  • visit some pages (where you don't see the dit tab, even though you should)
  • attach the log file.

Thanks,
Tom


Charles Miller [old account, do not assign issues] added a comment - 16/Aug/05 09:09 PM
Moving fix target to 1.4.4, since 1.4.3 has been released already.

Tom Davies [Atlassian] added a comment - 18/Sep/05 11:24 PM
Hi Geert/Sam,

We're still unable to reproduce this issue.

Can you please follow the procedure I outlined in my previous comment, and we'll have another look at it.

Thanks,
Tom


Geert Bevin added a comment - 20/Sep/05 02:55 AM
Hi Tom,

I did what you asked and I can send you the log file, however, nothing is logged at all when I visit those pages. I run confluence as a webapp inside Resin, together with other webapps. You're talking about the resin stdout.log and stderr.log, right?

Additionally, I now also have another related problem. Only when I give comment addition permissions to anonymous, is it possible to add comments. When the comment form appear though it says I'm anonymous even though the application clearly says at the top that I'm logged in and what my username is.

Maybe another thing that is related (I should maybe create a separate issue for this) is that I'm unable to export to HTML anymore, I get the following exception:
java.io.FileNotFoundException: /wiki/spaces/doexportspace.action
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:141)
at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:268)
at com.caucho.server.webapp.RequestDispatcherImpl.error(RequestDispatcherImpl.java:113)
at com.caucho.server.webapp.ErrorPageManager.sendServletError(ErrorPageManager.java:354)
at com.caucho.server.webapp.ErrorPageManager.handleErrorStatus(ErrorPageManager.java:543)
at com.caucho.server.webapp.ErrorPageManager.sendError(ErrorPageManager.java:434)
at com.caucho.server.connection.AbstractHttpResponse.sendError(AbstractHttpResponse.java:491)
at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:90)
at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:90)
at com.opensymphony.module.sitemesh.filter.PageResponseWrapper.sendError(PageResponseWrapper.java:180)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.sendError(ServletDispatcher.java:349)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:235)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:99)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:150)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:168)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
at bucket.custom.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:31)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
at com.atlassian.confluence.util.error.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:36)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:163)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:363)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)


Jens Schumacher [Atlassian] added a comment - 22/Sep/05 12:59 AM
Geert,

Please create a seperate support request for the export issue on http://support.atlassian.com.
We will need your log files and a description of your configuration.

Cheers,
Jens


Dave Loeng [Atlassian] added a comment - 09/Oct/05 08:17 PM
Hi Sam,

Unfortunately, with no logs (indicating to us where the problem is located) or any steps to reproduce the problem here, we can't fix it.

We are going to close this issue down as unreproducible. If you find a way to reproduce this problem, please file a support request for it at http://support.atlassian.com and we'll have another look at it.

Cheers,
Dave


Geert Bevin added a comment - 12/Oct/05 12:29 AM
Ok, let me get this straight.

This problem has been reported by 2 unrelated users, so it's real. Somehow your logging mechanism doesn't capture what is required, but it's the responsibility of the user to find out how to make it log something useful or figure out a way to reproduce it on your systems? I wiped the DB entirely, reinstalled from scratch and imported an XML export and it still happens every single time. I can reproduce it on our system.

Still you decide to close it and leave your users out to dangle?

This issue makes confluence next to unusable for us. I'll be looking into moving to something else now or develop something ourselves that works. I'd prefer to not have to waste time like this, but continuing like this is just not feasible. Strange way of handling a real issue (reported by several users) of a commercial product.


Geert Bevin added a comment - 12/Oct/05 12:32 AM
Sorry, 4 users, it had been reported by 2 people on the forum/mailinglist too.

Dave Loeng [Atlassian] added a comment - 12/Oct/05 01:24 AM
Geert,

We apologise for closing the issue prematurely - however, with no ability to track down what is causing the problem, we are left in something of a bind as far as fixing it goes.

It could be that we were attempting to duplicate your problem on a different application server version. Which version of Resin are you using? If it's resin 3, that may be the problem as we only officially test Confluence for Resin 2.1.11 (Further information here: http://confluence.atlassian.com/display/DOC/Requirements). There are also specific changes that have to be made to Confluence's web.xml to get it to run on Resin 3 (the problems generally encountered are to do with user logins, so this may be very relevant)

http://confluence.atlassian.com/display/DOC/Running+Confluence+on+Resin+3.x

If you are running Confluence on Resin 3, and it turns out this is the problem, would it be possible for you to run it on the older Resin version, or possibly on Tomcat, both of which are fully supported?

Dave


Geert Bevin added a comment - 12/Oct/05 01:44 AM
After modifying web.xml I get the follow exception each time I try to access a page:
2005-10-12 08:30:56,704 ERROR [atlassian.confluence.util.VelocityUtils] Error occurred rendering template: /decorators/page.vmd
org.apache.velocity.exception.MethodInvocationException: Invocation of method 'isUserWatchingSpace' in class com.atlassian.confluence.pages.actions.ViewPageAction threw exception class
java.lang.IllegalStateException : There seems to be more than one notification entry for user: gbevin and space: RIFE
at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:188)
at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:226)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207)
at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:337)
at org.apache.velocity.runtime.parser.node.ASTNotNode.evaluate(ASTNotNode.java:85)
at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:84)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
at org.apache.velocity.Template.merge(Template.java:296)
at com.atlassian.confluence.util.VelocityUtils.getRenderedTemplateWithoutSwallowingErrors(VelocityUtils.java:47)
at com.atlassian.confluence.util.VelocityUtils.getRenderedTemplate(VelocityUtils.java:33)
at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:224)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:215)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
at org.apache.velocity.runtime.parser.node.ASTElseIfStatement.render(ASTElseIfStatement.java:118)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:128)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
at org.apache.velocity.Template.merge(Template.java:296)
at com.atlassian.confluence.util.VelocityUtils.getRenderedTemplateWithoutSwallowingErrors(VelocityUtils.java:47)
at com.atlassian.confluence.util.VelocityUtils.getRenderedTemplate(VelocityUtils.java:33)
at com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:224)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
at org.apache.velocity.Template.merge(Template.java:296)
at com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91)
at bucket.util.profiling.ProfiledVelocityResult.doExecute(ProfiledVelocityResult.java:18)
at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:116)
at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:33)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:16)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:40)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:87)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:133)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:99)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:82)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:95)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)

at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:268)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:106)
at com.atlassian.confluence.servlet.simpledisplay.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:99)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:150)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:168)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
at bucket.custom.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:31)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
at com.atlassian.confluence.util.error.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:36)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:209)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:163)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:363)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)


Dave Loeng [Atlassian] added a comment - 12/Oct/05 02:00 AM
Geert,

Some how, a duplicate notification has crept into your database. Trying removing the duplicate notification from your profile > Notifications page. If not, you'll need to remove it directly from the database. Let me know if this is necessary.

Cheers,
Dave


Geert Bevin added a comment - 12/Oct/05 02:05 AM
When trying to remove it from the profile, I get a similar exception, I'm thus unable to remove it through the GUI. I suppose I'll have to do it through SQL. I'm using PostgreSQL 8. I suppose there's also a possibility that other users have this too and that it has to be checked / removed for them?

Dave Loeng [Atlassian] added a comment - 12/Oct/05 02:12 AM
To find out which notifications have duplicates:

> select count(notificationid), pageid, username from notifications group by pageid, username having count(notificationid) > 1;

Now do searches for the username and pageid pairs one at a time and remove duplicates as needed.

Cheers,
Dave


Geert Bevin added a comment - 12/Oct/05 02:23 AM
That seems to have fixed it and the edit tab appeared again.
This issue can now truly be closed, thanks for the help.

Dave Loeng [Atlassian] added a comment - 12/Oct/05 02:32 AM
No problems. Glad to have helped out in the end.

Cheers,
Dave


Dave Loeng [Atlassian] added a comment - 12/Oct/05 02:34 AM
One more thing. You mentioned there were some forum users who had posted about this problem. Could you please post the links to these posts?

Thanks,
Dave


Charles Miller [old account, do not assign issues] added a comment - 12/Oct/05 02:37 AM
Dave: Look at the trackbacks section of the issue.