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

Build fails #16

Open
chytonpide opened this issue May 17, 2022 · 10 comments
Open

Build fails #16

chytonpide opened this issue May 17, 2022 · 10 comments

Comments

@chytonpide
Copy link

chytonpide commented May 17, 2022

Build fails when running test.
With skipping tests, The Build success, and the artifact works well.
This is a repeated stack trace.

16:19:15.953 [pool-17-thread-15] ERROR i.v.x.a.p.s.DefaultSupervisorOverride - DefaultSupervisorOverride: Failure of: Address[id=24, name=APP-inbound] because: Failed to bind on [0.0.0.0:37372] Action: Resuming.
java.lang.IllegalStateException: Failed to bind on [0.0.0.0:37372]
	at io.vlingo.xoom.wire.fdx.inbound.InboundStreamActor.start(InboundStreamActor.java:61)
	at io.vlingo.xoom.actors.LifeCycle.lambda$sendStart$fe05f96a$1(LifeCycle.java:111)
	at io.vlingo.xoom.actors.LocalMessage.internalDeliver(LocalMessage.java:121)
	at io.vlingo.xoom.actors.LocalMessage.deliver(LocalMessage.java:53)
	at io.vlingo.xoom.actors.plugin.mailbox.concurrentqueue.ConcurrentQueueMailbox.run(ConcurrentQueueMailbox.java:108)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: reactor.netty.ChannelBindException: Failed to bind on [0.0.0.0:37372]
	Suppressed: java.lang.Exception: #block terminated with an error
		at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
		at reactor.core.publisher.Mono.block(Mono.java:1704)
		at io.vlingo.xoom.wire.fdx.inbound.rsocket.RSocketChannelInboundReader.openFor(RSocketChannelInboundReader.java:90)
		at io.vlingo.xoom.wire.fdx.inbound.InboundStreamActor.start(InboundStreamActor.java:57)
		at io.vlingo.xoom.actors.LifeCycle.lambda$sendStart$fe05f96a$1(LifeCycle.java:111)
		at io.vlingo.xoom.actors.LocalMessage.internalDeliver(LocalMessage.java:121)
		at io.vlingo.xoom.actors.LocalMessage.deliver(LocalMessage.java:53)
		at io.vlingo.xoom.actors.plugin.mailbox.concurrentqueue.ConcurrentQueueMailbox.run(ConcurrentQueueMailbox.java:108)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:750)
@VaughnVernon
Copy link
Contributor

@chytonpide It appears that 0.0.0.0:37372 is already in use. Can you please indicate?

@chytonpide
Copy link
Author

@VaughnVernon The build is successful on other machines.
This is the port state, environment, and hardware profile that the build fails.
Is it related to the M1 chip?

❯ lsof -iTCP -sTCP:LISTEN -n -P
COMMAND    PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe  581 kangwhiwon   19u  IPv4 0xf477b38d724ed243      0t0  TCP *:7000 (LISTEN)
ControlCe  581 kangwhiwon   20u  IPv6 0xf477b388a59b073b      0t0  TCP *:7000 (LISTEN)
ControlCe  581 kangwhiwon   21u  IPv4 0xf477b38d724ec7b3      0t0  TCP *:5000 (LISTEN)
ControlCe  581 kangwhiwon   22u  IPv6 0xf477b388a59b0e1b      0t0  TCP *:5000 (LISTEN)
mysqld    1471 kangwhiwon   19u  IPv4 0xf477b38d724e1cd3      0t0  TCP 127.0.0.1:33060 (LISTEN)
mysqld    1471 kangwhiwon   22u  IPv4 0xf477b38d724e2763      0t0  TCP 127.0.0.1:3306 (LISTEN)
com.docke 2652 kangwhiwon   30u  IPv4 0xf477b38d724d3d23      0t0  TCP *:50242 (LISTEN)
vpnkit-br 2685 kangwhiwon    8u  IPv4 0xf477b38d724d3d23      0t0  TCP *:50242 (LISTEN)

❯ mvn -version
Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
Maven home: /Users/kangwhiwon/.sdkman/candidates/maven/current
Java version: 1.8.0_322, vendor: Amazon.com Inc., runtime: /Users/kangwhiwon/Library/Java/JavaVirtualMachines/corretto-1.8.0_322/Contents/Home/jre
Default locale: ko_KR, platform encoding: UTF-8
OS name: "mac os x", version: "12.3.1", arch: "x86_64", family: "mac"

