EAP-Software: Why not available for Linux / as Docker image

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.

EAP-Software: Why not available for Linux / as Docker image

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.
68 Reply
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-20 21:30:54

toms01 wrote


-> Starting EAP Controller ........./usr/bin/tpeap: Zeile 79: 2076 Killed nohup $JAVA_TOOL -server -Xms128m -Xmx1024m -XX:MaxHeapFreeRatio=60 -XX:MinHeapFreeRatio=30 -XX:+UseSerialGC -XX:+HeapDumpOnOutOfMemoryError -Deap.home="${eapHome}" -cp ${eapHome}"/lib/com.tp-link.eap.start-0.0.1-SNAPSHOT.jar:"${eapHome}"/lib/*:"${eapHome}"/external-lib/*" com.tp_link.eap.start.EapMain start > ${eapHome}/logs/startup.log 2>&1


This is a bug in latest systemd occuring if tpeap is run from within a terminal session (but not at system startup!). For a solution see: http://forum.tp-link.com/showthread.php?97236-EAP-Software-Why-not-available-for-Linux-as-Docker-image&p=212801&viewfull=1#post212801
༺ 0100 1101 0010 10ཏ1 0010 0110 1010 1110 ༻
  0  
  0  
#42
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-20 22:10:41
Your script should work from shell? Nope:

Starting EAP Controller ........../usr/bin/tpeap: Zeile 41: 4009 Killed $JAVA_TOOL -server $JAVA_OPTS $JAVA_PATH -Deap.home="$EAPC_HOME" com.tp_link.eap.start.EapMain start > $EAPC_LOG/startup.log 2>&1

Same like before ...

btw.:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
uname -i: x86_64

Edit: Neither it does at system startup with both scripts....
  0  
  0  
#43
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-20 23:38:38

toms01 wrote


Your script should work from shell? Nope:


Dann nimm halt das Original-Skript von TP-Link. Bei mir funktioniert es auf allen Servern, die sämtlich unter Debian 8 laufen, selbst mit der Version des systemd unter Debian 8.
༺ 0100 1101 0010 10ཏ1 0010 0110 1010 1110 ༻
  0  
  0  
#44
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-20 23:46:08
Wie gesagt: Auch damit funktioniert es nicht. Die Windows-Version funktioniert auf einem gleichen Intel-NUC unter Windows Server 2016.
Fand ich persönlich nur ein wenig "überdimensioniert" ;)
  0  
  0  
#45
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 00:02:42
Könnte daran liegen, dass Java eine shared lib verwendet, die bei Dir nicht installiert ist. Kannst ja mal mit strace nachschauen, was das SIGKILL verursacht:

[CODE]
strace /opt/tplink/EAPController/jre/bin/java -server -Xms128m -Xmx1024m -XX:MaxHeapFreeRatio=60 \
-XX:MinHeapFreeRatio=30 -XX:+UseSerialGC -XX:+HeapDumpOnOutOfMemoryError \
-cp "/opt/tplink/EAPController/lib/com.tp-link.eap.start-0.0.1-SNAPSHOT.jar:/opt/tplink/EAPController/lib/*:/opt/tplink/EAPController/external-lib/*" \
-Deap.home="/opt/tplink/EAPController" com.tp_link.eap.start.EapMain start
[/CODE]
༺ 0100 1101 0010 10ཏ1 0010 0110 1010 1110 ༻
  0  
  0  
