0

1.6.4.1 SDKを使用して、appcfg.shを実行すると、「5%Scanning for jsp files」に到達し、その後、CPUの1つを100%消費して、永久に回転します(一晩実行したままにします)。最初は、 JSPのコンパイルの問題と同じだと思っていましたが、それほど遠くはありません。AbstractGlobやjavax.util.Regexのバグのようです。自分で複製したい場合に備えて、プロジェクトはここにあります。

他の誰かがこの経験を持っていますか?何がそれを引き起こしているのか考えていますか?アプリをアップロードできるように回避する方法はありますか?

kill-QUITからのスタックトレースは次のとおりです。

1)

Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01-415 mixed mode):

"Timer-0" daemon prio=5 tid=1029d0000 nid=0x10c304000 in Object.wait() [10c303000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f45077b0> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <7f45077b0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"Poller SunPKCS11-Darwin" daemon prio=1 tid=10b078000 nid=0x10c201000 waiting on condition [10c200000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
    at java.lang.Thread.run(Thread.java:680)

"Low Memory Detector" daemon prio=5 tid=10b00b800 nid=0x10bd01000 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=10b00a800 nid=0x10ba04000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=10b00a000 nid=0x10b901000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=10b009000 nid=0x10a704000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=10b008000 nid=0x10a601000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=1028d2000 nid=0x10a0ef000 in Object.wait() [10a0ee000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=1028d1000 nid=0x109fec000 in Object.wait() [109feb000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f4507570> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <7f4507570> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=102801000 nid=0x100501000 runnable [1004ff000]
   java.lang.Thread.State: RUNNABLE
    at java.lang.Character.codePointAt(Character.java:2335)
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3344)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3770)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Slice.match(Pattern.java:3482)
    at java.util.regex.Matcher.match(Matcher.java:1127)
    at java.util.regex.Matcher.matches(Matcher.java:502)
    at com.google.apphosting.utils.glob.AbstractGlob.matches(AbstractGlob.java:48)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:56)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:52)
    at com.google.apphosting.utils.glob.GlobIntersector.reorderAndBlendChildren(GlobIntersector.java:95)
    at com.google.apphosting.utils.glob.GlobIntersector.getIntersection(GlobIntersector.java:68)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.getGlobPatterns(AppYamlTranslator.java:416)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.size(AppYamlTranslator.java:390)
    at com.google.appengine.tools.admin.AppYamlTranslator.translateWebXml(AppYamlTranslator.java:191)
    at com.google.appengine.tools.admin.AppYamlTranslator.getYaml(AppYamlTranslator.java:83)
    at com.google.appengine.tools.admin.Application.generateAppYaml(Application.java:897)
    at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:473)
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:327)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:52)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:641)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:172)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:69)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:65)

"VM Thread" prio=9 tid=1028cc800 nid=0x109ee9000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=102802800 nid=0x102401000 runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=102803000 nid=0x102504000 runnable 

"Gang worker#2 (Parallel GC Threads)" prio=9 tid=102803800 nid=0x102607000 runnable 

"Gang worker#3 (Parallel GC Threads)" prio=9 tid=102804000 nid=0x10270a000 runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=10287f800 nid=0x109bf0000 runnable 
"VM Periodic Task Thread" prio=10 tid=10b01d000 nid=0x10be04000 waiting on condition 

"Exception Catcher Thread" prio=10 tid=102801800 nid=0x1017f9000 runnable 
JNI global references: 1671

Heap
 par new generation   total 19136K, used 13388K [7f3000000, 7f44c0000, 7f44c0000)
  eden space 17024K,  77% used [7f3000000, 7f3cf67e8, 7f40a0000)
  from space 2112K,   5% used [7f42b0000, 7f42cca00, 7f44c0000)
  to   space 2112K,   0% used [7f40a0000, 7f40a0000, 7f42b0000)
 concurrent mark-sweep generation total 63872K, used 4234K [7f44c0000, 7f8320000, 7fae00000)
 concurrent-mark-sweep perm gen total 21248K, used 14477K [7fae00000, 7fc2c0000, 800000000)

2)

^\2012-04-12 19:03:02
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01-415 mixed mode):

"Timer-0" daemon prio=5 tid=1029d0000 nid=0x10c304000 in Object.wait() [10c303000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f45077b0> (a java.util.TaskQueue)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <7f45077b0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"Poller SunPKCS11-Darwin" daemon prio=1 tid=10b078000 nid=0x10c201000 waiting on condition [10c200000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
    at java.lang.Thread.run(Thread.java:680)

"Low Memory Detector" daemon prio=5 tid=10b00b800 nid=0x10bd01000 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=10b00a800 nid=0x10ba04000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=10b00a000 nid=0x10b901000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=10b009000 nid=0x10a704000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=10b008000 nid=0x10a601000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=1028d2000 nid=0x10a0ef000 in Object.wait() [10a0ee000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=1028d1000 nid=0x109fec000 in Object.wait() [109feb000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f4507570> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <7f4507570> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=102801000 nid=0x100501000 runnable [1004ff000]
   java.lang.Thread.State: RUNNABLE
    at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3366)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Slice.match(Pattern.java:3482)
    at java.util.regex.Matcher.match(Matcher.java:1127)
    at java.util.regex.Matcher.matches(Matcher.java:502)
    at com.google.apphosting.utils.glob.AbstractGlob.matches(AbstractGlob.java:48)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:56)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:52)
    at com.google.apphosting.utils.glob.GlobIntersector.reorderAndBlendChildren(GlobIntersector.java:95)
    at com.google.apphosting.utils.glob.GlobIntersector.getIntersection(GlobIntersector.java:68)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.getGlobPatterns(AppYamlTranslator.java:416)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.size(AppYamlTranslator.java:390)
    at com.google.appengine.tools.admin.AppYamlTranslator.translateWebXml(AppYamlTranslator.java:191)
    at com.google.appengine.tools.admin.AppYamlTranslator.getYaml(AppYamlTranslator.java:83)
    at com.google.appengine.tools.admin.Application.generateAppYaml(Application.java:897)
    at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:473)
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:327)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:52)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:641)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:172)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:69)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:65)

"VM Thread" prio=9 tid=1028cc800 nid=0x109ee9000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=102802800 nid=0x102401000 runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=102803000 nid=0x102504000 runnable 

"Gang worker#2 (Parallel GC Threads)" prio=9 tid=102803800 nid=0x102607000 runnable 

"Gang worker#3 (Parallel GC Threads)" prio=9 tid=102804000 nid=0x10270a000 runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=10287f800 nid=0x109bf0000 runnable 
"VM Periodic Task Thread" prio=10 tid=10b01d000 nid=0x10be04000 waiting on condition 

"Exception Catcher Thread" prio=10 tid=102801800 nid=0x1017f9000 runnable 
JNI global references: 1709

Heap
 par new generation   total 19136K, used 9948K [7f3000000, 7f44c0000, 7f44c0000)
  eden space 17024K,  58% used [7f3000000, 7f39b6118, 7f40a0000)
  from space 2112K,   0% used [7f40a0000, 7f40a1000, 7f42b0000)
  to   space 2112K,   0% used [7f42b0000, 7f42b0000, 7f44c0000)
 concurrent mark-sweep generation total 63872K, used 4726K [7f44c0000, 7f8320000, 7fae00000)
 concurrent-mark-sweep perm gen total 21248K, used 14489K [7fae00000, 7fc2c0000, 800000000)

3)

^\2012-04-12 19:03:50
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01-415 mixed mode):

