Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

admin page synonym data can't delete #713

Closed
ma2tani opened this issue Sep 29, 2016 · 0 comments
Closed

admin page synonym data can't delete #713

ma2tani opened this issue Sep 29, 2016 · 0 comments
Assignees
Labels
Milestone

Comments

@ma2tani
Copy link
Contributor

ma2tani commented Sep 29, 2016

Fess 10.3

synonym → create new → delete → error

2016-09-29 17:31:10,556 [http-nio-8080-exec-8] ERROR ServletException occurred.
/= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =: /admin/dict/synonym/
requestClass=org.apache.catalina.connector.RequestFacade ; sessionId=2B79C9CCBC042326B4965FDCEE1265D9
; url=http://localhost:8080/admin/dict/synonym/
; method=POST ; protocol=HTTP/1.1 ; scheme=http ; secure=false ; remoteAddr=0:0:0:0:0:0:0:1 ; remoteHost=0:0:0:0:0:0:0:1
; characterEncoding=UTF-8 ; contentLength=215 ; contentType=application/x-www-form-urlencoded ; locale=en_US ; locales=en_US,en,ja,de
[header] accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,
/;q=0.8
[header] accept-encoding=gzip, deflate
[header] accept-language=en-US,en;q=0.8,ja;q=0.6,de;q=0.4
[header] cache-control=max-age=0
[header] connection=keep-alive
[header] content-length=215
[header] content-type=application/x-www-form-urlencoded
[header] cookie=fsid=1092fd37ce3f4bfb9f5c7e8f3c4bee05; JSESSIONID=2B79C9CCBC042326B4965FDCEE1265D9
[header] host=localhost:8080
[header] origin=http://localhost:8080
[header] referer=http://localhost:8080/admin/dict/synonym/details/c3lub255bS50eHQ%3D/4/3
[header] upgrade-insecure-requests=1
[header] user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
[param] crudMode=4
[param] delete=Delete
[param] dictId=c3lub255bS50eHQ=
[param] id=3
[param] inputs=fess
フェス
[param] lastaflute.action.TRANSACTION_TOKEN=e4670a3200e0e013595607123ce05a53
[param] outputs=fess
フェス
[cookie] fsid=1092fd37ce3f4bfb9f5c7e8f3c4bee05
[cookie] JSESSIONID=2B79C9CCBC042326B4965FDCEE1265D9
[request] admin_dict_synonym_adminDictSynonymAction=org.codelibs.fess.app.web.admin.dict.synonym.AdminDictSynonymAction@5f2a6737
[request] admin_dict_synonym_adminDictSynonymAction_delete_Form=VirtualForm:{formMeta:{admin_dict_synonym_adminDictSynonymAction_delete_Form, org.codelibs.fess.app.web.admin.dict.synonym.EditForm, props=6}, realForm=org.codelibs.fess.app.web.admin.dict.synonym.EditForm@1c5c4ff6}@30602265
[request] lastaflute.action.ACTION_RUMTIME=runtime:{/admin/dict/synonym/, public HtmlResponse AdminDictSynonymAction@delete(EditForm), urlParam:{{}}, *DoubleSubmitVerifyTokenBeforeValidationException}
[request] lastaflute.action.USER_LOCALE=en_US
[request] lastaflute.config.ACTION_EXECUTE=execute:{public HtmlResponse AdminDictSynonymAction@delete(EditForm), urlPattern:{delete, ^delete$}}@211fe72c
[request] lastaflute.dbflute.SQL_COUNT={total=0, selectCB=0, entityUpdate=0, queryUpdate=0, outsideSql=0, procedure=0}
[request] lastaflute.dbflute.TRANSACTION_MEMORIES=wholeShow:
[session] esApiAccessToken=ffa59f8e211c4ccb8404c5cea16b9fb0
[session] fileConfigPager=org.codelibs.fess.app.pager.FileConfigPager@211968c9
[session] lastaflute.action.TRANSACTION_TOKEN={class org.codelibs.fess.app.web.admin.dict.synonym.AdminDictSynonymAction=e4670a3200e0e013595607123ce05a53, class org.codelibs.fess.app.web.admin.fileconfig.AdminFileconfigAction=d2d3aa563436c7898342874242e52b8f}
[session] lastaflute.action.USER_BEAN.FessUserBean={userId=admin, sync=2016/09/29 17:31:03}@2d86a002
[session] lastaflute.action.USER_LOCALE=en_US
[session] schedulerPager=org.codelibs.fess.app.pager.SchedulerPager@1c44ccdd
[session] synonymPager=org.codelibs.fess.app.pager.SynonymPager@6299135c
responseClass=org.apache.catalina.connector.ResponseFacade ; committed=true
; httpStatus=500 ; contentType=null ; locale=ja_JP
= = = = = = = = = =/ [00m00s001ms] #82c70e6
org.lastaflute.web.token.exception.DoubleSubmitVerifyTokenBeforeValidationException: Look! Read the message below.
/
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The verifyToken() was called before validate() in action.

