Skip to content

Instantly share code, notes, and snippets.

View ivanenok's full-sized avatar

Maxim S. Ivanov ivanenok

  • Novosibirsk, Russia
View GitHub Profile
@ivanenok
ivanenok / gist:ceab93061dbabf856370
Last active August 29, 2015 14:14 — forked from sgergely/gist:3793166
mc commands on mac
----- Esc -----
Quick change directory: Esc + c
Quick change directory history: Esc + c and then Esc + h
Quick change directory previous entry: Esc + c and then Esc + p
Command line history: Esc + h
Command line previous command: Esc + p
View change: Esc + t (each time you do this shortcut a new directory view will appear)
Print current working directory in command line: Esc + a
Switch between background command line and MC: Ctrl + o
Search/Go to directory in active panel: Esc + s / Ctrl + s then start typing directory name
@ivanenok
ivanenok / gist:5d046c7aec658556db4a
Last active August 29, 2015 14:23
at the last night i had strange problem on one of production servers. all of tomcat executors threads were stopped on creation task instance for long time (minutes!). there are example of stacktrace. also i found problem like my there https://youtrack.jetbrains.com/issue/TW-38477
Java HotSpot(TM) 64-Bit Server VM (25.31-b07 mixed mode):
"thread-request-handler-2046-main" #2046 daemon prio=5 os_prio=0 tid=0x00007f09501af800 nid=0x2eb5 runnable [0x00007f094e8e8000]
java.lang.Thread.State: RUNNABLE
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2663)
at java.lang.Class.getConstructor0(Class.java:3067)
at java.lang.Class.newInstance(Class.java:408)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:403)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:394)
Looks like problem with leak on file descriptors in EPollSelectorImpl constructor.
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/sun/nio/ch/EPollSelectorImpl.java
We can catch problem if a pipe was created but EPollArrayWrapper initialization failed.
This problems may happenes if descriptors count near limit.
EPollSelectorImpl(SelectorProvider sp) throws IOException {
super(sp);
История следующая.
При установке jdk из пакета, запиливается линка на jexec, использующаяся потом в альтернативных пасах, она же юзается для старта аппликух без явных путей к jvm.
Эта корнструкция не работает, как минимум в Ubuntu, потому как при старте аппликухи некорректно выковыриваентся путь к файлу исполняемому и как следствие к java, ибо он протаскивается через линки, а не реальный путь.
Вот с этим фиксом, все работает корректно, т.е. не надо юзать ./jexec дабы вытащить путь абослютный, а сначала пытается разрезолвить по линке, и это получается.
Самая замороченная для меня штука, чего делать с "int readed" если он -1, можно конечно пулять ошибку, но это в данном случае не совсем корректно, как мне кажется.
Вопчем реквестирую твоего мнения.