Blog text and sample project for article on spring.io in 2015
Authorization Server for "fully-leaded" Cloud Foundry access tokens
Make customized Alpine Linux disk image for virtual machines
cfmobile/oauth2-route-service 1
Route service oauth2 authentication
Cloud Foundry API Documentation
Maven plugins for Azure
Brewing beer with Spring Cloud has never been that easy...
issue commentspring-guides/gs-crud-with-vaadin
Do you want to send a PR?
comment created time in 9 hours
issue commentspring-guides/gs-crud-with-vaadin
The run.sh script doesn’t use the maven wrapper (it should). So you are picking up an older version of mvn from your local path.
comment created time in a day
issue closedspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
Hi,
I tried to deploy the function-aws sample to my AWS account as a native Lambda function, but couldn't make it work correctly. So that's what I tried to do :
- I cloned the master branch of this repository
- I installed GraalVM 20.2.0 java 11, installed native-image and maven 3.6.3
- I followed the README to native compile the function-aws project with my computer running on Ubuntu 20.04 64bit
- I created a new Lambda function in my AWS account, selecting "Provide your own bootstrap on Amazon Linux 2" option
- I uploaded the native zip as the function code and changed the handler parameter to foobar as mentionned in the README
But when testing the lambda, I always get the same cryptic stacktrace :
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| timestamp | message |
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1600327508489 | Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.create() failed. errno: 38 Function not implemented |
| 1600327508489 | Fatal error: Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.open() failed. |
| 1600327508491 | JavaFrameAnchor dump: |
| 1600327508491 | No anchors |
| 1600327508491 | TopFrame info: |
| 1600327508496 | TotalFrameSize in CodeInfoTable 32 |
| 1600327508496 | VMThreads info: |
| 1600327508496 | VMThread 00005647bb117270 STATUS_IN_JAVA (safepoints disabled) java.lang.Thread@0x5647ba4c59b0 |
| 1600327508496 | VM Thread State for current thread 00005647bb117270: |
| 1600327508496 | 0 (8 bytes): com.oracle.svm.jni.JNIThreadLocalEnvironment.jniFunctions = (bytes) |
| 1600327508496 | 00005647bb117270: 00005647ba2c43d8 |
| 1600327508496 | 8 (32 bytes): com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB = (bytes) |
| 1600327508496 | 00005647bb117278: 00007f5fd8b00000 00007f5fd8c00000 |
| 1600327508496 | 00005647bb117288: 00007f5fd8b020c0 0000000000000000 |
| 1600327508496 | 40 (8 bytes): com.oracle.svm.core.heap.NoAllocationVerifier.openVerifiers = (Object) null |
| 1600327508496 | 48 (8 bytes): com.oracle.svm.core.jdk.IdentityHashCodeSupport.hashCodeGeneratorTL = (Object) null |
| 1600327508496 | 56 (8 bytes): com.oracle.svm.core.snippets.ExceptionUnwind.currentException = (Object) null |
| 1600327508496 | 64 (8 bytes): com.oracle.svm.core.thread.JavaThreads.currentThread = (Object) java.lang.Thread 00005647ba4c59b0 |
| 1600327508496 | 72 (8 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.activeTimer = (Object) null |
| 1600327508496 | 80 (8 bytes): com.oracle.svm.jni.JNIObjectHandles.handles = (Object) com.oracle.svm.core.handles.ThreadLocalHandles 00007f5fd8b010c0 |
| 1600327508496 | 88 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPendingException.pendingException = (Object) null |
| 1600327508496 | 96 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPinnedObjects.pinnedObjectsListHead = (Object) null |
| 1600327508496 | 104 (8 bytes): com.oracle.svm.jni.JNIThreadOwnedMonitors.ownedMonitors = (Object) null |
| 1600327508496 | 112 (8 bytes): com.oracle.svm.core.genscavenge.ThreadLocalAllocation.freeList = (Word) 0 0000000000000000 |
| 1600327508496 | 120 (8 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.stackBoundaryTL = (Word) 1 0000000000000001 |
| 1600327508496 | 128 (8 bytes): com.oracle.svm.core.stack.JavaFrameAnchors.lastAnchor = (Word) 0 0000000000000000 |
| 1600327508496 | 136 (8 bytes): com.oracle.svm.core.thread.VMThreads.IsolateTL = (Word) 94866043924480 00005647b8d97000 |
| 1600327508496 | 144 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadHandleTL = (Word) 140049648089984 00007f5fd9867b80 |
| 1600327508496 | 152 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadIdTL = (Word) 140049648089984 00007f5fd9867b80 |
| 1600327508496 | 160 (8 bytes): com.oracle.svm.core.thread.VMThreads.nextTL = (Word) 0 0000000000000000 |
| 1600327508496 | 168 (4 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.yellowZoneStateTL = (int) -16843010 fefefefe |
| 1600327508496 | 172 (4 bytes): com.oracle.svm.core.snippets.ImplicitExceptions.implicitExceptionsAreFatal = (int) 0 00000000 |
| 1600327508496 | 176 (4 bytes): com.oracle.svm.core.thread.Safepoint.safepointRequested = (int) 2147473685 7fffd915 |
| 1600327508496 | 180 (4 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.currentPauseDepth = (int) 0 00000000 |
| 1600327508496 | 184 (4 bytes): com.oracle.svm.core.thread.VMThreads$ActionOnTransitionToJavaSupport.actionTL = (int) 0 00000000 |
| 1600327508496 | 188 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.safepointsDisabledTL = (int) 1 00000001 |
| 1600327508496 | 192 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.statusTL = (int) 1 00000001 |
| 1600327508496 | VMOperation dump: |
| 1600327508496 | No VMOperation in progress |
| 1600327508496 | Dump Counters: |
| 1600327508496 | Raw Stacktrace: |
| 1600327508496 | 00007ffc8628ea80: 00007ffc8628e968 00005647b9b93798 |
| 1600327508496 | 00007ffc8628ea90: 00005647b8d97000 00005647b72b1c4a |
| 1600327508496 | 00007ffc8628eaa0: 3020303030303030 2020302030303a30 |
| 1600327508496 | 00007ffc8628eab0: 00005647ba4c6660 00005647ba4c65f8 |
| 1600327508496 | 00007ffc8628eac0: 00000000000000ff 0000002600000000 |
| 1600327508496 | 00007ffc8628ead0: 00005647b72b1bc3 00007ffc8628eaa0 |
| 1600327508496 | 00007ffc8628eae0: 0000000000000000 00005647b72b285e |
| 1600327508496 | 00007ffc8628eaf0: 2c2c2c2c2c2c2c2c 2c2c2c2c2c2c2c2c |
| 1600327508496 | Stacktrace Stage 0: |
| 1600327508496 | SP 00007ffc8628ea80 IP 00005647b72c9526 FrameSize 32 |
| 1600327508496 | SP 00007ffc8628eaa0 IP 00005647b72b1c4a FrameSize 80 |
| 1600327508496 | SP 00007ffc8628eaf0 IP 00005647b72b285e FrameSize 32 |
| 1600327508500 | SP 00007ffc8628eb10 IP 00005647b80fe05c FrameSize 64 |
| 1600327508504 | SP 00007ffc8628eb50 IP 00005647b7c8bc0c FrameSize 48 |
| 1600327508504 | SP 00007ffc8628eb80 IP 00005647b72602c5 FrameSize 16 |
| 1600327508504 | SP 00007ffc8628eb90 IP 00005647b729a915 FrameSize 32 |
| 1600327508504 | SP 00007ffc8628ebb0 IP 00005647b72796bf FrameSize 112 |
| 1600327508504 | Stacktrace Stage 1: |
| 1600327508505 | SP 00007ffc8628ea80 IP 00005647b72c9526 com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508505 | SP 00007ffc8628eaa0 IP 00005647b72b1c4a com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508505 | SP 00007ffc8628eaf0 IP 00005647b72b285e com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508505 | SP 00007ffc8628eb10 IP 00005647b80fe05c com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508506 | SP 00007ffc8628eb50 IP 00005647b7c8bc0c com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508506 | SP 00007ffc8628eb80 IP 00005647b72602c5 com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508506 | SP 00007ffc8628eb90 IP 00005647b729a915 com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508506 | SP 00007ffc8628ebb0 IP 00005647b72796bf com.oracle.svm.core.code.CodeInfo@0x5647ba49fbd8 name = image code |
| 1600327508506 | Stacktrace Stage 2: |
| 1600327508512 | SP 00007ffc8628ea80 IP 00005647b72c9526 [image code] com.oracle.svm.core.jdk.VMErrorSubstitutions.shutdown(VMErrorSubstitutions.java:96) |
| 1600327508512 | SP 00007ffc8628ea80 IP 00005647b72c9526 [image code] com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:75) |
| 1600327508512 | SP 00007ffc8628eaa0 IP 00005647b72b1c4a [image code] com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:59) |
| 1600327508512 | SP 00007ffc8628eaa0 IP 00005647b72b1c4a [image code] com.oracle.svm.core.posix.Util_jdk_internal_misc_Signal.ensureInitialized(SunMiscSubstitutions.java:177) |
| 1600327508514 | SP 00007ffc8628eaf0 IP 00005647b72b285e [image code] com.oracle.svm.core.posix.Util_jdk_internal_misc_Signal.numberFromName(SunMiscSubstitutions.java:225) |
| 1600327508522 | SP 00007ffc8628eb10 IP 00005647b80fe05c [image code] jdk.internal.misc.Signal.findSignal0(Signal.java:83) |
| 1600327508522 | SP 00007ffc8628eb10 IP 00005647b80fe05c [image code] jdk.internal.misc.Signal.<init>(Signal.java:146) |
| 1600327508526 | SP 00007ffc8628eb50 IP 00005647b7c8bc0c [image code] java.lang.Terminator.setup(Terminator.java:59) |
| 1600327508529 | SP 00007ffc8628eb80 IP 00005647b72602c5 [image code] com.oracle.svm.core.SubstrateExitHandlerFeature$$Lambda$6ac97f0688283293e0c2a0c25ff26531a4f1c7a1.run(Unknown Source) |
| 1600327508531 | SP 00007ffc8628eb90 IP 00005647b729a915 [image code] com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:125) |
| 1600327508531 | SP 00007ffc8628ebb0 IP 00005647b72796bf [image code] com.oracle.svm.core.jdk.RuntimeSupport.executeStartupHooks(RuntimeSupport.java:75) |
| 1600327508531 | SP 00007ffc8628ebb0 IP 00005647b72796bf [image code] com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:141) |
| 1600327508531 | SP 00007ffc8628ebb0 IP 00005647b72796bf [image code] com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:184) |
| 1600327508531 | SP 00007ffc8628ebb0 IP 00005647b72796bf [image code] com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(IsolateEnterStub.java:0) |
| 1600327508531 | [Native image heap boundaries: |
| 1600327508531 | ReadOnly Primitives: 0x5647b8d97008 .. 0x5647b9b797e8 |
| 1600327508531 | ReadOnly References: 0x5647b9b79820 .. 0x5647b9f322e0 |
| 1600327508531 | ReadOnly Relocatables: 0x5647b9f81000 .. 0x5647ba39fe80 |
| 1600327508531 | Writable Primitives: 0x5647ba3a0000 .. 0x5647ba4b55d0 |
| 1600327508531 | Writable References: 0x5647ba4b55e8 .. 0x5647bac1e7b8 |
| 1600327508531 | Writable Huge: 0x0 .. 0x0 |
| 1600327508531 | ReadOnly Huge: 0x0 .. 0x0] |
| 1600327508531 | [Heap: |
| 1600327508531 | [Young generation: |
| 1600327508531 | [Eden: |
| 1600327508531 | [edenSpace: |
| 1600327508531 | aligned: 0/0 unaligned: 0/0]] |
| 1600327508531 | [Survivors: |
| 1600327508531 | ]] |
| 1600327508531 | [Old generation: |
| 1600327508531 | [oldFromSpace: |
| 1600327508531 | aligned: 0/0 unaligned: 0/0] |
| 1600327508531 | [oldToSpace: |
| 1600327508531 | aligned: 0/0 unaligned: 0/0] |
| 1600327508531 | ] |
| 1600327508531 | [Unused: |
| 1600327508531 | aligned: 0/0]] |
| 1600327508531 | Fatal error: Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.open() failed. |
| 1600327508601 | START RequestId: 2920ad08-0136-470b-ac5b-df4a07886bce Version: $LATEST |
| 1600327508683 | Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.create() failed. errno: 38 Function not implemented |
| 1600327508683 | Fatal error: Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.open() failed. |
| 1600327508683 | JavaFrameAnchor dump: |
| 1600327508683 | No anchors |
| 1600327508683 | TopFrame info: |
| 1600327508683 | TotalFrameSize in CodeInfoTable 32 |
| 1600327508683 | VMThreads info: |
| 1600327508683 | VMThread 0000563233dfd270 STATUS_IN_JAVA (safepoints disabled) java.lang.Thread@0x56323191f9b0 |
| 1600327508683 | VM Thread State for current thread 0000563233dfd270: |
| 1600327508683 | 0 (8 bytes): com.oracle.svm.jni.JNIThreadLocalEnvironment.jniFunctions = (bytes) |
| 1600327508683 | 0000563233dfd270: 000056323171e3d8 |
| 1600327508683 | 8 (32 bytes): com.oracle.svm.core.genscavenge.ThreadLocalAllocation.regularTLAB = (bytes) |
| 1600327508683 | 0000563233dfd278: 00007f76e0b00000 00007f76e0c00000 |
| 1600327508683 | 0000563233dfd288: 00007f76e0b020c0 0000000000000000 |
| 1600327508683 | 40 (8 bytes): com.oracle.svm.core.heap.NoAllocationVerifier.openVerifiers = (Object) null |
| 1600327508683 | 48 (8 bytes): com.oracle.svm.core.jdk.IdentityHashCodeSupport.hashCodeGeneratorTL = (Object) null |
| 1600327508683 | 56 (8 bytes): com.oracle.svm.core.snippets.ExceptionUnwind.currentException = (Object) null |
| 1600327508683 | 64 (8 bytes): com.oracle.svm.core.thread.JavaThreads.currentThread = (Object) java.lang.Thread 000056323191f9b0 |
| 1600327508683 | 72 (8 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.activeTimer = (Object) null |
| 1600327508683 | 80 (8 bytes): com.oracle.svm.jni.JNIObjectHandles.handles = (Object) com.oracle.svm.core.handles.ThreadLocalHandles 00007f76e0b010c0 |
| 1600327508683 | 88 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPendingException.pendingException = (Object) null |
| 1600327508683 | 96 (8 bytes): com.oracle.svm.jni.JNIThreadLocalPinnedObjects.pinnedObjectsListHead = (Object) null |
| 1600327508683 | 104 (8 bytes): com.oracle.svm.jni.JNIThreadOwnedMonitors.ownedMonitors = (Object) null |
| 1600327508683 | 112 (8 bytes): com.oracle.svm.core.genscavenge.ThreadLocalAllocation.freeList = (Word) 0 0000000000000000 |
| 1600327508683 | 120 (8 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.stackBoundaryTL = (Word) 1 0000000000000001 |
| 1600327508683 | 128 (8 bytes): com.oracle.svm.core.stack.JavaFrameAnchors.lastAnchor = (Word) 0 0000000000000000 |
| 1600327508683 | 136 (8 bytes): com.oracle.svm.core.thread.VMThreads.IsolateTL = (Word) 94773555695616 00005632301f1000 |
| 1600327508683 | 144 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadHandleTL = (Word) 140148566223744 00007f76e1816b80 |
| 1600327508683 | 152 (8 bytes): com.oracle.svm.core.thread.VMThreads.OSThreadIdTL = (Word) 140148566223744 00007f76e1816b80 |
| 1600327508683 | 160 (8 bytes): com.oracle.svm.core.thread.VMThreads.nextTL = (Word) 0 0000000000000000 |
| 1600327508683 | 168 (4 bytes): com.oracle.svm.core.graal.snippets.StackOverflowCheckImpl.yellowZoneStateTL = (int) -16843010 fefefefe |
| 1600327508683 | 172 (4 bytes): com.oracle.svm.core.snippets.ImplicitExceptions.implicitExceptionsAreFatal = (int) 0 00000000 |
| 1600327508683 | 176 (4 bytes): com.oracle.svm.core.thread.Safepoint.safepointRequested = (int) 2147473685 7fffd915 |
| 1600327508683 | 180 (4 bytes): com.oracle.svm.core.thread.ThreadingSupportImpl.currentPauseDepth = (int) 0 00000000 |
| 1600327508683 | 184 (4 bytes): com.oracle.svm.core.thread.VMThreads$ActionOnTransitionToJavaSupport.actionTL = (int) 0 00000000 |
| 1600327508683 | 188 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.safepointsDisabledTL = (int) 1 00000001 |
| 1600327508683 | 192 (4 bytes): com.oracle.svm.core.thread.VMThreads$StatusSupport.statusTL = (int) 1 00000001 |
| 1600327508683 | VMOperation dump: |
| 1600327508683 | No VMOperation in progress |
| 1600327508683 | Dump Counters: |
| 1600327508683 | Raw Stacktrace: |
| 1600327508683 | 00007ffc18bcad20: 00007ffc18bcac08 0000563230fed798 |
| 1600327508683 | 00007ffc18bcad30: 00005632301f1000 000056322e70bc4a |
| 1600327508683 | 00007ffc18bcad40: 3020303030303030 2020302030303a30 |
| 1600327508683 | 00007ffc18bcad50: 0000563231920660 00005632319205f8 |
| 1600327508683 | 00007ffc18bcad60: 00000000000000ff 0000002600000000 |
| 1600327508683 | 00007ffc18bcad70: 000056322e70bbc3 00007ffc18bcad40 |
| 1600327508683 | 00007ffc18bcad80: 0000000000000000 000056322e70c85e |
| 1600327508683 | 00007ffc18bcad90: 2c2c2c2c2c2c2c2c 2c2c2c2c2c2c2c2c |
| 1600327508683 | Stacktrace Stage 0: |
| 1600327508683 | SP 00007ffc18bcad20 IP 000056322e723526 FrameSize 32 |
| 1600327508683 | SP 00007ffc18bcad40 IP 000056322e70bc4a FrameSize 80 |
| 1600327508683 | SP 00007ffc18bcad90 IP 000056322e70c85e FrameSize 32 |
| 1600327508683 | SP 00007ffc18bcadb0 IP 000056322f55805c FrameSize 64 |
| 1600327508683 | SP 00007ffc18bcadf0 IP 000056322f0e5c0c FrameSize 48 |
| 1600327508683 | SP 00007ffc18bcae20 IP 000056322e6ba2c5 FrameSize 16 |
| 1600327508683 | SP 00007ffc18bcae30 IP 000056322e6f4915 FrameSize 32 |
| 1600327508683 | SP 00007ffc18bcae50 IP 000056322e6d36bf FrameSize 112 |
| 1600327508683 | Stacktrace Stage 1: |
| 1600327508720 | SP 00007ffc18bcad20 IP 000056322e723526 com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcad40 IP 000056322e70bc4a com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcad90 IP 000056322e70c85e com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcadb0 IP 000056322f55805c com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcadf0 IP 000056322f0e5c0c com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcae20 IP 000056322e6ba2c5 com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcae30 IP 000056322e6f4915 com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | SP 00007ffc18bcae50 IP 000056322e6d36bf com.oracle.svm.core.code.CodeInfo@0x5632318f9bd8 name = image code |
| 1600327508720 | Stacktrace Stage 2: |
| 1600327508721 | SP 00007ffc18bcad20 IP 000056322e723526 [image code] com.oracle.svm.core.jdk.VMErrorSubstitutions.shutdown(VMErrorSubstitutions.java:96) |
| 1600327508721 | SP 00007ffc18bcad20 IP 000056322e723526 [image code] com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:75) |
| 1600327508721 | SP 00007ffc18bcad40 IP 000056322e70bc4a [image code] com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:59) |
| 1600327508721 | SP 00007ffc18bcad40 IP 000056322e70bc4a [image code] com.oracle.svm.core.posix.Util_jdk_internal_misc_Signal.ensureInitialized(SunMiscSubstitutions.java:177) |
| 1600327508721 | SP 00007ffc18bcad90 IP 000056322e70c85e [image code] com.oracle.svm.core.posix.Util_jdk_internal_misc_Signal.numberFromName(SunMiscSubstitutions.java:225) |
| 1600327508721 | SP 00007ffc18bcadb0 IP 000056322f55805c [image code] jdk.internal.misc.Signal.findSignal0(Signal.java:83) |
| 1600327508721 | SP 00007ffc18bcadb0 IP 000056322f55805c [image code] jdk.internal.misc.Signal.<init>(Signal.java:146) |
| 1600327508721 | SP 00007ffc18bcadf0 IP 000056322f0e5c0c [image code] java.lang.Terminator.setup(Terminator.java:59) |
| 1600327508721 | SP 00007ffc18bcae20 IP 000056322e6ba2c5 [image code] com.oracle.svm.core.SubstrateExitHandlerFeature$$Lambda$6ac97f0688283293e0c2a0c25ff26531a4f1c7a1.run(Unknown Source) |
| 1600327508721 | SP 00007ffc18bcae30 IP 000056322e6f4915 [image code] com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:125) |
| 1600327508721 | SP 00007ffc18bcae50 IP 000056322e6d36bf [image code] com.oracle.svm.core.jdk.RuntimeSupport.executeStartupHooks(RuntimeSupport.java:75) |
| 1600327508721 | SP 00007ffc18bcae50 IP 000056322e6d36bf [image code] com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:141) |
| 1600327508721 | SP 00007ffc18bcae50 IP 000056322e6d36bf [image code] com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:184) |
| 1600327508721 | SP 00007ffc18bcae50 IP 000056322e6d36bf [image code] com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(IsolateEnterStub.java:0) |
| 1600327508721 | [Native image heap boundaries: |
| 1600327508721 | ReadOnly Primitives: 0x5632301f1008 .. 0x563230fd37e8 |
| 1600327508721 | ReadOnly References: 0x563230fd3820 .. 0x56323138c2e0 |
| 1600327508721 | ReadOnly Relocatables: 0x5632313db000 .. 0x5632317f9e80 |
| 1600327508721 | Writable Primitives: 0x5632317fa000 .. 0x56323190f5d0 |
| 1600327508721 | Writable References: 0x56323190f5e8 .. 0x5632320787b8 |
| 1600327508721 | Writable Huge: 0x0 .. 0x0 |
| 1600327508721 | ReadOnly Huge: 0x0 .. 0x0] |
| 1600327508721 | [Heap: |
| 1600327508721 | [Young generation: |
| 1600327508721 | [Eden: |
| 1600327508721 | [edenSpace: |
| 1600327508721 | aligned: 0/0 unaligned: 0/0]] |
| 1600327508721 | [Survivors: |
| 1600327508721 | ]] |
| 1600327508721 | [Old generation: |
| 1600327508721 | [oldFromSpace: |
| 1600327508721 | aligned: 0/0 unaligned: 0/0] |
| 1600327508721 | [oldToSpace: |
| 1600327508721 | aligned: 0/0 unaligned: 0/0] |
| 1600327508721 | ] |
| 1600327508721 | [Unused: |
| 1600327508721 | aligned: 0/0]] |
| 1600327508721 | Fatal error: Util_sun_misc_Signal.ensureInitialized: CSunMiscSignal.open() failed. |
| 1600327508785 | END RequestId: 2920ad08-0136-470b-ac5b-df4a07886bce |
| 1600327508785 | REPORT RequestId: 2920ad08-0136-470b-ac5b-df4a07886bce Duration: 183.17 ms Billed Duration: 200 ms Memory Size: 128 MB Max Memory Used: 11 MB |
| 1600327508785 | RequestId: 2920ad08-0136-470b-ac5b-df4a07886bce Error: Runtime exited with error: exit status 99 Runtime.ExitError |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
It looks like the native code doesn't even get executed. Any ideas about whats wrong here ?
closed time in 2 days
mbarbeauxissue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
There's a fix in Spring Cloud Function now. The string->string function should be working again.
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
We found the bug in Spring Cloud Function: https://github.com/spring-cloud/spring-cloud-function/issues/588
comment created time in 2 days
issue openedspring-cloud/spring-cloud-function
Headers are dropped when user provides Function<String,String>
This section in SimpleFunctionRegistry seems to be subtly wrong:
if (messageNeedsConversion(rawType, (Message<?>) value)) {
convertedValue = FunctionTypeUtils.isTypeCollection(type)
? messageConverter.fromMessage((Message<?>) value, (Class<?>) rawType, FunctionTypeUtils.getGenericType(type))
: messageConverter.fromMessage((Message<?>) value, (Class<?>) rawType);
if (logger.isDebugEnabled()) {
logger.debug("Converted from Message: " + convertedValue);
}
if (FunctionTypeUtils.isMessage(type) || ((Message<?>) value).getHeaders().containsKey("scf-func-name")) {
convertedValue = MessageBuilder.withPayload(convertedValue)
.copyHeaders(((Message<?>) value).getHeaders()).build();
}
}
else if (!FunctionTypeUtils.isMessage(type)) {
if (this.payloadIsSpecialType(((Message<?>) value).getPayload())) {
return null;
}
convertedValue = ((Message<?>) convertedValue).getPayload();
}
}
The first branch is followed if the incoming value is a Message with a POJO payload, and in that case we check for containsKey("scf-func-name") and copy the headers over into the converted object. The second branch skips that logic, so the convertedValue is only the payload, and headers are dropped.
created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
Here's what you get with debug logging:
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.c.f.c.c.SimpleFunctionRegistry : Converted input value "foo"
HI: "foo"
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.c.f.c.c.SimpleFunctionRegistry : Result of invocation of "foobar" function is 'hi "foo"!'
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.c.f.c.c.SimpleFunctionRegistry : Applying type conversion on output value
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.c.f.a.aws.LambdaDestinationResolver : Lambda invoming value: GenericMessage [payload=byte[13], headers={contentType=application/json, id=7bfcf1c9-15ee-b7df-7cd5-981e9fb9fd7d, timestamp=1600434787091}]
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.c.f.a.aws.LambdaDestinationResolver : Lambda destination resolved to: unknown
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.w.r.f.client.ExchangeFunctions : [52f9b41c] HTTP POST http://127.0.0.1:9001/2018-06-01/runtime/invocation/unknown/response
2020-09-18 13:13:07.091 DEBUG 14 --- [ctor-http-nio-2] o.s.w.r.f.client.ExchangeFunctions : [14afb7fa] HTTP GET http://127.0.0.1:9001/2018-06-01/runtime/invocation/next
2020-09-18 13:13:07.092 DEBUG 14 --- [ctor-http-nio-2] o.s.core.codec.ByteArrayEncoder : [52f9b41c] Writing 13 bytes
2020-09-18 13:13:07.092 DEBUG 14 --- [ctor-http-nio-2] o.s.w.r.f.client.ExchangeFunctions : [52f9b41c] Response 400 BAD_REQUEST
So probably we need to fix that in Spring Cloud Function.
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
That's the same as me (I posted the logs in a comment above, omitting the long list of Hi: "foo"). Not sure why this is the case, since it works locally, and the tests are green. I'm going to look at it with @olegz.
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
The Spring Boot app started without any problems.
I see the same. So that tends to suggest that amazonlinux is not the same container image used in Lambda custom runtime.
I'll check that if I can put a hand on a GraalVM 20.3 build somewhere.
docker pull springci/spring-graalvm-native:master-java8
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
Looks like it might be fixed in GraalVM 20.3: https://github.com/oracle/graal/issues/2742. I'll see if I can verify.
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
That's what I tried. It fails in AWS because Lambda needs to terminate the app and cannot.
foo"
HI: "foo"
...
HI: "foo"
END RequestId: e99042ae-0e73-4ea5-8356-13436fcb6890
REPORT RequestId: e99042ae-0e73-4ea5-8356-13436fcb6890 Duration: 3000.22 ms Billed Duration: 3500 ms Memory Size: 1024 MB Max Memory Used: 199 MB Init Duration: 490.26 ms
2020-09-18T11:25:03.160Z e99042ae-0e73-4ea5-8356-13436fcb6890 Task timed out after 3.00 seconds
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
I don't know. It looks like the same issue to me though. If you take the terminator out (by manually removing it from spring-graalvm-feature) the function fails in a different way in AWS because it cannot be terminated. Where did you find the "Amzonlinux container" you mentioned above?
comment created time in 2 days
issue commentspring-projects-experimental/spring-graalvm-native
Deploy function-aws using native zip
Something changed in AWS/GraalVM. This looks relevant: https://github.com/oracle/graal/issues/841. From what I can tell AWS needs a terminator (to handle SIGTERM), but it doesn't provide the system call in its kernel that GraalVM native image is expecting when you build on Ubuntu. We might have to ask the GraalVM team to look into this.
comment created time in 2 days
push eventspring-projects-experimental/spring-init
commit sha 4baedaf9271c0dbaedbcdecdc70273dbb3a2f366
Use a ServiceLoader for configuration properties binders
push time in 2 days
push eventspring-projects-experimental/spring-init
commit sha 8710de70aa3242303830516b5cbf816e0087a1de
Make auto sample work (in reflection mode) with no request mapping
commit sha a08e280667caf62667f1350705abcf53ca8aab47
Update to latest versions
commit sha 70fd60236fd478526400323421005e89abda439f
Coax auto sample native image to work in functional mode
push time in 2 days
issue openedspring-projects-experimental/spring-graalvm-native
Make LogLevel reflection config available conditionally in functional mode
It's a mystery (to me) why it isn't needed in reflection mode, but we need LogLevel to be reflectable so that users can set logging.level.* configuration and have it behave compatibly. I added a LogLevelHints but there's no way currently to make it only work in functional mode.
created time in 2 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 88289361d7b0ed10895916de7df4ae436a80751a
Add LogLevelHints to support binding to logging.level.*
push time in 2 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 8cc2fc1fc9cc023e2e10e7b34bfe78b6537f1057
Ensure EnvironmentPorstProcessors get called
push time in 2 days
push eventspring-guides/gs-spring-boot-kubernetes
commit sha 5843dcdaa7a2a7b287254d4548e806a5d17a674d
Use Boot build tools
push time in 3 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 8d927f40078c4ec426009f9ba44e459eef9da4ec
Organize imports
commit sha 5578e504951149f2d2f7cd934de42fd1b79b1add
Mess around with petclinics
push time in 3 days
push eventspring-projects-experimental/spring-init
commit sha 84de421096b743deb439fbbcb7605ab53b94d852
Use GA version of Tomcat jar
push time in 3 days
push eventspring-projects-experimental/spring-init
commit sha add40171c70152093f576100cd829071b1f240f1
Generate InitializerLocator for Spring Boot -func jars
commit sha c3ec843a7bb82bdb2bc5207bcf983b15dc4e94cc
Use lazy pattern for InitializerLocator
push time in 3 days
push eventspring-projects-experimental/spring-init
commit sha 751da1df2b05c1f9ebbe14c0c2742fa9c31b6470
Generate TypeService even if closedWorld=false
commit sha 35d852074c161f68c20ee9d09b3f510d8b8fcfbb
Generate an InitializerLocator for Spring Boot autoconfigs Fixes gh-36, but would be better implemented as a feature of the -func jars.
push time in 4 days
issue closedspring-projects-experimental/spring-init
closedWorld=false not working with native-image because InitializerLocator fails
I thought this was working (something changed to do with build time initialization in native-image?), but currently no native image works with closedWorld=false because the InitializerLocator always returns null for all initializers.
closed time in 4 days
dsyerissue openedspring-projects-experimental/spring-init
closedWorld=false not working with native-image because InitializerLocator fails
I thought this was working (something changed to do with build time initialization in native-image?), but currently no native image works with closedWorld=false because the InitializerLocator always returns null for all initializers.
created time in 4 days
issue closedspring-projects-experimental/spring-init
@WebFluxTest not working for functional app
I see test failures in the "auto" sample to do with actuator properties binding when I try to switch to functional. Not sure why yet.
closed time in 4 days
dsyerissue commentspring-projects-experimental/spring-init
@WebFluxTest not working for functional app
False alarm. I was trying to use @EnableAutoConfiguration and @ImportAutoConfiguration at the same time.
comment created time in 4 days
issue commentspring-projects-experimental/spring-graalvm-native
Petclinic samples fail with missing reflection config
I tried it with this reflect-config.json and it worked
[
{
"name": "org.springframework.web.servlet.view.InternalResourceView",
"allDeclaredConstructors": true
}
]
so I guess a hint will be easy to craft.
comment created time in 5 days
issue openedspring-projects-experimental/spring-graalvm-native
Petclinic samples fail with missing reflection config
petclinic-jdbc_1 | SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.view.InternalResourceView]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.web.servlet.view.InternalResourceView.<init>()] with root cause
petclinic-jdbc_1 | java.lang.NoSuchMethodException: org.springframework.web.servlet.view.InternalResourceView.<init>()
petclinic-jdbc_1 | at java.lang.Class.getConstructor0(DynamicHub.java:3082)
petclinic-jdbc_1 | at java.lang.Class.getDeclaredConstructor(DynamicHub.java:2178)
petclinic-jdbc_1 | at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:140)
petclinic-jdbc_1 | at org.springframework.web.servlet.view.UrlBasedViewResolver.buildView(UrlBasedViewResolver.java:553)
petclinic-jdbc_1 | at org.springframework.web.servlet.view.InternalResourceViewResolver.buildView(InternalResourceViewResolver.java:106)
...
It's strange because Petclinic has always needed to use InternalResourceView so I don't know how it ever worked.
created time in 5 days
issue openedspring-projects-experimental/spring-init
@WebFluxTest not working for functional app
I see test failures in the "auto" sample to do with actuator properties binding when I try to switch to functional. Not sure why yet.
created time in 5 days
issue openedspring-projects-experimental/spring-graalvm-native
Support for JSON rendering of maps
As observed in #272 it seems like we cannot yet support serializing Map<String,Object> to JSON, even if the values are simple primitiveish types (like String). It would be useful to work out what the barrier is. Probably just some reflection configuration on HashMap or similar.
created time in 5 days
issue closedspring-projects-experimental/spring-graalvm-native
/features endpoint not behaving the same in native image
Might need some changes in Spring Cloud? First we need some reflection hints for org.springframework.cloud.client.actuator.FeaturesEndpoint and all the nested classes that are used in the endpoint method (Features and Feature).
Here's the result from a native image when you do that:
$ curl localhost:8080/actuator/features
{"enabled":[{"type":"org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient","name":"DiscoveryClient","version":null,"vendor":null}],"disabled":["LoadBalancerClient"]}
same app in a regular JVM:
$ curl localhost:8080/actuator/features
{"enabled":[{"type":"org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient","name":"DiscoveryClient","version":"3.0.0-SNAPSHOT","vendor":"Pivotal Software, Inc."},{"type":"org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClient","name":"ReactiveDiscoveryClient","version":"3.0.0-SNAPSHOT","vendor":"Pivotal Software, Inc."}],"disabled":["LoadBalancerClient","ReactiveLoadBalancer"]}
closed time in 5 days
dsyerissue commentspring-projects-experimental/spring-graalvm-native
/features endpoint not behaving the same in native image
LGTM. The "details" field is a Map<String,Object>, so we probably don't support serializing that in general (via Jackson) yet. Should probably be a separate issue.
comment created time in 5 days
issue closedspring-projects-experimental/spring-init
Support proxy-less @Configuration classes unchanged from a developer POV
See spring-projects-experimental/spring-graalvm-native#248 for more details. We could probably start by doing such transformation only on configuration classes without @Bean to handle the default @SpringBootApplication case. Step 2 could be to do this transformation only if there is no cross @Bean method invocation. cc @aclement
closed time in 5 days
sdeleuzeissue commentspring-projects-experimental/spring-init
Support proxy-less @Configuration classes unchanged from a developer POV
Latest snapshots now support proxyBeanMethods=true by generating subclass implementations at build time and using those in the initializer.
comment created time in 5 days
push eventspring-guides/gs-testing-web
commit sha 5d7f921d00fa912e9a4f5f0c45bb96eb9c6d4110
Fixed typo in test method name
push time in 5 days
PR merged spring-guides/gs-testing-web
Found a typo in the test method name while going through docs. Fixed it.
pr closed time in 5 days
push eventspring-projects-experimental/spring-init
commit sha deb211d569d20b73ba51709a8892ca871e0ccfef
Allow @Configuration without explicit proxyBeanMethods We can generate subclasses at build time for any @Configuration we choose. Initial implementation does it whenever there are >0 @Bean methods and proxyBeanMethods=true.
push time in 6 days
push eventspring-projects-experimental/spring-init
commit sha 7a67fccecbf7a2e95bc3f56504bb8f1d5fa5902f
Attempt to find public base class
push time in 6 days
issue openedspring-projects/spring-boot
Some @ManagementContextConfiguration are not marked as proxyBeanMethods = false
Some of the @ManagementContextConfiguration classes are explicitly marked as proxyBeanMethods = false and some are not (e.g. WebMvcEndpointChildContextConfiguration). It seems like Spring doesn't recognize this in a meta-annotation, so it's probably a bug not to declare it explicitly:
Class<WebMvcEndpointChildContextConfiguration> type = WebMvcEndpointChildContextConfiguration.class;
String name = Configuration.class.getName();
System.err.println(new SimpleMetadataReaderFactory().getMetadataReader(type.getName()).getAnnotationMetadata()
.getAllAnnotationAttributes(name).get("proxyBeanMethods"));
System.err.println(new SimpleMetadataReaderFactory().getMetadataReader(type.getName()).getAnnotationMetadata()
.getAnnotationAttributes(name).get("proxyBeanMethods"));
System.err.println(
AnnotatedElementUtils.getMergedAnnotationAttributes(type, name, true, true).get("proxyBeanMethods"));
System.err.println(
AnnotatedElementUtils.findMergedAnnotationAttributes(type, name, true, true).get("proxyBeanMethods"));
prints
[false]
true
true
true
The code path in Spring is the second one (I think), via ConfigurationClassUtils.
created time in 6 days
issue closedspring-projects/spring-boot
proxyBeanMethods is not explicitly false in the Spring Session subclasses
SpringBootRedisHttpSessionConfiguration (and same for other data stores) is a subclass of RedisHttpSessionConfiguration. The base class has proxyBeanMethods=false and the subclass does not. Seems like a bug.
System.err.println(new SimpleMetadataReaderFactory()
.getMetadataReader(SpringBootRedisHttpSessionConfiguration.class.getName()).getAnnotationMetadata()
.getAnnotationAttributes(Configuration.class.getName()).get("proxyBeanMethods"));
System.err.println(new SimpleMetadataReaderFactory()
.getMetadataReader(RedisHttpSessionConfiguration.class.getName()).getAnnotationMetadata()
.getAnnotationAttributes(Configuration.class.getName()).get("proxyBeanMethods"));
prints
true
false
closed time in 6 days
dsyerissue commentspring-projects/spring-boot
proxyBeanMethods is not explicitly false in the Spring Session subclasses
Duplicates #23380
comment created time in 6 days
issue openedspring-projects/spring-boot
proxyBeanMethods is not explicitly false in the Spring Session subclasses
SpringBootRedisHttpSessionConfiguration (and same for other data stores) is a subclass of RedisHttpSessionConfiguration. The base class has proxyBeanMethods=false and the subclass does not. Seems like a bug.
System.err.println(new SimpleMetadataReaderFactory()
.getMetadataReader(SpringBootRedisHttpSessionConfiguration.class.getName()).getAnnotationMetadata()
.getAnnotationAttributes(Configuration.class.getName()).get("proxyBeanMethods"));
System.err.println(new SimpleMetadataReaderFactory()
.getMetadataReader(RedisHttpSessionConfiguration.class.getName()).getAnnotationMetadata()
.getAnnotationAttributes(Configuration.class.getName()).get("proxyBeanMethods"));
prints
true
false
created time in 6 days
issue closedspring-projects-experimental/spring-init
Ignore @RequestMapping related beans with functional web apps
After a dedicated discussion with Spring Framework team about enabling or not functional only web configuration, it seems it is not going to happen in Spring Framework 5.3 timeframe, it raises too much open questions and seems a better fit for Spring Framework 6.
So my proposal is to perform a build-time analysis of the application and ignore beans like RequestMappingHandlerMapping and other annotation based ones when no @Controller and @RequestMapping are found, and when actuators are not used.
Notice the actuator efficiency will be explored and discussed as part of https://github.com/spring-projects-experimental/spring-graalvm-native/issues/259. I think there is also a point related to Boot error handling potentially.
It should allow removal of explicit configurations without a footprint regression in our GraalVM native support. This would also remove our last blocking point on https://github.com/spring-projects-experimental/spring-fu/issues/273.
closed time in 6 days
sdeleuzeissue commentspring-projects-experimental/spring-init
Ignore @RequestMapping related beans with functional web apps
This is implemented (for now) as a flag spring.native.remove-request-mapping-support (see c9225a155). The func and tunc samples still have selected autoconfigs, but none of them is customized now, and they would work with @SpringBootApplication if anyone needed that.
comment created time in 6 days
push eventspring-projects-experimental/spring-init
commit sha c49a4f8cb99bb35a37b7e03662210b46e46944b0
Jitpack error on github actions
push time in 9 days
push eventspring-projects-experimental/spring-init
commit sha c9225a155ca11d3d21bd7169a0b999fb3c5b8cb4
Remove custom router function autconfigs
push time in 9 days
push eventspring-guides/gs-spring-boot
commit sha bfbe862851ed6918779b7907419182c3c5450cbc
Updatet spring boot version to 2.3.3
commit sha 1068d3b5af4cf01ef9e37355280269c6a562789a
Updated spring boot to version 2.3.3
commit sha d91b43044d4d9cfdef606aba8fccc3e34ddcdd15
Updatet spring boot version to 2.3.3
push time in 9 days
PR closed spring-guides/gs-accessing-data-rest
Hello, spring-guides.
While studying hateos, I wrote an example with jpa, but it was a little different from the previous one. Can I PR my new example?
If you don't mind, please tell me what I need to make up for.
Thank you.
pr closed time in 9 days
pull request commentspring-guides/gs-accessing-data-rest
I wrote the Spring Jpa New Sample
There's a template for new guides here: https://github.com/spring-guides/getting-started-guides. You would need to provide a README.adoc as well as just the complete sample code. There is already a HATEOAS guide though (https://github.com/spring-guides/gs-rest-hateoas) so I'm not sure we need another one.
comment created time in 9 days
push eventspring-guides/top-spring-boot-docker
commit sha 10e721a8aed3ece3f920a5e36951d583d748dbff
Small typos - sha -> SHA - lline -> line - *Ad mentioned above already, this will also save a bit of space in the image, taken up [...] * -> As already mentioned above, this also saves some space in the image which would be occupied by tools that are not needed at runtime. - neeed -> need
push time in 9 days
PR merged spring-guides/top-spring-boot-docker
Three small typos, one sentence updated for better readability at the same time.
- sha -> SHA
- lline -> line
- *Ad mentioned above already, this will also save a bit of space in the image, taken up [...] * -> As already mentioned above, this also saves some space in the image which would be occupied by tools that are not needed at runtime.
- neeed -> need
Signed-off-by: Martin Röbke [email protected]
pr closed time in 9 days
PR closed spring-guides/top-spring-boot-docker
The snippet accidentally uses builder instead of imageName.
You can modify the image name ... in Gradle using bootBuildImage.imageName. (Was bootBuildImage.builder)
bootBuildImage {
imageName = "myorg/demo"
}
pr closed time in 9 days
pull request commentspring-guides/top-spring-boot-docker
Fix Gradle snippet in Spring Boot Plugins
I think someone else already fixed this.
comment created time in 9 days
pull request commentspring-guides/top-spring-boot-docker
I like the working dir change. The "cache busting" seems less useful (META-INF is likely to change at least as frequently as libraries).
comment created time in 9 days
issue closedspring-guides/gs-spring-boot
ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project gs-spring-boot: Compilation failure: Compilation failure:
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[54,11] cannot find symbol
[ERROR] symbol: class JwtAccessTokenConverter
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[61,11] cannot find symbol
[ERROR] symbol: class TokenStore
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[67,11] cannot find symbol
[ERROR] symbol: class DefaultTokenServices
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[28,4] method does not override or implement a method from a supertype
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[30,19] cannot find symbol
[ERROR] symbol: method authenticationManager()
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[33,4] method does not override or implement a method from a supertype
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[36,36] cannot find symbol
[ERROR] symbol: class ShaPasswordEncoder
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[35,31] cannot find symbol
[ERROR] symbol: variable userDetailsService
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[39,4] method does not override or implement a method from a supertype
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[55,7] cannot find symbol
[ERROR] symbol: class JwtAccessTokenConverter
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[55,47] cannot find symbol
[ERROR] symbol: class JwtAccessTokenConverter
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[62,18] cannot find symbol
[ERROR] symbol: class JwtTokenStore
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[68,7] cannot find symbol
[ERROR] symbol: class DefaultTokenServices
[ERROR] location: class SecurityConfig
[ERROR] /workspace/gs-spring-boot/complete/src/main/java/config/SecurityConfig.java:[68,55] cannot find symbol
[ERROR] symbol: class DefaultTokenServices
[ERROR] location: class SecurityConfig
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
gitpod /workspace/gs-spring-boot/complete $
closed time in 9 days
kambleaa007issue closedspring-guides/gs-spring-boot
problems with spring boot project using gradle
I use intelliJ to create springboot project,the created project run with no problems when i choose build with maven. If i choose build with gradle, the created project can run , but the following problems occur:
- application.properties where i change the http port seems doesn't work (\spring\boot\src\main\resources\application.properties)
- properties file does work when i move it to the root (\spring\boot\application.properties)
- the build directory only has classes but no resources,and the application doesn't work with static resources.
I compare the maven project and the gradle project which both are generated originally by the intelliJ, the gradle project has a submodule where the problems may be, something relaed to the resource folder setting. I can't figure it out now。

