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

Fix dependencies to support Docker for OSX. #677

Closed
wants to merge 2 commits into from

Conversation

andyp1per
Copy link

@andyp1per andyp1per commented Aug 23, 2016

Fix dependencies to support Docker for OSX.


This change is Reviewable

@rnorth
Copy link
Contributor

rnorth commented Aug 23, 2016

This seems to fail in the integration tests for me when using Docker for Mac. When running under Docker Machine on Mac it seems to be OK.

The failure looks to be as follows:

Tests run: 1153, Failures: 1, Errors: 0, Skipped: 1151, Time elapsed: 4.455 sec <<< FAILURE! - in TestSuite
beforeTest(com.github.dockerjava.netty.exec.AttachContainerCmdExecTest)  Time elapsed: 2.925 sec  <<< FAILURE!
java.lang.ExceptionInInitializerError
    at com.github.dockerjava.netty.exec.AttachContainerCmdExecTest.beforeTest(AttachContainerCmdExecTest.java:34)
Caused by: java.lang.IllegalStateException: Only supported on Linux
    at com.github.dockerjava.netty.exec.AttachContainerCmdExecTest.beforeTest(AttachContainerCmdExecTest.java:34)


Results :

Failed tests:
com.github.dockerjava.netty.exec.AttachContainerCmdExecTest.beforeTest(com.github.dockerjava.netty.exec.AttachContainerCmdExecTest)
  Run 1: AttachContainerCmdExecTest.beforeTest:34->AbstractDockerClientTest.beforeTest:57 » ExceptionInInitializer

(Interestingly Run 2-95 say PASS, but I'm not quite sure what's going on there)

This is occurring with Docker for Mac Version 1.12.0-rc3-beta18 (build: 9996).

@KostyaSha
Copy link
Member

Maybe somebody wants add osx build for travis?

<version>${unix-socket-factory.version}</version>
<groupId>com.kohlschutter.junixsocket</groupId>
<artifactId>junixsocket-common</artifactId>
<version>2.0.4</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when version used in 2 places, then it makes set to set it as property

@andyp1per
Copy link
Author

I too saw the failure in the integration tests on OSX. I assumed it was because the tests were linux only.
@KostyaSha will this fix the problem do you think?

@andyp1per
Copy link
Author

Do you know where the "java.lang.IllegalStateException: Only supported on Linux" is coming from? I couldn't see it in the source code.

@andyp1per
Copy link
Author

Ok I have fixed the version thing you requested and made the netty tests be skipped when you are not on linux and trying to use unix domain sockets.

@KostyaSha
Copy link
Member

Fixed by disabling?

@andyp1per
Copy link
Author

Yes, throw SkipException() - the netty support will error out otherwise.

@andyp1per
Copy link
Author

Is this no good?

@Mishail
Copy link
Contributor

Mishail commented Aug 31, 2016

I was testing the changes, and in general they work fine, i.e. I was able to connect to Docker for Mac via its unix socket. But I'm getting a lot of AFUNIXSocketException for different API calls (similar those from #325)

javax.ws.rs.ProcessingException: Error reading entity from input stream.
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@6fced71c; file=/Users/<blablba>/Library/Containers/com.docker.docker/Data/s60; connected=false; bound=false]
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor

http://pastebin.com/hSr52Kim

@andyp1per
Copy link
Author

Sounds like an abrupt close, which is what is happening in the other case. You probably get a more orderly shutdown with TCP. It may just be that the exceptions need to be squelched. Do you have full stacktraces?

@KostyaSha
Copy link
Member

@andyp1per even now part of tests fails on socket connection. See travis build. As high priority i made green for tcp 1.12 and 1.11. Socket need to be fixed also.

@andyp1per
Copy link
Author

Can you point me at the build you are looking at? I did look at travis earlier but it seems like the overall docker-java builds were not green either so assumed that it was something else.

@KostyaSha
Copy link
Member

@andyp1per travis doesn't set multiple context statuses, so it have 2 green builds and 4 bad - overall bad. Just click, open build log and failed will be in the end. (Travis doesn't parse/visualise test results).

@KostyaSha
Copy link
Member