#46
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 00:23:37
execve("/opt/tplink/EAPController/jre/bin/java", ["/opt/tplink/EAPController/jre/bi"..., "-server", "-Xms128m", "-Xmx1024m", "-XX:MaxHeapFreeRatio=60", "-XX:MinHeapFreeRatio=30", "-XX:+UseSerialGC", "-XX:+HeapDumpOnOutOfMemoryError", "-cp", "/opt/tplink/EAPController/lib/co"..., "-Deap.home=/opt/tplink/EAPContro"..., "com.tp_link.eap.start.EapMain", "start"], [/* 21 vars */]) = 0
brk(NULL) = 0x634000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56aae000
readlink("/proc/self/exe", "/opt/tplink/EAPController/jre/bi"..., 4096) = 38
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/tls/x86_64", 0x7ffce31333f0) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/tls", 0x7ffce31333f0) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/x86_64", 0x7ffce31333f0) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31548, ...}) = 0
mmap(NULL, 31548, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1e56aa6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260`\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=138696, ...}) = 0
mmap(NULL, 2212904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e5666e000
mprotect(0x7f1e56686000, 2093056, PROT_NONE) = 0
mmap(0x7f1e56885000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f1e56885000
mmap(0x7f1e56887000, 13352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1e56887000
close(3) = 0
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/libjli.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0#\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=98530, ...}) = 0
mmap(NULL, 2181448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e56459000
mprotect(0x7f1e5646e000, 2093056, PROT_NONE) = 0
mmap(0x7f1e5666d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f1e5666d000
close(3) = 0
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14608, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56aa5000
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e56255000
mprotect(0x7f1e56258000, 2093056, PROT_NONE) = 0
mmap(0x7f1e56457000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1e56457000
close(3) = 0
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e55e8b000
mprotect(0x7f1e5604b000, 2097152, PROT_NONE) = 0
mmap(0x7f1e5624b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f1e5624b000
mmap(0x7f1e56251000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1e56251000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56aa4000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56aa3000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1e56aa2000
arch_prctl(ARCH_SET_FS, 0x7f1e56aa3700) = 0
mprotect(0x7f1e5624b000, 16384, PROT_READ) = 0
mprotect(0x7f1e56457000, 4096, PROT_READ) = 0
mprotect(0x7f1e56885000, 4096, PROT_READ) = 0
mprotect(0x7f1e56ab0000, 4096, PROT_READ) = 0
munmap(0x7f1e56aa6000, 31548) = 0
set_tid_address(0x7f1e56aa39d0) = 5144
set_robust_list(0x7f1e56aa39e0, 24) = 0
rt_sigaction(SIGRTMIN, {0x7f1e56673b50, [], SA_RESTORER|SA_SIGINFO, 0x7f1e5667f390}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f1e56673be0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f1e5667f390}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL) = 0x634000
brk(0x655000) = 0x655000
readlink("/proc/self/exe", "/opt/tplink/EAPController/jre/bi"..., 4096) = 38
access("/opt/tplink/EAPController/jre/lib/amd64/libjava.so", F_OK) = 0
open("/opt/tplink/EAPController/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=677, ...}) = 0
read(3, "# Copyright (c) 2003, Oracle and"..., 4096) = 677
read(3, "", 4096) = 0
close(3) = 0
stat("/opt/tplink/EAPController/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0644, st_size=15236782, ...}) = 0
futex(0x7f1e564580a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/opt/tplink/EAPController/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\254\36\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=15236782, ...}) = 0
mmap(NULL, 15177928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e55011000
mprotect(0x7f1e55b87000, 2093056, PROT_NONE) = 0
mmap(0x7f1e55d86000, 802816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb75000) = 0x7f1e55d86000
mmap(0x7f1e55e4a000, 264392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1e55e4a000
close(3) = 0
open("/opt/tplink/EAPController/jre/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31548, ...}) = 0
mmap(NULL, 31548, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1e56aa6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0V\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1088952, ...}) = 0
mmap(NULL, 3178744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1e54d08000
mprotect(0x7f1e54e10000, 2093056, PROT_NONE) = 0
mmap(0x7f1e5500f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x107000) = 0x7f1e5500f000
close(3) = 0
mprotect(0x7f1e5500f000, 4096, PROT_READ) = 0
munmap(0x7f1e56aa6000, 31548) = 0
access("/opt/tplink/EAPController/lib/*", F_OK) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/lib/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents(3, /* 9 entries */, 32768) = 504
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
access("/opt/tplink/EAPController/external-lib/*", F_OK) = -1 ENOENT (No such file or directory)
open("/opt/tplink/EAPController/external-lib/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents(3, /* 63 entries */, 32768) = 3104
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f1e569a1000
mprotect(0x7f1e569a1000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f1e56aa0ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f1e56aa19d0, tls=0x7f1e56aa1700, child_tidptr=0x7f1e56aa19d0) = 5145
futex(0x7f1e56aa19d0, FUTEX_WAIT, 5145, NULLlog4j:WARN No appenders could be found for logger (com.tp_link.eap.util.system.SystemUtil).
log4j:WARN Please initialize the log4j system properly.
========EAP_LINUX_MONGOD_KEY======
mongodPath = "/opt/tplink/EAPController/bin/mongod" --port 27017 --dbpath "/opt/tplink/EAPController/data/db" -pidfilepath "/opt/tplink/EAPController/data/mongo.pid" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log" --nohttpinterface --bind_ip 127.0.0.1
repairCommand = "/opt/tplink/EAPController/bin/mongod" --repair --dbpath "/opt/tplink/EAPController/data/db" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log"
"/opt/tplink/EAPController/bin/mongod" --port 27017 --dbpath "/opt/tplink/EAPController/data/db" -pidfilepath "/opt/tplink/EAPController/data/mongo.pid" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log" --nohttpinterface --bind_ip 127.0.0.1

+++ killed by SIGKILL +++
Getötet

Da wird jede Menge nicht gefunden, hast Du mal einen Vergleich?
  0  
  0  
#47
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 01:13:42
Die ENOENT sind nicht das Problem, da sucht der Loader nur den Path ab.

Das hier ist das Problem, höchstwahrscheinlich verursacht durch systemd, der gerne stillschweigend mit allen UNIX-Konventionen der letzten 45 Jahre bricht:

toms01 wrote


mongodPath = "/opt/tplink/EAPController/bin/mongod" --port 27017 --dbpath "/opt/tplink/EAPController/data/db" -pidfilepath "/opt/tplink/EAPController/data/mongo.pid" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log" --nohttpinterface --bind_ip 127.0.0.1
repairCommand = "/opt/tplink/EAPController/bin/mongod" --repair --dbpath "/opt/tplink/EAPController/data/db" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log"
"/opt/tplink/EAPController/bin/mongod" --port 27017 --dbpath "/opt/tplink/EAPController/data/db" -pidfilepath "/opt/tplink/EAPController/data/mongo.pid" --logappend --logpath "/opt/tplink/EAPController/logs/mongod.log" --nohttpinterface --bind_ip 127.0.0.1

+++ killed by SIGKILL +++



Versuche mal, im service-block von systemd die Einstellung

[CODE]
KillMode=process
[/CODE]

zu setzen. Per default killt systemd alle Prozesse der control group bei Terminierung des Vordergund-Prozesses, mit der Einstellung oben bleiben seine Kindprozesse am Laufen (Daemon-Prozesse - hier: mongod - starten üblicherweise Kindprozesse, um sich vom controlling terminal abzukoppeln).

Oder probiere mal, im Shell-Script für den Start des EAPC den ausführenden Prozess aus der control group service in die group others zu verlagern:

[CODE]
echo $$ > /sys/fs/cgroup/systemd/tasks
[/CODE]

Katastrophe, der Entwickler von systemd. Sollte zu Microsoft gehen, damit wäre allen geholfen. ;)
༺ 0100 1101 0010 10ཏ1 0010 0110 1010 1110 ༻
  0  
  0  
#48
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 01:29:55
Ich bin normalerweise Gentoo-rianer, daher ist systemd für mich eher nicht interessant, aber auf der Kiste zu kompilieren dauert einfach zu lange.
Wenn mich nicht alles täuscht, wurde der KillMode bereits so gesetzt, oder?!

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/tpeap
Description=SYSV: myservice ....
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
Before=shutdown.target
Before=ondemand.service
Before=postfix.service
Before=grub-common.service
After=apache2.service
After=apport.service
Conflicts=shutdown.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/tpeap start
ExecStop=/etc/init.d/tpeap stop
  0  
  0  
#49
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 01:48:07
Ja, aber nur für das Start-/Stop-Skript, das beim Boot direkt ausgeführt wird. Bringt der zweite Tipp (das echo $$ >/sys/fs/cgroup/systemd/tasks direkt im Skript) was? Falls nicht, weiss ich auch nicht, weshalb der mongoDB daemon beim detach gekillt wird. Wie gesagt, bei mir läuft er ja anstandslos. Und bis auf das SIGKILL ist die Ausgabe von strace auch identisch mit der auf Deinem System.
༺ 0100 1101 0010 10ཏ1 0010 0110 1010 1110 ༻
  0  
  0  
#50
Options
Re:EAP-Software: Why not available for Linux / as Docker image
2017-08-21 02:16:44
Vielen Dank für Deine Mithilfe! Nein, bringt leider auch nichts. Vielleicht testet TP-Link ja selbst mal unter der Ubuntu 16.04.3 LTS.

Glaube ich zwar nicht, denn mittlerweile ist TP-Link ja nicht unbekannt fürs Nichtstun.
Siehe VLAN-ID1 dauernd untagged bei den Easy-Smart-Switches SG10xE, den nicht behobenen 2. Configspeicher-Bug auf selbigen, Multicastprobleme usw...
Bis die mal etwas beheben ist so mancher vielleicht schon zur Konkurrenz gewechselt ;)
  0  
  0  
#51
Options
Related Articles