"Timer-0" daemon prio=5 tid=1029d0000 nid=0x10c304000 in Object.wait() [10c303000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f45077b0> (a java.util.TaskQueue)
    at java.lang.Object.wait(Object.java:485)
    at java.util.TimerThread.mainLoop(Timer.java:483)
    - locked <7f45077b0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

"Poller SunPKCS11-Darwin" daemon prio=1 tid=10b078000 nid=0x10c201000 waiting on condition [10c200000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
    at java.lang.Thread.run(Thread.java:680)

"Low Memory Detector" daemon prio=5 tid=10b00b800 nid=0x10bd01000 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=10b00a800 nid=0x10ba04000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=10b00a000 nid=0x10b901000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=10b009000 nid=0x10a704000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=10b008000 nid=0x10a601000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=1028d2000 nid=0x10a0ef000 in Object.wait() [10a0ee000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7f44f0e08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=1028d1000 nid=0x109fec000 in Object.wait() [109feb000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f4507570> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <7f4507570> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=102801000 nid=0x100501000 runnable [1004ff000]
   java.lang.Thread.State: RUNNABLE
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3789)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
    at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    at java.util.regex.Pattern$Slice.match(Pattern.java:3482)
    at java.util.regex.Matcher.match(Matcher.java:1127)
    at java.util.regex.Matcher.matches(Matcher.java:502)
    at com.google.apphosting.utils.glob.AbstractGlob.matches(AbstractGlob.java:48)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:56)
    at com.google.apphosting.utils.glob.AbstractGlob.matchesAll(AbstractGlob.java:52)
    at com.google.apphosting.utils.glob.GlobIntersector.reorderAndBlendChildren(GlobIntersector.java:95)
    at com.google.apphosting.utils.glob.GlobIntersector.getIntersection(GlobIntersector.java:68)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.getGlobPatterns(AppYamlTranslator.java:416)
    at com.google.appengine.tools.admin.AppYamlTranslator$AbstractHandlerGenerator.size(AppYamlTranslator.java:390)
    at com.google.appengine.tools.admin.AppYamlTranslator.translateWebXml(AppYamlTranslator.java:191)
    at com.google.appengine.tools.admin.AppYamlTranslator.getYaml(AppYamlTranslator.java:83)
    at com.google.appengine.tools.admin.Application.generateAppYaml(Application.java:897)
    at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:473)
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:327)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:52)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:641)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:172)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:69)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:65)

"VM Thread" prio=9 tid=1028cc800 nid=0x109ee9000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=102802800 nid=0x102401000 runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=102803000 nid=0x102504000 runnable 

"Gang worker#2 (Parallel GC Threads)" prio=9 tid=102803800 nid=0x102607000 runnable 

"Gang worker#3 (Parallel GC Threads)" prio=9 tid=102804000 nid=0x10270a000 runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=10287f800 nid=0x109bf0000 runnable 
"VM Periodic Task Thread" prio=10 tid=10b01d000 nid=0x10be04000 waiting on condition 

"Exception Catcher Thread" prio=10 tid=102801800 nid=0x1017f9000 runnable 
JNI global references: 1709

Heap
 par new generation   total 19136K, used 9956K [7f3000000, 7f44c0000, 7f44c0000)
  eden space 17024K,  58% used [7f3000000, 7f39b81b8, 7f40a0000)
  from space 2112K,   0% used [7f40a0000, 7f40a1000, 7f42b0000)
  to   space 2112K,   0% used [7f42b0000, 7f42b0000, 7f44c0000)
 concurrent mark-sweep generation total 63872K, used 4726K [7f44c0000, 7f8320000, 7fae00000)
 concurrent-mark-sweep perm gen total 21248K, used 14489K [7fae00000, 7fc2c0000, 800000000)

[編集]

WebXmlマッピングをsecurity-constraintから/**に変更/*すると、問題は解決します。私の理解では、この新しいセキュリティ制約の設定は一致しますが、一致/fooしません/foo/bar:そうですか?もしそうなら、私はこのバグを回避する方法があるかもしれません。しかし、それはかなり厄介なバグのように見えますAbstractGlob-どこでもそのコードを見つけるかもしれません...

4

2 に答える 2

0

Java GAE SDK のバージョンは 1.6.4.1 です... 他の問題に対処しているように見えますが、試してみる価値があるかもしれません。 https://groups.google.com/d/msg/google-appengine/V4KHnq2f03Y/X24dzXVJyMQJ

于 2012-04-12T04:24:11.580 に答える