closed time in 9 days
lonely917PR closed spring-guides/gs-spring-boot
pr closed time in 9 days
pull request commentspring-guides/gs-spring-boot
Updatet spring boot version to 2.3.3
Thanks for the patch. The sample apps are still using 2.3.2 though. Did you forget to update them?
comment created time in 9 days
push eventspring-guides/gs-spring-boot
commit sha c60b6415d13d32374123ca1724c90b14c315700a
Removed bullet point errors, the api does not expose such a endpoint
push time in 9 days
PR merged spring-guides/gs-spring-boot
Removed bullet point errors, the api does not expose such a endpoint
pr closed time in 9 days
push eventspring-projects-experimental/spring-init
commit sha 96358fbaeb6137c87bb6d7c49d309150e5ab6b74
Update to snaphots of graalvm feature
push time in 9 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 45c28c51c35ac748ea428b6397e5be49d2a8e18b
Remove listener no longer present in Spring Init
push time in 9 days
issue commentspring-guides/gs-messaging-redis
Add guide on configuring port and hostname
+1 for a doc link. And the same for rabbit and Kafka guides.
comment created time in 10 days
push eventspring-io/sagan
commit sha 82c35f272e0957a8bbf9558f6796642e7c404a9d
Update hub usage example pull-request is hub's command, not git's. Example was wrong. More examples of using `hub pull-request` from hub documentation: https://hub.github.com/hub-pull-request.1.html
commit sha d82c5da53641c703770038685b3e2ce3b6c83a00
Add separate hub pull-request example with hub aliased as git
push time in 10 days
pull request commentspring-io/sagan
Many (most) hub users alias it to "git". I guess we could mention that instead?
comment created time in 10 days
pull request commentspring-cloud/spring-cloud-commons
I think you have to call a method on the bean to be sure that it has initialized (otherwise it could be a lazy proxy).
comment created time in 10 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 3a2b965a739ab7bc172ae1cd2805e082fb511a7b
Generate some JSON
commit sha 96f395f22b5529ece09d07d04cba7c0e78fea007
Fix tools scripts
push time in 10 days
push eventspring-projects/spring-retry
commit sha 14d807e46705890701ef12327758df96f9314f84
Fix mvnw script for new version format
push time in 10 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha a4658c6245fc979e0b0c6e6a5a5f53152905a2ce
Ensure config client can deserialize properties
push time in 11 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 6ea66977060667ffa4f33b7df2fff9b2e35c9468
Fix cloud sample to register HTTP Url prefix
push time in 11 days
issue openedspring-projects-experimental/spring-graalvm-native
Nested component class not registering hints on @RestController
The webflux-netty sample has this code:
@SpringBootApplication(proxyBeanMethods = false)
public class WebfluxApplication {
public static void main(String[] args) {
SpringApplication.run(WebfluxApplication.class, args);
}
@RestController
class Foo {
@GetMapping("/")
public String greet() {
return "hi!";
}
}
}
It's unusual to have a non-static nested class that works as a @Component, and I think it is working, but by accident. If you delete the Foobar class from this sample it fails at runtime:
Caused by: org.springframework.core.annotation.AnnotationConfigurationException: Attribute 'value' in annotation [org.springframework.web.bind.annotation.RestController] is declared as an @AliasFor nonexistent attribute 'value' in annotation [org.springframework.stereotype.Controller].
because the reflection and resource configurations are not added for @Controller. So even though there is a @RestController (in the nested class), it is not causing the Webflux annotation hints to be applied.
created time in 11 days
issue commentspring-projects-experimental/spring-graalvm-native
Looks like the error is in org.apache.cxf (not org.springframework). Maybe you need to ask the CXF community to help out?
comment created time in 11 days
issue closedspring-projects-experimental/spring-graalvm-native
MalformedUrlException when using IP address instead of hostname
http://localhost:8888 works, 'http://172.17.0.1:8888 barfs. Probably a GraalVM issue?
closed time in 11 days
dsyerissue commentspring-projects-experimental/spring-graalvm-native
MalformedUrlException when using IP address instead of hostname
I couldn't reproduce this.
comment created time in 11 days
issue commentspring-projects-experimental/spring-graalvm-native
/features endpoint not behaving the same in native image
Also the /health endpoint is different. It fails to pick up the Spring Cloud health indicators (which are present as beans) for discovery client, I think for the same reason - there's an @ConditionalOnBean that is not matching where it should for discovery clients.
comment created time in 11 days
issue openedspring-projects-experimental/spring-graalvm-native
MalformedUrlException when using IP address instead of hostname
http://localhost:8888 works, 'http://172.17.0.1:8888 barfs. Probably a GraalVM issue?
created time in 11 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 4d5910c2fb7ec3c50d7d7244505752302530b665
Tidy README
commit sha e394d5dce5606356a0c6ff287ecfebb1d14d08b2
Migrate JSON to @Hints for Spring Cloud /features
push time in 11 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha ebbaed629a42ea0557ad8ac8eed956585d58a85f
Add cloud sample
push time in 11 days
push eventspring-guides/gs-crud-with-vaadin
commit sha bb6d4ada9dde4c7086bb0eae196a971b10fc6ffd
Upgrade to Vaadin 14.3.5
commit sha 5f19ffea0a51ad22dba908bee5406dbe9464320c
Upgrade to Vaadin 14.3.5
push time in 11 days
push eventspring-projects-experimental/spring-graalvm-native
commit sha 1276753ba2deb15474a649c3c6eba5dc69591f70
Add additional hint to support /configprops Fixes #271
push time in 12 days
issue closedspring-projects-experimental/spring-graalvm-native
/configprops actuator endpoint not working in native image
$ docker run -e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE='*' -p 8080:8080 actuator-webflux:0.0.1-SNAPSHOT
$ curl localhost:8080/actuator/configprops
{"timestamp":"2020-09-08T13:58:12.280+00:00","path":"/actuator/configprops","status":404,"error":"Not Found","message":null,"requestId":"b2c968ed-1"}
The /conditions report says that the bean was created:
"ConfigurationPropertiesReportEndpointAutoConfiguration#configurationPropertiesReportEndpoint": [
{
"condition": "OnBeanCondition",
"message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint; SearchStrategy: all) did not find any beans"
}
],
closed time in 12 days
dsyerissue commentspring-cloud/spring-cloud-commons
Property source decryption not working in Ilford
I noticed a new feature in Spring Boot 2.4 - there's a BootstrapRegistry (kind of like a little DI framework) in the EnvironmentPostProcessors. Maybe that can be used to set up the decrypted properties? Could maybe even use a "legacy" Bootstrap application context to back the suppliers registered with the BootstrapRegistry.
comment created time in 12 days
issue openedspring-projects/spring-boot
Make strategies in `EnvironmentPostProcessorApplicationListener` pluggable
There is a public constructor EnvironmentPostProcessorApplicationListener(EnvironmentPostProcessorsFactory) but currently no way to use it except with byte code tricks or monkey patches - the current implementation is to use SpringFactoriesLoader to instantiate using the default constructor and take it from there.
What we might need is an abstraction that can be created via SpringFactoriesLoader but which will back off if it finds one is already present. At a granular level this could be something simple like a composite version of EnvironmentPostProcessorApplicationListener that picks the first thing that is non-null (or some other tie breaker). Or it could be a new factory abstraction that is more generic and can be applied to other things in spring.factories, and behaves similarly - backs off if another instance is provided with higher priority by some definition.
EnvironmentPostProcessorApplicationListener also contains this new abstractions of BootstrapRegisty and Instantiator with no option to override. Maybe those could be the focus of the new abstraction (being able to replace or override some or all calls to the DefaultBootstrapRegistry, for example)?
See also #15704 and #16880
created time in 12 days
issue commentspring-projects/spring-boot
Reduce reflection and annotation usage in ConfigData infrastructure
Are we assuming that you can't use environment or system variables to override properties?
That's not going to be true in general, but I think for building native images and containers people are willing to accept that kind of compromise. We just have to be explicit that they will only get the souped up performance in a "strict closed world" (no changes to class path and environment at runtime).
comment created time in 12 days
issue openedspring-cloud/spring-cloud-config
/features endpoint relies on metadata from manifest that might not be available
I guess this will require a judgement call. The problem is that FeaturesEndpoint relies on this snippet:
private void addFeature(Features features, NamedFeature feature) {
Class<?> type = feature.getType();
features.getEnabled()
.add(new Feature(feature.getName(), type.getCanonicalName(),
type.getPackage().getImplementationVersion(),
type.getPackage().getImplementationVendor()));
}
and the package information from the manifest is not available in general (in particular not in a GraalVM native image). It would be ideal to provide a fallback. Or just omit it if not known?
created time in 12 days
issue openedspring-projects-experimental/spring-graalvm-native
/features endpoint not behaving the same in native image
Might need some changes in Spring Cloud? First we need some reflection hints for org.springframework.cloud.client.actuator.FeaturesEndpoint and all the nested classes that are used in the endpoint method (Features and Feature).
Here's the result from a native image when you do that:
$ curl localhost:8080/actuator/features
{"enabled":[{"type":"org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient","name":"DiscoveryClient","version":null,"vendor":null}],"disabled":["LoadBalancerClient"]}commons$
same app in a regular JVM:
$ curl localhost:8080/actuator/features
{"enabled":[{"type":"org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient","name":"DiscoveryClient","version":"3.0.0-SNAPSHOT","vendor":"Pivotal Software, Inc."},{"type":"org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClient","name":"ReactiveDiscoveryClient","version":"3.0.0-SNAPSHOT","vendor":"Pivotal Software, Inc."}],"disabled":["LoadBalancerClient","ReactiveLoadBalancer"]}
created time in 12 days
issue commentspring-projects-experimental/spring-graalvm-native
/configprops actuator endpoint not working in native image
I think ConfigurationPropertiesReportEndpoint needs to be added to the hints in ConfigurationPropertiesReportEndpointAutoConfigurationHints.
comment created time in 12 days
issue openedspring-projects-experimental/spring-graalvm-native
/configprops actuator endpoint not working in native image
$ docker run -e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE='*' -p 8080:8080 actuator-webflux:0.0.1-SNAPSHOT
$ curl localhost:8080/actuator/configprops
{"timestamp":"2020-09-08T13:58:12.280+00:00","path":"/actuator/configprops","status":404,"error":"Not Found","message":null,"requestId":"b2c968ed-1"}
The /conditions report says that the bean was created:
"ConfigurationPropertiesReportEndpointAutoConfiguration#configurationPropertiesReportEndpoint": [
{
"condition": "OnBeanCondition",
"message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint; SearchStrategy: all) did not find any beans"
}
],
created time in 12 days
issue commentspring-projects/spring-boot
Reduce reflection and annotation usage in ConfigData infrastructure
Also FWIW here's an interface in Spring Init for bypassing Binder in @ConfigurationProperties:
public interface PropertiesBinder<T> {
T bind(T bean, Environment environment);
}
Then there's a global utility PropertiesBinders that you can use to register instances of PropertiesBinder. Something like that would work here - a hook to replace the default Binder based Environment bindings.
comment created time in 12 days
issue commentspring-projects/spring-boot
Reduce reflection and annotation usage in ConfigData infrastructure
Here's another idea: Spring Boot can trace back all Binder results to a config property name and value, I believe. Maybe we could use that information to short cut the process - bind once and index the result and re-use it. I'd be happy to look into doing that at build time (fits with the general agenda and constraints of spring-init). We would need to be able to override the existing factories more easily probably - at runtime you would want to consult the record of what is known about at build time so you can avoid doing it again.
comment created time in 12 days
push eventspring-guides/gs-rest-service
commit sha 572ec4b90a43372176ec90bef4049d916e7019ab
Updated link to jackson, because its a dead link
push time in 12 days
issue openedspring-cloud/spring-cloud-config
There is no bean of type ContextRefresher in 3.0.0 snapshots, so the RefreshEndpoint is never created.
created time in 12 days
issue openedspring-cloud/spring-cloud-config
Health indicator not enabled by default
There's a legacy condition on ConfigClientAutoConfiguration.ConfigServerHealthIndicatorConfiguration which only applies if there is a bootstrap context. So the health indicator is disabled by default.
created time in 12 days
issue openedspring-projects/spring-boot
Reduce reflection and annotation usage in ConfigData infrastructure
I hope there are many places we can improve this. Let's start with a simple one.
ConfigDataProperties is a value object, and is constructed reflectively via Binder.bind() which is wasteful. As far as I can tell it is only ever used to look up the value of spring.config.import (the env var upper case version is never used because it would be bound already to the "initial" imports). And "import" doesn't have any kebab case variants, so you don't need a Binder. I think we can simply look in the Environment and if the property is there construct a ConfigDataProperties instance directly by calling the constructor or a factor method.
It also uses an annotation @Name to rename the property bound to its constructor, which also seems unnecessarily indirect (we control both the property name and the constructor source code). We probably can't get rid of the annotation processing if we need to use Binder.bind(), but if we can skip that then even better.
created time in 12 days