{"id":4286,"date":"2014-08-12T13:49:34","date_gmt":"2014-08-12T18:49:34","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=4286"},"modified":"2014-08-12T14:28:24","modified_gmt":"2014-08-12T19:28:24","slug":"wrong-permissions-on-tmp-cause-havoc-with-java","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2014\/08\/12\/wrong-permissions-on-tmp-cause-havoc-with-java\/","title":{"rendered":"Wrong permissions on \/tmp cause havoc with java"},"content":{"rendered":"<p>We had a server that had been behaving oddly since at least April.  I finally discovered why.<\/p>\n<p>jps returns nothing, which is the first symptom.  When we strace, we see it can\u2019t write to \/tmp (our setting for java.io.tmpdir), so we look at permissions\u2026<\/p>\n<pre>\r\n-bash-4.1$ strace -f jps 2>&1 | grep ACC\r\n[pid 16055] lstat(\"\/var\/lib\/samba\/winbindd_privileged\/pipe\", 0x7f3e9da9e170) = -1 EACCES (Permission denied)\r\n[pid 16055] mkdir(\"\/tmp\/hsperfdata_sa-jboss\", 0755) = -1 EACCES (Permission denied)\r\n-sh-4.1$ uname -n\r\nlck01.ecomm.local\r\n-sh-4.1$ ls -lart \/tmp | awk '$NF == \".\"'\r\ndrwxr-xr-x.  9 root     root           4096 Aug 12 14:32 .\r\n<\/pre>\n<p>\u2026the permissions on lck02 have the sticky bit set as well as world writable permissions\u2026<\/p>\n<pre>\r\n-sh-4.1$ uname -n\r\nlck02.ecomm.local\r\n-sh-4.1$ ls -lart \/tmp | awk '$NF == \".\"'\r\ndrwxrwxrwt.  8 root        root            4096 Aug 12 14:33 .\r\n<\/pre>\n<p>\u2026so we mimic these on lck01\u2026<\/p>\n<pre>\r\nroot@lck01 Tue Aug 12 14:33:30 EDT 2014\r\n[~] # chmod 777 \/tmp\r\n\r\nroot@lck01 Tue Aug 12 14:33:30 EDT 2014\r\n[~] # chmod o+t \/tmp\r\n\r\n-bash-4.1$ jps\r\n16129 Jps\r\n<\/pre>\n<p>We had stuck threads and everything else.  The entire thing now works, no stuck threads, etc.<\/p>\n<pre>\r\n-bash-4.1$ jps\r\n16370 Main\r\n16805 Jps\r\n-bash-4.1$ jstack 16370 | grep State: | sort | uniq -c\r\n     35    java.lang.Thread.State: RUNNABLE\r\n     14    java.lang.Thread.State: TIMED_WAITING (on object monitor)\r\n      5    java.lang.Thread.State: TIMED_WAITING (parking)\r\n      8    java.lang.Thread.State: TIMED_WAITING (sleeping)\r\n     46    java.lang.Thread.State: WAITING (on object monitor)\r\n     83    java.lang.Thread.State: WAITING (parking)\r\n-bash-4.1$\r\n<\/pre>\n<p>The moral of the story is, check the permissions on \/tmp if you have unexplained behavior from a java application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We had a server that had been behaving oddly since at least April. I finally discovered why. jps returns nothing, which is the first symptom. When we strace, we see it can\u2019t write to \/tmp (our setting for java.io.tmpdir), so&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2014\/08\/12\/wrong-permissions-on-tmp-cause-havoc-with-java\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[25,28],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4286"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=4286"}],"version-history":[{"count":4,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4286\/revisions"}],"predecessor-version":[{"id":4291,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/4286\/revisions\/4291"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=4286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=4286"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=4286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}