Tests run: 323, Failures: 6, Errors: 0, Skipped: 0, Time elapsed: 574.218 sec <<< FAILURE! - in TestSuite
(com.github.dockerjava.core.command.EventsCmdImplTest)  Time elapsed: 21.59 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming1(EventsCmdImplTest.java:87)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@2dad6a1b; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming1(EventsCmdImplTest.java:87)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming1(EventsCmdImplTest.java:87)
(com.github.dockerjava.core.command.EventsCmdImplTest)  Time elapsed: 20.211 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming2(EventsCmdImplTest.java:105)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@2078b6ef; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming2(EventsCmdImplTest.java:105)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming2(EventsCmdImplTest.java:105)
(com.github.dockerjava.core.command.EventsCmdImplTest)  Time elapsed: 18.888 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreamingWithFilter(EventsCmdImplTest.java:121)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@3649c8b4; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreamingWithFilter(EventsCmdImplTest.java:121)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreamingWithFilter(EventsCmdImplTest.java:121)
(com.github.dockerjava.core.command.StatsCmdImplTest)  Time elapsed: 4.187 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.StatsCmdImplTest.testStatsStreaming(StatsCmdImplTest.java:73)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@5fda4457; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.StatsCmdImplTest.testStatsStreaming(StatsCmdImplTest.java:73)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.StatsCmdImplTest.testStatsStreaming(StatsCmdImplTest.java:73)
(com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest)  Time elapsed: 0.344 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyFileToContainer(CopyArchiveToContainerCmdImplTest.java:57)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@43938e8a; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyFileToContainer(CopyArchiveToContainerCmdImplTest.java:57)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyFileToContainer(CopyArchiveToContainerCmdImplTest.java:57)
(com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest)  Time elapsed: 0.603 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: Error closing message content input stream.
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyStreamToContainer(CopyArchiveToContainerCmdImplTest.java:66)
Caused by: java.io.IOException: Bad file descriptor at Socket[addr=0.0.0.0/0.0.0.0,port=0,localport=0][fd=java.io.FileDescriptor@1d56abab; file=/run/docker.sock; connected=false; bound=false]
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyStreamToContainer(CopyArchiveToContainerCmdImplTest.java:66)
Caused by: org.newsclub.net.unix.AFUNIXSocketException: Bad file descriptor
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.assertFileCopied(CopyArchiveToContainerCmdImplTest.java:83)
    at com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.copyStreamToContainer(CopyArchiveToContainerCmdImplTest.java:66)
Results :
Failed tests: 
com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest.(com.github.dockerjava.core.command.CopyArchiveToContainerCmdImplTest)
  Run 1: PASS
  Run 2: CopyArchiveToContainerCmdImplTest.copyFileToContainer:57->assertFileCopied:83 » Processing
  Run 3: PASS
  Run 4: CopyArchiveToContainerCmdImplTest.copyStreamToContainer:66->assertFileCopied:83 » Processing
  Run 5: PASS
com.github.dockerjava.core.command.EventsCmdImplTest.(com.github.dockerjava.core.command.EventsCmdImplTest)
  Run 1: PASS
  Run 2: EventsCmdImplTest.testEventStreaming1:87 » Processing Error closing message co...
  Run 3: EventsCmdImplTest.testEventStreaming2:105 » Processing Error closing message c...
  Run 4: EventsCmdImplTest.testEventStreamingWithFilter:121 » Processing Error closing ...
  StatsCmdImplTest.testStatsStreaming:73 » Processing Error closing message cont...
Tests run: 316, Failures: 3, Errors: 0, Skipped: 0

@KostyaSha
Copy link
Member

Note they may fail before or maybe new one fails.

@andyp1per
Copy link
Author

I don't see how the socket tests can be affected - this only affects unix domain sockets. The other errors look like an attempt to read from a closed stream. My guess is that the contract is slightly different between SocketImpl and AFUNIXSocketImpl

@andyp1per
Copy link
Author

I'm really not following you here - I went through all the failed jobs in the travis link (https://travis-ci.org/docker-java/docker-java/builds/154979844) above and they are all failing in the same way that the master branch is failing. Which travis build is failing the way you describe - please post a link?

@marcuslinke
Copy link
Contributor

dependencies updated within #697

@andyp1per
Copy link
Author

Thanks for doing this

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

Successfully merging this pull request may close these issues.

6 participants