2

Alpine 3.7 and 3.9. apk add htop works fine. apk add openjdk8-jre hangs forever. Problem step:

(25/36) Installing openjdk8-jre-lib (8.201.08-r0)
usr/ (dir)
usr/lib/ (dir)
usr/lib/jvm/ (dir)
usr/lib/jvm/java-1.8-openjdk/ (dir)
usr/lib/jvm/java-1.8-openjdk/jre/ (dir)
usr/lib/jvm/java-1.8-openjdk/jre/THIRD_PARTY_README
usr/lib/jvm/java-1.8-openjdk/jre/LICENSE
usr/lib/jvm/java-1.8-openjdk/jre/lib/ (dir)
usr/lib/jvm/java-1.8-openjdk/jre/lib/jsse.jar
usr/lib/jvm/java-1.8-openjdk/jre/lib/rt.jar

Here's the strace output:

writev(1, [{iov_base="\338\33[0K\0337 54% ###################"..., iov_len=198}, {iov_base=NULL, iov_len=0} 54% #####################################################################################################                                                                                    ) = 198
read(7, "\33\225\360$Vq\345\373\3117\300bi\373\206\345\v\254\225\226\344\217\324\251\332\267\224uY4\24\353"..., 8192) = 318
...[truncated a bunch more read(7, ... commands]
read(7, "\345\321\\L\270\266dD5&\3728\345lfj\7\t\341\345\235\317\336\370\334\20P\266\na\200\30"..., 4047) = 4044
read(7, "& e", 3)                       = 3
read(7, "\330\5,\tIj*\264W\356i\243\326\32\277\10\216\t\216\25\346\237\314?kd\276e\227\2233\333"..., 8192) = 531
read(7, "\r\241\306\205\3\325h\257&\242\312\341\24%\2331V.\223)\251\262=\v\314\20i\312\375\10r/"..., 7661) = 1348
read(7, "\235\2\333t\266\247\211\253Q*\207\205\v\34\351\231@#s\332\244\261\3321\247\264\253eBP\26z"..., 6313) = 5122
read(7, "T\314E\236\r\31g5d\234\325\20\377\25*\365\305\236\251'X\251'\330\2517\253\324\227x\246\236"..., 1191) = 1191
read(7, "T\256\376J\337%\vU\1\306\333\244l\4\376\225\323\21#\336'S\211nW@@\5/\31\1R"..., 8192) = 4941
read(7, "\6L\373\300\20\231>\2\263e*\312\267\342\344\210r\221\212r\221\356\205w\341=\274\277\1\362\345\265"..., 3251) = 1419
read(7, "\3514qz\362\346.2RPB\301[\3753\251\323B\272 uF\354\224\356*j'N{\2308"..., 1832) = 1460
read(7, "|\340\311C\255a\237+\17\301s()fHw\375\n\244\242<\221a\2p|\354\331\332\307\236\255"..., 372) = 372
read(7, "In(\231IC\263J\322\203i+\371\235@o\21\210\341\5\217;\222k7\79\233\263Q\265\34"..., 8192) = 1007
read(7,

It hangs on that last line as written and does nothing. How can I fix this?

  • I wasn't able to reproduce myself. How about apk add openjdk8? – valiano Mar 20 at 9:29
  • @valiano, it gets further along, but still hangs eventually (see edited question) – jeremysprofile Mar 20 at 17:06
2

It's difficult to tell what is going wrong exactly, without being able to reproduce, but you may be able to get a good idea using strace. It will generate a lot of output, but once it hangs, you should be able to tell from the last few lines what is keeping apk from proceeding - waiting on a file, lock, etc.

For running strace, add --cap-add=SYS_PTRACE to your docker run command and install strace with apk add strace. Then, run strace apk add openjdk8-jre-lib.

Alternatively, if the issue is only with the OpenJDK package and you're willing use a different base image, openjdk:8-jdk-alpine3.9 (or similar) may fit your needs. This image is basically Alpine 3.9 + the openjdk8 package. In both variations, image size is 101-105MB. Note you get slightly different OpenJDK builds - 1.8.0_201 from Alpine 3.9 + openjdk8, and 1.8.0_191 from openjdk:8-jdk-alpine3.9.

  • Unfortunately, the docker base image is not my decision, and because it can build via gitlab it's not going to be changed. I added the strace output (well, some of it). I have no idea how to read it because it looks like total garbage. If you have any more advice I'd really appreciate it. – jeremysprofile Mar 25 at 17:57
  • @jeremysprofile Got it. According to strace the read from file handle 7 is stuck. Using the following command, you could check what file is mapped to this handle: ls -la /proc/$$/fd. In one docker, run the strace apk add openjdk8-jre-lib until it gets stuck; then, in a second console, connect to the same image using sudo docker exec -i -t [image-id], and run the ls command. – valiano Mar 26 at 6:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.