❯ java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment Corretto-8.322.06.1 (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM Corretto-8.322.06.1 (build 25.322-b06, mixed mode)

❯ system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,2
      Chip: Apple M1 Max
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 7459.101.3
      OS Loader Version: 7459.101.3
      Serial Number (system): XXXX
      Hardware UUID: XXXX
      Provisioning UDID: XXXX
      Activation Lock Status: Enabled

@VaughnVernon
Copy link
Contributor

@chytonpide I was going to ask about M1 😃 but I thought it must be an open port. I don't want M1 to be my go-to for all weird problems.

This is a question for @jakzal, who bought the new MBP six months ago. He also did a lot of recent work on xoom-helloworld.

@jakzal
Copy link
Member

jakzal commented May 18, 2022

The ERROR is actually something that's also showing up in our CI. It doesn't make the tests fail though.

Turns out the state wasn't cleaned properly after each test and the world was being reused. Fixed in 92677c1

Hope this solves your problem @chytonpide too.

@chytonpide
Copy link
Author

@jakzal Thanks! The error is no longer visible. I found I picked the wrong cause.
The problem was that the build process is in an infinite loop.
so I can't get the artifact with the mvn clean package command.
Tests using givenGreetingWasCreated() its inside are suspicious in GreetingResourceTest.
Without these tests, The build was finished.
These are repeating messages when the build is in an infinite loop.

17:34:39.877 [pool-37-thread-1] DEBUG io.vlingo.xoom.lattice.grid.GridNode - GRID: Node reported healthy: Id[1] and is healthy: true
17:34:40.050 [pool-37-thread-2] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:40.050Z ...
17:34:40.051 [pool-37-thread-2] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:40.051Z. 0 removed.
17:34:41.055 [pool-37-thread-8] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:41.055Z ...
17:34:41.056 [pool-37-thread-8] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:41.056Z. 0 removed.
17:34:41.880 [pool-37-thread-12] DEBUG i.v.x.c.m.o.OperationalOutboundStreamActor - Broadcasting pulse
17:34:41.881 [pool-37-thread-8] DEBUG io.vlingo.xoom.lattice.grid.GridNode - GRID: Node reported healthy: Id[1] and is healthy: true
17:34:42.061 [pool-37-thread-15] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:42.061Z ...
17:34:42.061 [pool-37-thread-15] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:42.061Z. 0 removed.
17:34:43.066 [pool-37-thread-4] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:43.066Z ...
17:34:43.067 [pool-37-thread-4] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:43.067Z. 0 removed.
17:34:43.883 [pool-37-thread-6] DEBUG i.v.x.c.m.o.OperationalOutboundStreamActor - Broadcasting pulse
17:34:43.884 [pool-37-thread-6] DEBUG io.vlingo.xoom.lattice.grid.GridNode - GRID: Node reported healthy: Id[1] and is healthy: true
17:34:44.071 [pool-37-thread-8] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:44.071Z ...
17:34:44.071 [pool-37-thread-8] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:44.071Z. 0 removed.
17:34:45.076 [pool-37-thread-12] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Starting expired references cleanup at 2022-05-19T08:34:45.076Z ...
17:34:45.077 [pool-37-thread-12] DEBUG i.v.x.l.util.ExpiringHardRefHolder - Finished cleanup of expired references at 2022-05-19T08:34:45.077Z. 0 removed.

@jakzal
Copy link
Member

jakzal commented May 19, 2022

@chytonpide nothing unusual here. Is there anything before it goes into an infinite loop of these log entries?

@chytonpide
Copy link
Author

@jakzal This is the full log.

@jakzal
Copy link
Member

jakzal commented May 23, 2022

@chytonpide is it hanging like this every time? I can't see why, to be honest.

@chytonpide
Copy link
Author

chytonpide commented May 24, 2022

@jakzal Yes, The build hangs every time. The test that the build hangs on is different each time.
Sometimes, It hangs on the 9th test. Sometimes, It hangs on 3rd test.

It seems to be a problem with the execution or terminating timing of threads.
This is the build log that I added logging every start and end of test method execution.
Its pattern like that ----start-----GreetingResourceTest.itGetsExistingGreetings
and ----end-----GreetingResourceTest.itGetsExistingGreetings.
This is the thread dump using jstack.

I have tested the build with other machines.
MAC(Intel): The build is finished well.
Windows(Intel): The build is finished well.
I think there will be a chance to test with another MAC(M1) in June. I will test it and comment again.

@jakzal
Copy link
Member

jakzal commented May 24, 2022

Thanks for looking into this in such detail. I also have an M1 Mac and it works fine on mine :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants