cpu useage 100%

Description

when is use JCaptcha in multithreading,cpu usage 100%,use jconsole,the stack :
??? http-5555-Processor387
??? RUNNABLE
?????1,564 ????? 16

?????
sun.font.GlyphLayout$LayoutEngineKey.equals(GlyphLayout.java:124)
java.util.HashMap.eq(HashMap.java:277)
java.util.HashMap.get(HashMap.java:326)
sun.font.SunLayoutEngine.getEngine(SunLayoutEngine.java:113)
sun.font.GlyphLayout$EngineRecord.init(GlyphLayout.java:565)
sun.font.GlyphLayout.nextEngineRecord(GlyphLayout.java:439)
sun.font.GlyphLayout.layout(GlyphLayout.java:362)
sun.font.ExtendedTextSourceLabel.createGV(ExtendedTextSourceLabel.java:267)
sun.font.ExtendedTextSourceLabel.getGV(ExtendedTextSourceLabel.java:252)
sun.font.ExtendedTextSourceLabel.createLogicalBounds(ExtendedTextSourceLabel.java:163)
sun.font.ExtendedTextSourceLabel.getAdvance(ExtendedTextSourceLabel.java:85)
java.awt.font.TextLine.init(TextLine.java:245)
java.awt.font.TextLine.<init>(TextLine.java:99)
java.awt.font.TextLine.fastCreateTextLine(TextLine.java:740)
java.awt.font.TextLayout.fastInit(TextLayout.java:695)
java.awt.font.TextLayout.<init>(TextLayout.java:611)
sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2688)
com.octo.captcha.component.image.textpaster.ChangeableAttributedString.drawString(ChangeableAttributedString.java:93)
com.octo.captcha.component.image.textpaster.DecoratedRandomTextPaster.pasteText(DecoratedRandomTextPaster.java:86)
com.octo.captcha.component.image.wordtoimage.ComposedWordToImage.pasteText(ComposedWordToImage.java:130)
com.octo.captcha.component.image.wordtoimage.AbstractWordToImage.getImage(AbstractWordToImage.java:52)
com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:77)
com.octo.captcha.engine.image.ListImageCaptchaEngine.getNextImageCaptcha(ListImageCaptchaEngine.java:574)
com.octo.captcha.engine.image.ImageCaptchaEngine.getNextCaptcha(ImageCaptchaEngine.java:92)
com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaService.java:148)
com.octo.captcha.service.AbstractManageableCaptchaService.generateCountTimeStampAndStoreCaptcha(AbstractManageableCaptchaService.java:339)
com.octo.captcha.service.AbstractManageableCaptchaService.generateAndStoreCaptcha(AbstractManageableCaptchaService.java:328)
com.octo.captcha.service.AbstractCaptchaService.getChallengeForID(AbstractCaptchaService.java:64)
com.octo.captcha.service.image.AbstractManageableImageCaptchaService.getImageChallengeForID(AbstractManageableImageCaptchaService.java:61)
com.huawei.unms.security.web.servlet.ImageCaptchaServlet.doGet(ImageCaptchaServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)

??? http-5555-Processor45
??? RUNNABLE
?????2,904 ????? 137

?????
sun.font.GlyphLayout$LayoutEngineKey.equals(GlyphLayout.java:124)
java.util.HashMap.eq(HashMap.java:277)
java.util.HashMap.get(HashMap.java:326)
sun.font.SunLayoutEngine.getEngine(SunLayoutEngine.java:113)
sun.font.GlyphLayout$EngineRecord.init(GlyphLayout.java:565)
sun.font.GlyphLayout.nextEngineRecord(GlyphLayout.java:439)
sun.font.GlyphLayout.layout(GlyphLayout.java:362)
sun.font.ExtendedTextSourceLabel.createGV(ExtendedTextSourceLabel.java:267)
sun.font.ExtendedTextSourceLabel.getGV(ExtendedTextSourceLabel.java:252)
sun.font.ExtendedTextSourceLabel.createLogicalBounds(ExtendedTextSourceLabel.java:163)
sun.font.ExtendedTextSourceLabel.getAdvance(ExtendedTextSourceLabel.java:85)
java.awt.font.TextLine.init(TextLine.java:245)
java.awt.font.TextLine.<init>(TextLine.java:99)
java.awt.font.TextLine.fastCreateTextLine(TextLine.java:740)
java.awt.font.TextLayout.fastInit(TextLayout.java:695)
java.awt.font.TextLayout.<init>(TextLayout.java:611)
sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2688)
com.octo.captcha.component.image.textpaster.ChangeableAttributedString.drawString(ChangeableAttributedString.java:93)
com.octo.captcha.component.image.textpaster.DecoratedRandomTextPaster.pasteText(DecoratedRandomTextPaster.java:86)
com.octo.captcha.component.image.wordtoimage.ComposedWordToImage.pasteText(ComposedWordToImage.java:130)
com.octo.captcha.component.image.wordtoimage.AbstractWordToImage.getImage(AbstractWordToImage.java:52)
com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:77)
com.octo.captcha.engine.image.ListImageCaptchaEngine.getNextImageCaptcha(ListImageCaptchaEngine.java:574)
com.octo.captcha.engine.image.ImageCaptchaEngine.getNextCaptcha(ImageCaptchaEngine.java:92)
com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaService.java:148)
com.octo.captcha.service.AbstractManageableCaptchaService.generateCountTimeStampAndStoreCaptcha(AbstractManageableCaptchaService.java:339)
com.octo.captcha.service.AbstractManageableCaptchaService.generateAndStoreCaptcha(AbstractManageableCaptchaService.java:328)
com.octo.captcha.service.AbstractCaptchaService.getChallengeForID(AbstractCaptchaService.java:64)
com.octo.captcha.service.image.AbstractManageableImageCaptchaService.getImageChallengeForID(AbstractManageableImageCaptchaService.java:61)
com.huawei.unms.security.web.servlet.ImageCaptchaServlet.doGet(ImageCaptchaServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

Environment

tomcat window 2003 spring+struts+hibernate

Assignee

AntoineV

Reporter

testhu

Labels

None

Affects versions

Priority

Critical
Configure