[Advice]
The verifyToken() should be after validate().
The verifyToken() deletes session token if success,
so it may be token-not-found exception if validation error.
(validation error's response may need session token)
For example:
(x):
public HtmlResponse update(Integer memberId) {
verifyToken(...); // *Bad: session token is deleted here
validate(form, messages -> {}, () -> { // may be this exception if validation error
return asHtml(path_...); // the html may need token...
});
...
}
(o):
public HtmlResponse update(Integer memberId) {
validate(form, messages -> {}, () -> {
return asHtml(path_...); // session token remains
});
verifyToken(...); // Good
...
}

[Execute Method]
public HtmlResponse AdminDictSynonymAction@delete(EditForm)

[Requested Token]
opt:{e4670a3200e0e013595607123ce05a53}

[Saved Token]
opt:{{class org.codelibs.fess.app.web.admin.dict.synonym.AdminDictSynonymAction=e4670a3200e0e013595607123ce05a53, class org.codelibs.fess.app.web.admin.fileconfig.AdminFileconfigAction=d2d3aa563436c7898342874242e52b8f}}

  • * * * * * * * * */
    at org.lastaflute.web.token.SimpleDoubleSubmitManager.throwDoubleSubmitVerifyTokenBeforeValidationException(SimpleDoubleSubmitManager.java:349)
    at org.lastaflute.web.token.SimpleDoubleSubmitManager.checkVerifyTokenAfterValidatorCall(SimpleDoubleSubmitManager.java:302)
    at org.lastaflute.web.token.SimpleDoubleSubmitManager.doVerifyToken(SimpleDoubleSubmitManager.java:255)
    at org.lastaflute.web.token.SimpleDoubleSubmitManager.verifyToken(SimpleDoubleSubmitManager.java:245)
    at org.lastaflute.web.TypicalAction.verifyToken(TypicalAction.java:297)
    at org.codelibs.fess.app.web.admin.dict.synonym.AdminDictSynonymAction.delete(AdminDictSynonymAction.java:312)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.lastaflute.web.ruts.GodHandableAction.invokeExecuteMethod(GodHandableAction.java:345)
    at org.lastaflute.web.ruts.GodHandableAction.actuallyExecute(GodHandableAction.java:316)
    at org.lastaflute.web.ruts.GodHandableAction.doExecute(GodHandableAction.java:156)
    at org.lastaflute.web.ruts.GodHandableAction.lambda$transactionalExecute$148(GodHandableAction.java:147)
    at org.lastaflute.web.ruts.GodHandableAction$$Lambda$279/1667502248.perform(Unknown Source)
    at org.lastaflute.db.jta.stage.JTATransactionStage.doPerform(JTATransactionStage.java:66)
    at org.lastaflute.db.jta.stage.JTATransactionStage.lambda$requiresNew$92(JTATransactionStage.java:55)
    at org.lastaflute.db.jta.stage.JTATransactionStage$$Lambda$280/109431515.execute(Unknown Source)
    at org.lastaflute.di.tx.adapter.JTATransactionManagerAdapter.requiresNew(JTATransactionManagerAdapter.java:60)
    at org.lastaflute.db.jta.stage.JTATransactionStage.requiresNew(JTATransactionStage.java:54)
    at org.lastaflute.db.jta.stage.JTATransactionStage.selectable(JTATransactionStage.java:93)
    at org.lastaflute.web.ruts.GodHandableAction.transactionalExecute(GodHandableAction.java:146)
    at org.lastaflute.web.ruts.GodHandableAction.godHandyExecute(GodHandableAction.java:127)
    at org.lastaflute.web.ruts.GodHandableAction.execute(GodHandableAction.java:111)
    at org.lastaflute.web.ruts.ActionRequestProcessor.performAction(ActionRequestProcessor.java:194)
    at org.lastaflute.web.ruts.ActionRequestProcessor.fire(ActionRequestProcessor.java:130)
    at org.lastaflute.web.ruts.ActionRequestProcessor.process(ActionRequestProcessor.java:101)
    at org.lastaflute.web.servlet.filter.RequestRoutingFilter.processAction(RequestRoutingFilter.java:239)
    at org.lastaflute.web.servlet.filter.RequestRoutingFilter.routingToAction(RequestRoutingFilter.java:191)
    at org.lastaflute.web.servlet.filter.RequestRoutingFilter.lambda$createActionPathHandler$265(RequestRoutingFilter.java:164)
    at org.lastaflute.web.servlet.filter.RequestRoutingFilter$$Lambda$184/292016018.handleActionPath(Unknown Source)
    at org.lastaflute.web.path.ActionPathResolver.actuallyHandleActionPath(ActionPathResolver.java:269)
    at org.lastaflute.web.path.ActionPathResolver.doHandleActionPath(ActionPathResolver.java:191)
    at org.lastaflute.web.path.ActionPathResolver.handleActionPath(ActionPathResolver.java:111)
    at org.lastaflute.web.servlet.filter.RequestRoutingFilter.doFilter(RequestRoutingFilter.java:104)
    at org.lastaflute.web.servlet.filter.LastaToActionFilter.viaEmbeddedFilter(LastaToActionFilter.java:152)
    at org.lastaflute.web.servlet.filter.LastaToActionFilter.viaInsideHookDeque(LastaToActionFilter.java:143)
    at org.lastaflute.web.servlet.filter.LastaToActionFilter.viaInsideHook(LastaToActionFilter.java:127)
    at org.lastaflute.web.servlet.filter.LastaToActionFilter.doFilter(LastaToActionFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.toNextChain(LastaShowbaseFilter.java:162)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.lambda$viaEmbeddedFilter$272(LastaShowbaseFilter.java:141)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter$$Lambda$182/665916324.doFilter(Unknown Source)
    at org.lastaflute.web.servlet.filter.RequestLoggingFilter.actuallyFilter(RequestLoggingFilter.java:212)
    at org.lastaflute.web.servlet.filter.RequestLoggingFilter.doFilter(RequestLoggingFilter.java:197)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.viaEmbeddedFilter(LastaShowbaseFilter.java:139)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.viaOutsideHookDeque(LastaShowbaseFilter.java:130)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.viaOutsideHook(LastaShowbaseFilter.java:114)
    at org.lastaflute.web.servlet.filter.LastaShowbaseFilter.doFilter(LastaShowbaseFilter.java:106)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.codelibs.fess.filter.WebApiFilter.doFilter(WebApiFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.lastaflute.web.servlet.filter.LastaPrepareFilter.toNextFilter(LastaPrepareFilter.java:279)
    at org.lastaflute.web.servlet.filter.LastaPrepareFilter.viaHotdeploy(LastaPrepareFilter.java:242)
    at org.lastaflute.web.servlet.filter.LastaPrepareFilter.viaLastaDiContext(LastaPrepareFilter.java:229)
    at org.lastaflute.web.servlet.filter.LastaPrepareFilter.doFilter(LastaPrepareFilter.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.codelibs.fess.filter.EncodingFilter.doFilter(EncodingFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
@marevol marevol added the bug label Sep 29, 2016
@marevol marevol added this to the 10.3.0 milestone Sep 29, 2016
@marevol marevol self-assigned this Sep 29, 2016
marevol added a commit that referenced this issue Sep 29, 2016
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants