Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[profile] Error when saving profile without all attributes #6374

Closed
3 of 5 tasks
phuongnq opened this issue Dec 18, 2023 · 1 comment
Closed
3 of 5 tasks

[profile] Error when saving profile without all attributes #6374

phuongnq opened this issue Dec 18, 2023 · 1 comment

Comments

@phuongnq
Copy link
Member

Duplicates

  • I have searched the existing issues

Latest version

  • The issue is in the develop branch
  • The issue is in the latest released 4.1.x
  • The issue is in the latest released 4.0.x
  • The issue is in the latest released 3.1.x

Describe the issue

Saving a new profile under the "default" tenant is throwing an error if not all attributes are inputted.

Steps to reproduce

Steps:

  1. Start Profile server
  2. Open the profile admin page
  3. Create a new profile
  4. Input all required fields (with *)
  5. Notice the error

Relevant log output

2023-12-18_10:28:40.503 [http-nio-8080-exec-5] ERROR org.craftercms.profile.management.web.controllers.ExceptionHandlers - Request for /crafter-profile-admin/profile/create failed with HTTP status 500 INTERNAL_SERVER_ERROR
org.craftercms.profile.api.exceptions.ProfileException: I/O error on POST request for "http://localhost:8080/crafter-profile/api/1/profile/create.json": Attempted read from closed stream.; nested exception is java.io.IOException: Attempted read from closed stream.
	at org.craftercms.profile.services.impl.AbstractProfileRestClientBase.handleException(AbstractProfileRestClientBase.java:185) ~[crafter-profile-client-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.profile.services.impl.AbstractProfileRestClientBase.doPostForObject(AbstractProfileRestClientBase.java:83) ~[crafter-profile-client-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.profile.services.impl.ProfileServiceRestClient.createProfile(ProfileServiceRestClient.java:100) ~[crafter-profile-client-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.31.jar:5.3.31]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.31.jar:5.3.31]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.31.jar:5.3.31]
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.31.jar:5.3.31]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.31.jar:5.3.31]
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.31.jar:5.3.31]
	at jdk.proxy7/jdk.proxy7.$Proxy332.createProfile(Unknown Source) ~[?:?]
	at org.craftercms.profile.management.web.controllers.ProfileController.createProfile(ProfileController.java:199) ~[classes/:4.2.0-SNAPSHOT]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) [spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) [spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.31.jar:5.3.31]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.31.jar:5.3.31]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) [servlet-api.jar:4.0.FR]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.31.jar:5.3.31]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) [servlet-api.jar:4.0.FR]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) [tomcat-websocket.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.craftercms.security.servlet.filters.RequestSecurityFilter$1.processRequest(RequestSecurityFilter.java:192) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.UrlAccessRestrictionCheckingProcessor.processRequest(UrlAccessRestrictionCheckingProcessor.java:145) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.SecurityExceptionProcessor.processRequest(SecurityExceptionProcessor.java:80) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.SavedRequestAwareProcessor.processRequest(SavedRequestAwareProcessor.java:69) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.AuthenticationHeadersLoginProcessor.processRequest(AuthenticationHeadersLoginProcessor.java:144) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RememberMeAutoLoginProcessor.processRequest(RememberMeAutoLoginProcessor.java:54) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.LogoutProcessor.processRequest(LogoutProcessor.java:103) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.LoginProcessor.processRequest(LoginProcessor.java:167) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.ReturnCurrentAuthenticationProcessor.processRequest(ReturnCurrentAuthenticationProcessor.java:75) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.CurrentAuthenticationResolvingProcessor.processRequest(CurrentAuthenticationResolvingProcessor.java:85) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.AddSecurityCookiesProcessor.processRequest(AddSecurityCookiesProcessor.java:73) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.processors.impl.RequestSecurityProcessorChainImpl.processRequest(RequestSecurityProcessorChainImpl.java:58) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.servlet.filters.RequestSecurityFilter.doFilterInternal(RequestSecurityFilter.java:138) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.security.servlet.filters.RequestSecurityFilter.doFilter(RequestSecurityFilter.java:109) [crafter-security-provider-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) [spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) [spring-web-5.3.31.jar:5.3.31]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.craftercms.commons.http.RequestContextBindingFilter.doFilter(RequestContextBindingFilter.java:78) [crafter-commons-utilities-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.31.jar:5.3.31]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:72) [log4j-web-2.21.1.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) [catalina.jar:9.0.83]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [catalina.jar:9.0.83]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) [catalina.jar:9.0.83]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [catalina.jar:9.0.83]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) [catalina.jar:9.0.83]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [catalina.jar:9.0.83]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [catalina.jar:9.0.83]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) [catalina.jar:9.0.83]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.83]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:9.0.83]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) [tomcat-coyote.jar:9.0.83]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:9.0.83]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) [tomcat-coyote.jar:9.0.83]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794) [tomcat-coyote.jar:9.0.83]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:9.0.83]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.83]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.83]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.83]
	at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8080/crafter-profile/api/1/profile/create.json": Attempted read from closed stream.; nested exception is java.io.IOException: Attempted read from closed stream.
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:791) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:717) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:443) ~[spring-web-5.3.31.jar:5.3.31]
	at org.craftercms.profile.services.impl.AbstractProfileRestClientBase.doPostForObject(AbstractProfileRestClientBase.java:79) ~[crafter-profile-client-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	... 90 more
Caused by: java.io.IOException: Attempted read from closed stream.
	at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:165) ~[httpcore-4.4.16.jar:4.4.16]
	at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.14.jar:4.5.14]
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270) ~[?:?]
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313) ~[?:?]
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) ~[?:?]
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177) ~[?:?]
	at java.base/java.io.Reader.read(Reader.java:250) ~[?:?]
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1612) ~[commons-io-2.15.1.jar:2.15.1]
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1591) ~[commons-io-2.15.1.jar:2.15.1]
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:1386) ~[commons-io-2.15.1.jar:2.15.1]
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:1155) ~[commons-io-2.15.1.jar:2.15.1]
	at org.apache.commons.io.IOUtils.toString(IOUtils.java:3167) ~[commons-io-2.15.1.jar:2.15.1]
	at org.craftercms.commons.rest.HttpMessageConvertingResponseErrorHandler.getResponseBodyAsString(HttpMessageConvertingResponseErrorHandler.java:88) ~[crafter-commons-utilities-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.craftercms.commons.rest.HttpMessageConvertingResponseErrorHandler.handleError(HttpMessageConvertingResponseErrorHandler.java:76) ~[crafter-commons-utilities-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:825) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:783) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:717) ~[spring-web-5.3.31.jar:5.3.31]
	at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:443) ~[spring-web-5.3.31.jar:5.3.31]
	at org.craftercms.profile.services.impl.AbstractProfileRestClientBase.doPostForObject(AbstractProfileRestClientBase.java:79) ~[crafter-profile-client-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]
	... 90 more

Screenshots and/or videos

2023-12-18_10-29

@phuongnq
Copy link
Member Author

phuongnq commented Jan 5, 2024

verified

@phuongnq phuongnq closed this as completed Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Status: Done
Development

No branches or pull requests

2 participants