500 error titling an issue 'NOT' (OD-1298)
Released
Jerome St-Louis opened 1 year ago

java.lang.RuntimeException: org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'dO NOT': Encountered "" at line 1, column 6. Was expecting one of: ... "(" ... "" ... ... ... ... ... ... "[" ... "{" ... ... ... "" ...

at io.onedev.server.search.entitytext.DefaultIssueTextManager.buildQuery(DefaultIssueTextManager.java:247)
at io.onedev.server.search.entitytext.DefaultIssueTextManager.query(DefaultIssueTextManager.java:290)
at io.onedev.server.web.component.issue.create.NewIssueEditor$3.load(NewIssueEditor.java:131)
at io.onedev.server.web.component.issue.create.NewIssueEditor$3.load(NewIssueEditor.java:124)
at org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:137)
at io.onedev.server.web.component.issue.create.NewIssueEditor$4.onConfigure(NewIssueEditor.java:145)
at org.apache.wicket.Component.configure(Component.java:1056)
at org.apache.wicket.Component.internalBeforeRender(Component.java:941)
at org.apache.wicket.Component.beforeRender(Component.java:1018)
at org.apache.wicket.Component.internalPrepareForRender(Component.java:2236)
at org.apache.wicket.Component.prepareForRender(Component.java:2275)
at org.apache.wicket.page.XmlPartialPageUpdate.writeComponent(XmlPartialPageUpdate.java:98)
at org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:248)
at org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:161)
at org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:359)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:917)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:274)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:231)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:302)
at org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.onedev.server.web.DefaultWicketServlet.service(DefaultWicketServlet.java:43)
at io.onedev.server.web.DefaultWicketServlet$$EnhancerByGuice$$160417877.GUICE$TRAMPOLINE(<generated>)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
at io.onedev.server.persistence.SessionInterceptor$1.call(SessionInterceptor.java:23)
at io.onedev.server.persistence.DefaultSessionManager.call(DefaultSessionManager.java:90)
at io.onedev.server.persistence.SessionInterceptor.invoke(SessionInterceptor.java:18)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
at io.onedev.server.web.DefaultWicketServlet$$EnhancerByGuice$$160417877.service(<generated>)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
at com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:47)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at io.onedev.server.git.GoGetFilter.doFilter(GoGetFilter.java:87)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at io.onedev.server.git.GitLfsFilter.doFilter(GitLfsFilter.java:489)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at io.onedev.server.git.GitFilter.doFilter(GitFilter.java:382)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at io.onedev.server.jetty.DisableTraceFilter.doFilter(DisableTraceFilter.java:28)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:829)

Caused by: org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'dO NOT': Encountered "" at line 1, column 6. Was expecting one of: ... "(" ... "" ... ... ... ... ... ... "[" ... "{" ... ... ... "" ...

at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:114)
at io.onedev.server.search.entitytext.DefaultIssueTextManager.buildQuery(DefaultIssueTextManager.java:245)
... 99 more

Caused by: org.apache.lucene.queryparser.classic.ParseException: Encountered "" at line 1, column 6. Was expecting one of: ... "(" ... "" ... ... ... ... ... ... "[" ... "{" ... ... ... "" ...

at org.apache.lucene.queryparser.classic.QueryParser.generateParseException(QueryParser.java:931)
at org.apache.lucene.queryparser.classic.QueryParser.jj_consume_token(QueryParser.java:813)
at org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:373)
at org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:303)
at org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:215)
at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:109)
... 100 more
Jerome St-Louis commented 1 year ago

To reproduce:

  • Click 'add' button on backlog column, type NOT in uppercase in Title.
Jerome St-Louis changed title 1 year ago
Previous Value Current Value
500 error as I'm trying to create a new issue
500 error titling an issue 'NOT'
OneDev changed state to 'Closed' 1 year ago
Previous Value Current Value
Open
Closed
OneDev commented 1 year ago

State changed as code fixing the issue is committed (adf69ec6)

Jerome St-Louis commented 1 year ago

@robin rofl at the console.log() fix

I really don't understand how this can fix that NOT issue though! :)

Robin Shen commented 1 year ago
Robin Shen commented 1 year ago

The correct link:

https://code.onedev.io/onedev/server/~commits/adf69ec60cf78913512623f83a4eb694792cfc78?mark=adf69ec60cf78913512623f83a4eb694792cfc78:server-core/src/main/java/io/onedev/server/web/page/base/base.js:390.1-390.33-1
Jerome St-Louis commented 1 year ago

@robin Yes, so that console.log() automatically triggers a 500?

And I have a hard time how to understand how all of that textDiffContent relates to typing NOT in the text box, but I am not familiar at all with the codebase, so please don't mind me ;)

Robin Shen commented 1 year ago

Sorry I am referencing the wrong issue number. The correct commit fixing the issue is:

https://code.onedev.io/onedev/server/~commits/e3025086d62b933db8442cf185090f13da63fa7c

Jerome St-Louis commented 1 year ago

@robin I am confused because you point to commit adf69ec6 as the "code fixing the issue" for 4 issues: issue #1298, issue #1299, issue #1300 and issue #1304 , but there are only 2 lines in that commit.

So perhaps you mean that at this state in the git history those issues were fixed, but not necessarily that this is the specific commit fixing the issue.

Jerome St-Louis commented 1 year ago

Thanks @robin .

Makes more sense :) Maybe some of those other issues mentioned above have a similar referencing problem.

Robin Shen commented 1 year ago

As the sole person working on this project, I am not very strict on referencing the correct issue numbers, as I am continuously amend commits from IDE, and something wrong may happen during this process.

Robin Shen commented 1 year ago

The commits tab refencing the correct commit:

https://code.onedev.io/onedev/server/~issues/1298/commits

While the comment (State changed as code fixing the issue is committed (adf69ec6)) is incorrect. Looks like there is a bug here. Will look more into this.

Jerome St-Louis commented 1 year ago

@robin

As the sole person working on this project, I am not very strict on referencing the correct issue numbers, as I am continuously amend commits from IDE, and something wrong may happen during this process.

I am certain that OneDev being a one person (you) project, as well as your insistance on keeping the code base as simple and maintainable as possible, has a lot to do with all that is good about OneDev (lightness, performance, good essential feature set).

However, I also think it is, by a huge margin, the very best source code management / CI/CD / Kanban solution on Earth (possibly in the galaxy) and perhaps it could grow to be just a bit bigger of an open-source community project and soon gain a user community larger by several orders of magnitude ;)

Please keep in mind that it is in that spirit that I am being a bit of a pain reporting issues and making suggestions ;)

❤️ OneDev.

Robin Shen commented 1 year ago

Thanks for the kind words and all the feedbacks. It helped a lot!

OneDev changed state to 'Released' 1 year ago
Previous Value Current Value
Closed
Released
OneDev commented 1 year ago

State changed as build #3540 is successful

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
Affected Versions
8.0.14
Issue Votes (0)
Watchers (4)
Reference
OD-1298
Please wait...
Page is in error, reload to recover