Hot questions for Using Ubuntu in server

Question:

UPDATES on Oct 25:

Now I found out what's causing the problem.

1) The child process kills itself, that's why strace/perf/auditctl cannot track it down.

2) The JNI call to create a process is triggered from a Java thread. When the thread eventually dies, it's also destroying the process that it creates.

3) In my code to fork and execve() a child process, I have the code to monitor parent process death and kill my child process with the following line: prctl( PR_SET_PDEATHSIG, SIGKILL ); My fault that I didn't pay special attention to this flag before b/c it's considered as a BEST PRACTICE for my other projects where child process is forked from the main thread.

4) If I comment out this line, the problem is gone. The original purpose is to kill the child process when the parent process is gone. Even w/o this flag, it's still the correct behavior. Seems like the ubuntu box default behavior.

5) Finally found it's a kernel bug, fixed in kernel version 3.4.0, my ubuntu box from AWS is kernel version 3.13.0-29-generic.

There are a couple of useful links to the issues:

a) http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them

b) prctl(PR_SET_PDEATHSIG, SIGNAL) is called on parent thread exit, not parent process exit.

c) https://bugzilla.kernel.org/show_bug.cgi?id=43300

UPDATES on Oct 15:

Thanks so much for all the suggestions. I am investigating from one area of the system to another area. It's hard 2 find a reason.

I am wondering 2 things. 1) why are powerful tools such as strace, auditctl and perf script not able to track down who caused the kill?

2) Is +++ killed by SIGKILL +++ really means its killed from signal?

ORIGINAL POST

I have a long running C process launched from a Java application server in Ubuntu 12 through the JNI interface. The reason I use JNI interface to start a process instead of through Java's process builder is b/c of the performance reasons. It's very inefficient for java process builder to do IPC especially b/c extra buffering introduces very long delay.

Periodically it is terminated by SIGKILL mysteriously. The way I found out is through strace, which says: "+++ killed by SIGKILL +++"

I checked the following:

  1. It's not a crash.
  2. It's not a OOM. Nothing in dmesg. My process uses only 3.3% of 1Gbytes of memory.
  3. Java layer didn't kill the process. I put a log in the JNI code if the code terminates the process, but no log was written to indicate that.
  4. It's not a permission issue. I tried to run as sudo or a different user, both cases causes the process to be killed.
  5. If I run the process locally in a shell, everything works fine. What's more, in my C code for my long-running process, I ignore the signal SIGHUP. Only when it's running as a child process of Java server, it gets killed.
  6. The process is very CPU intensive. It's using 30% of the CPU. There are lots of voluntary context switch and nonvoluntary_ctxt_switches.
  7. (NEW UPDATE) One IMPORTANT thing very likely related to why my process is killed. If the process do some heavy lifting, it won't be killed, however, sometimes it's doing little CPU intensive work. When that happens, after a while, roughly 1 min, it is killed. It's status is always S(Sleeping) instead of R(Running). It seems that the OS decides to kill the process if it was idle most of the time, and not kill the process if it was busy.
  8. I suspect Java's GC is the culprit, however, Java will NEVER garbage collect a singleton object associated with JNI. (My JNI object is tied to that singleton).

I am puzzled by the reason why it's terminated. Does anyone has a good suggestion how to track it down?

p.s.

  1. On my ubuntu limit -a result is:

    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 7862
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65535
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 7862
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    

    I tried to increase the limits, and still does not solve the issue.

    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65535
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) unlimited
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) unlimited
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    
  2. Here is proc status when I run cat /proc/$$$/status

    Name:   mimi_coso
    State:  S (Sleeping)
    Tgid:   2557
    Ngid:   0
    Pid:    2557
    PPid:   2229
    TracerPid:  0
    Uid:    0   0   0   0
    Gid:    0   0   0   0
    FDSize: 256
    Groups: 0
    VmPeak:   146840 kB
    VmSize:   144252 kB
    VmLck:         0 kB
    VmPin:         0 kB
    VmHWM:     36344 kB
    VmRSS:     34792 kB
    VmData:    45728 kB
    VmStk:       136 kB
    VmExe:       116 kB
    VmLib:     23832 kB
    VmPTE:       292 kB
    VmSwap:        0 kB
    Threads:    1
    SigQ:   0/7862
    SigPnd: 0000000000000000
    ShdPnd: 0000000000000000
    SigBlk: 0000000000000004
    SigIgn: 0000000000011001
    SigCgt: 00000001c00064ee
    CapInh: 0000000000000000
    CapPrm: 0000001fffffffff
    CapEff: 0000001fffffffff
    CapBnd: 0000001fffffffff
    Seccomp:    0
    Cpus_allowed:   7fff
    Cpus_allowed_list:  0-14
    Mems_allowed:   00000000,00000001
    Mems_allowed_list:  0
    voluntary_ctxt_switches:    16978
    nonvoluntary_ctxt_switches: 52120
    
  3. strace shows:

    $ strace -p 22254 -s 80 -o /tmp/debug.lighttpd.txt
    read(0, "SGI\0\1\0\0\0\1\0c\0\0\0\t\0\0T\1\2248\0\0\0\0'\1\0\0(\0\0"..., 512) = 113
    read(0, "SGI\0\1\0\0\0\1\0\262\1\0\0\10\0\1\243\1\224L\0\0\0\0/\377\373\222D\231\214"..., 512) = 448
    sendto(3, "<15>Oct 10 18:34:01 MixCoder[271"..., 107, MSG_NOSIGNAL, NULL, 0) = 107
    write(1, "SGO\0\0\0\0 \272\1\0\0\t\0\1\253\1\243\273\0\0\0\0'\1\0\0\0\0\0\1\242"..., 454) = 454
    sendto(3, "<15>Oct 10 18:34:01 MixCoder[271"..., 107, MSG_NOSIGNAL, NULL, 0) = 107
    write(1, "SGO\0\0\0\0 \341\0\0\0\10\0\0\322\1\254Z\0\0\0\0/\377\373R\4\0\17\21!"..., 237) = 237
    read(0, "SGI\0\1\0\0\0\1\0)\3\0\0\t\0\3\32\1\224`\0\0\0\0'\1\0\0\310\0\0"..., 512) = 512
    read(0, "\344u\233\16\257\341\315\254\272\300\351\302\324\263\212\351\225\365\1\241\225\3+\276J\273\37R\234R\362z"..., 512) = 311
    read(0, "SGI\0\1\0\0\0\1\0\262\1\0\0\10\0\1\243\1\224f\0\0\0\0/\377\373\222d[\210"..., 512) = 448
    sendto(3, "<15>Oct 10 18:34:01 MixCoder[271"..., 107, MSG_NOSIGNAL, NULL, 0) = 107
    write(1, "SGO\0\0\0\0 %!\0\0\t\0\0+\1\243\335\0\0\0\0\27\0\0\0\0\1B\300\36"..., 8497) = 8497
    sendto(3, "<15>Oct 10 18:34:01 MixCoder[271"..., 107, MSG_NOSIGNAL, NULL, 0) = 107
    write(1, "SGO\0\0\0\0 \341\0\0\0\10\0\0\322\1\254t\0\0\0\0/\377\373R\4\0\17\301\31"..., 237) = 237
    read(0, "SGI\0\1\0\0\0\1\0\262\1\0\0\10\0\1\243\1\224\200\0\0\0\0/\377\373\222d/\200"..., 512) = 448
    sendto(3, "<15>Oct 10 18:34:01 MixCoder[271"..., 107, MSG_NOSIGNAL, NULL, 0) = 107
    write(1, "SGO\0\0\0\0 \341\0\0\0\10\0\0\322\1\254\216\0\0\0\0/\377\373R\4\0\17\361+"..., 237) = 237
    read(0, "SGI\0\1\0\0\0\1\0\221\0\0\0\t\0\0\202\1\224\210\0\0\0\0'\1\0\0P\0\0"..., 512) = 159
    read(0,  unfinished ...)
    
    +++ killed by SIGKILL +++
    

Answer:

Assuming that you have root access on your machine, you can enable audit on kill(2) syscall to gather such information.

root # auditctl -a exit,always -F arch=b64 -S kill -F a1=9
root # auditctl -l
LIST_RULES: exit,always arch=3221225534 (0xc000003e) a1=9 (0x9) syscall=kill

root # sleep 99999 &
[2] 11688
root # kill -9 11688

root # ausearch -sc kill
time->Tue Oct 14 00:38:44 2014
type=OBJ_PID msg=audit(1413272324.413:441376): opid=11688 oauid=52872 ouid=0 oses=20 ocomm="sleep"
type=SYSCALL msg=audit(1413272324.413:441376): arch=c000003e syscall=62 success=yes exit=0 a0=2da8 a1=9 a2=0 a3=0 items=0 ppid=6107 pid=6108 auid=52872 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsg
id=0 tty=pts2 ses=20 comm="bash" exe="/bin/bash" key=(null)

The other way is to set up kernel tracing which may be an over-kill when audit system can do same work.

Question:

I built a libGDX application that runs well on my PC desktop but when I try to run it on my Ubuntu server, it raises the following error:

"LwjglApplication: Couldn't initialize audio, disabling audio java.lang.UnsatisfiedLinkError: /tmp/libgdxroot/31ce78a2/liblwjgl64.so: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/../lib/amd64/libjawt.so: symbol awt_Unlock, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference".

I know this is because my server is running in non-GUI mode. But how can I run my libGDX app in this environment?. I've heard about "libGDX headless backend". But I don't know how to use it. Thanks in advance.


Answer:

I've answer my self this question for anyone who's looking for this. First, added these two libraries in the build.gradle file:

compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
compile "org.mockito:mockito-all:1.9.5"

Then, I've started my libGDX as following:

HeadlessNativesLoader.load();
MockGraphics mockGraphics = new MockGraphics();
Gdx.graphics = mockGraphics;
HeadlessNet headlessNet = new HeadlessNet();
Gdx.net = headlessNet;
HeadlessFiles headlessFiles = new HeadlessFiles();
Gdx.files = headlessFiles;
Gdx.gl = mock(GL20.class);
HeadlessApplicationConfiguration config = new HeadlessApplicationConfiguration();
ApplicationListener myGdxGame = EntryPoint.getHeadlessMyGdxGame(config);

and EntryPoint.getHeadlessMyGdxGame return an inherited of HeadlessApplication

Question:

i'm trying to create a new instance of xpath factory, it is running perfectly without any problem in my local machine but in my ubuntu server(16.0) java 1.7 instance throwing following error.

SEVERE: Caught exception : javax.xml.xpath.XPathFactoryConfigurationException: No XPathFactory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:268)

I have read the following articles,

https://saxonica.plan.io/issues/1944

Syntax error in javax.xml.xpath.XPathFactory provider-configuration file of Saxon-HE 9.3

And updated my code like the following,

 xPathfactory = XPathFactory.newInstance(
             XPathFactory.DEFAULT_OBJECT_MODEL_URI, "net.sf.saxon.xpath.XPathFactoryImpl",
              ClassLoader.getSystemClassLoader());

but it is still throwing the following error.

I'm using saxon 9.3.0.5 version in both my local and server instance.

I'm using this version because it gives much faster xslt conversion compare to the latest version.

What am i doing wrong? Any help would be greatly appreciated. Thanks in advance.


Answer:

First, if you've got a problem moving forward to a new Saxon release because of a performance regression, then in the interests of the user community as a whole I would strongly encourage you to work with us to get that problem identified and fixed, rather than sticking to an old version with known bugs.

I suspect you have correctly identified the issue. It has a long and convoluted history. IIRC (and this is probably a simplification): JDK 5 required the services file to be in a format that differed from the documented format, and Saxon used the format that worked. JDK 6 accepted the "wrong" format as well as the correct format. JDK 7 only accepted the correct format. As a result older versions of Saxon do not work with newer JDK versions - at least as far as this interface is concerned.

A workaround is to instantiate Saxon's XPathFactory directly (using new net.sf.saxon.xpath.XPathFactoryImpl()) rather than using the JAXP search mechanism. This is in any case far more efficient.

Question:

I am trying to start a Lucee server under an Ubuntu 16.10 VirtualBox virtual machine using CommandBox 3.5.0. For debugging purposes I use this command:

server start --debug --console --noopenbrowser

This seems to start up the server but the last lines of the console output read like this:

Runwar: started servlet deployment manager Runwar: started stop monitor ****************************************************************************** *** starting 'stop' listener thread - Host: 127.0.0.1 - Socket: 42799 ****************************************************************************** SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

(java:2864): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

To me it looks like some part of CommandBox was compiled using both versions of GTK. So, I'm wondering now whether that can be circumvented somehow without having to touch CommandBox' code.


Answer:

The error only happens when running CommandBox from the Ubuntu GUI, but not from the pure shell.

So the workaround for this error is:

  1. Change to Linux console with Ctrl+Alt+F1
  2. Start CommandBox
  3. Start your server
  4. Change back to GUI-mode with Ctrl+Alt+F7

After this the server is running and you can see your app in the browser.

Question:

I currently run these java applications with the following command via root: java -Xms1G -Xmx1G -jar /var/www/tekkit.socialnetwk.com/tekkit.jar nogui

Although if I close the terminal window those applications close/stop. Is there anyway to stop this from happening? Either creating it as a service or to start it on boot. I've tried rc.local but no luck.

I'm running on Ubuntu - Newest.


Answer:

In the past I have done two things to make a process run after the terminal shuts down... use ampersand to run it in the background and nohup so that it does not get killed by the terminal closing.

nohup java -Xms1G -Xmx1G -jar /var/www/tekkit.socialnetwk.com/tekkit.jar nogui &

EDIT: Here is a great answer that goes into detail. Upvote that answer instead since it is way more complete.

Question:

I have read a lots documentation and specification on Oracle jre-8. Want to make Eclipse run faster in long usage run time, means start up time not so significant - using more memory. For 6gb pc I decided 2gb maximum for IDE, since browser and web server also need some.

Installed Eclipse PDT 4.7 and many modules. Should be the same for versions of Eclipse using jre-8. Installed server-jre-1.8 from oracle. Also installer jre to upacking it in home folder, while system java is another, and pointing eclipse ini to that install location.


Answer:

This only applicable to oracle latest Java 8, and Eclipse 4.7.2. (older eclipse versions may also work, if they use oracle jre-1.8) Using around 1gb of memory, maximum(never reached) 2g. It can run on less or more memory with modifications, not only xmx, xms. GC runs less often and so makeing Eclipse run more smooth. Starting are long, and also first opening some perspective fast but next time much faster.

This also can work fine for Oracle 9, but need some modifications.

eclipse.ini: (with doucumentation, you can remove it if causing problem)

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.551.v20171108-1834
-product
org.eclipse.epp.package.php.product
#Turn off splash. Better for Ubuntu Unity
-nosplash
#-showsplash
#org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
#
#client or server VM
#-client
-server
-vm
/home/lenya/Java/server-jre-1.8.0_162-oracle/bin
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
#
#Enable the G1 Collector
#Configured for oracle java 8, lower response time
#Using docs: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/
-XX:+UnlockExperimentalVMOptions
-XX:+UseLargePages
-XX:+UseCompressedOops
-XX:+UseStringDeduplication
-XX:+UseFastAccessorMethods
-XX:-DontCompileHugeMethods
-XX:-UseLoopPredicate
-XX:+UseG1GC
#
#This is interpreted as a hint to the garbage collector that pause times of <nnn> milliseconds or less are desired.
#The garbage collector will adjust the Java heap size and other parameters related to garbage collection in an
#attempt to keep garbage collection pauses shorter than <nnn> milliseconds. By default there is no maximum pause
#time goal. These adjustments may cause garbage collector to occur more frequently, reducing the overall throughput
#of the application. The garbage collector tries to meet any pause time goal before the throughput goal. 
#In some cases, though, the desired pause time goal cannot be met.
#__For lower response time - more maximum pause__ __Larger heap needed__
-XX:MaxGCPauseMillis=5000
#
#The throughput goal is measured in terms of the time spent collecting garbage and the time spent outside of garbage
#collection (referred to as application time). The goal is specified by the command-line option -XX:GCTimeRatio=<nnn>.
#The ratio of garbage collection time to application time is 1 / (1 + <nnn>). For example, -XX:GCTimeRatio=19 sets
#a goal of 1/20th or 5% of the total time for garbage collection.
#
#The time spent in garbage collection is the total time for both the young generation and old generation collections combined.
#If the throughput goal is not being met, then the sizes of the generations are increased in an effort to increase the time
#that the application can run between collections.
# __Larger heap needed__
-XX:GCTimeRatio=99
#
#Sets the Java heap occupancy threshold that triggers a marking cycle.
#Percentage of the (entire) heap occupancy to start a concurrent GC cycle. It is used by G1 to trigger a concurrent GC
#cycle based on the occupancy of the entire heap, not just one of the generations. 
#A value of 0 denotes 'do constant GC cycles'. The default value is 45
-XX:InitiatingHeapOccupancyPercent=70
#
#Sets the occupancy threshold for an old region to be included in a mixed garbage collection cycle.
-XX:+UnlockExperimentalVMOptions
-XX:G1MixedGCLiveThresholdPercent=80
#
#Sets the percentage of heap that you are willing to waste. The Java HotSpot VM does not initiate the 
#mixed garbage collection cycle when the reclaimable percentage is less than the heap waste percentage
-XX:G1HeapWastePercent=10
#
#Sets the target number of mixed garbage collections after a marking cycle to collect old regions with
#at most G1MixedGCLIveThresholdPercent live data. The default is 8 mixed garbage collections.
#The goal for mixed collections is to be within this target number
#-XX:G1MixedGCCountTarget=64
#
#Sets an upper limit on the number of old regions to be collected during a mixed garbage collection cycle.
#The default is 10 percent of the Java heap
-XX:G1OldCSetRegionThresholdPercent=5
#
#G1 creates a false ceiling by trying to leave the reserve memory free in case more 'to-space' is desired
#__Ajust depending on heap size__
-XX:G1ReservePercent=15
#
#Sets the percentage of the heap to use as the minimum for the young generation size. The default value is 5 percent of your Java heap
-XX:+UnlockExperimentalVMOptions
-XX:G1NewSizePercent=5
#Sets the percentage of the heap size to use as the maximum for young generation size. The default value is 60 percent of your Java heap
-XX:+UnlockExperimentalVMOptions
-XX:G1MaxNewSizePercent=50
#
#Sets the number of parallel marking threads. Sets n to approximately 1/4 of the number of parallel garbage collection threads (ParallelGCThreads).
#Number of threads concurrent garbage collectors will use. 
#The default value varies with the platform on which the JVM is running
-XX:ConcGCThreads=2
#
#Sets the value of the STW worker threads. Sets the value of n to the number of logical processors. 
#Sets the number of threads used during parallel phases of the garbage collectors.
#The default value varies with the platform on which the JVM is running.
-XX:ParallelGCThreads=4
#
#With G1 the Java heap is subdivided into uniformly sized regions. This sets the size of the individual sub-divisions.
#The default value of this parameter is determined ergonomically based upon heap size. 
#The minimum value is 1Mb and the maximum value is 32Mb. The goal is to have around 2048 regions based on the minimum Java heap size.
-XX:G1HeapRegionSize=1m
#
#Sets the thread stack size.
-Xss16m
#
#Specifies the initial size, in bytes, of the memory allocation pool. The default value is chosen at runtime based on system configuration.
#__Disable it for auto configuration, changed at run time__
-Xms1g
#
#Specifies the maximum size, in bytes, of the memory allocation pool.
#__Do avoid swapping__ __Set less, and tune GC__
-Xmx2g
#
#Sets the mode of the bytecode verifier. Bytecode verification ensures that class files are properly formed and
#satisfy the constraints listed in section 4.10, Verification of class Files in the The Java Virtual Machine Specification.
#Do not turn off verification as this reduces the protection provided by Java and could cause problems due to ill-formed class files.
-Xverify:none

Question:

I have been working with Jetty for a week and I have Maven handling the management. I have been successfully getting my program to run and work on my local computer, but when I try to deploy the app to a server, I keep getting this issue after running the command:

 java -jar $JETTY_HOME/start.jar

2018-07-24 14:33:48.808:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@3224f60b{/,file:/var/lib/jetty9/webapps/root/,null}{/root} java.io.FileNotFoundException: /usr/share/java/etc/webdefault.xml (Not a directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.(FileInputStream.java:138) at org.eclipse.jetty.util.resource.FileResource.getInputStream(FileResource.java:290) at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:54) at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:207) at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:171) at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:53) at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:468) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:504) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:498) at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:146) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180) at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:440) at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64) at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:528) at org.eclipse.jetty.util.Scanner.scan(Scanner.java:391) at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:560) at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:235) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1255) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jetty.start.Main.invokeMain(Main.java:321) at org.eclipse.jetty.start.Main.start(Main.java:817) at org.eclipse.jetty.start.Main.main(Main.java:112)

2018-07-24 14:33:48.877:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@76f2b07d{/ProjectName,file:/tmp/jetty-0.0.0.0-8080-ProjectName.war-_ProjectName-any-8365660038169967261.dir/webapp/,null}{/ProjectName.war} java.io.FileNotFoundException: /usr/share/java/etc/webdefault.xml (Not a directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.(FileInputStream.java:138) at org.eclipse.jetty.util.resource.FileResource.getInputStream(FileResource.java:290) at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:54) at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:207) at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:171) at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:53) at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:468) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:504) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:498) at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:146) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180) at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:455) at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64) at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:528) at org.eclipse.jetty.util.Scanner.scan(Scanner.java:391) at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:560) at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:235) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1255) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jetty.start.Main.invokeMain(Main.java:321) at org.eclipse.jetty.start.Main.start(Main.java:817) at org.eclipse.jetty.start.Main.main(Main.java:112)

My webdefault is located in usr/share/jetty9/etc folder, but it keeps looking in java and I have looking into the xml files there, trying to find a way to redirect the location so that it does not look into /usr/share/java/etc/. Thank you


Answer:

Your jetty installation is broken. Uninstall it and download an official tar ball instead.

After starting the server and you see it running, you should be able to deploy your war file

Question:

I am attempting to run (Jetty) Geoserver 2.1 on Ubuntu 16.04 using Open JDK 8 on a machine which also contains Apache, MYSQL, and GDAL. I followed the instructions from a nice denizen of the internet named Jeff.

Upon completion of his instructions, I run the following command in GUAKE Shell to start up Geoserver:

sudo /etc/init.d/geoserver start

I then (without quitting the terminal) open Firefox and type in the following URL:

http://localhost:8080

Firefox shows the following 404 error:

I also attempted appending /geoserver and /geoserver/web to the URL, which changed my error from 404 to 503 (making progress!).

I get the same error(s) when I use the built-in Ubuntu shell instead of GUAKE. I have, per answers on similar questions, confirmed that geoserver is indeed running on 8080 (and that nothing else is). I have attempted using Tomcat7, and while I was able to get a successful 8080 page with Tomcat7, it was not the geoserver page - and the geoserver urls (/geoserver and /geoserver/web) still did not work.

EDIT: Here is the geoserver.log:


Answer:

Those directions have two issues which may cause some trouble: First, they are out-of-date, and second, they are installing a number of additional plugins. From the screencap, the error at the bottom could be related to the ogr plugin.

I'd recommend checking out the GeoServer documentation for using Jetty on Linux; it will have you download the latest version of Geoserver here.

The directions you mentioned might help with setting up Jetty as a service, etc. The GeoServer documentation should help get GeoServer up and running; if you have other questions about plugins, we can go from there.

Question:

I am using ubuntu 12.04 and wanted to connect to the MS SQL server database which is hosted in the same network. I was able to connect this using Squirrel , yet unable to connect from a java program. These are the tools I and .jars I am using . Intellij Idea is the tool jar are jtds-1.3.1.jar and sqljdbc4.jar Java version 1.7

I am hoping to develop a web application in the Ubuntu Environment , yet my database will be in Ms Sql windows table. Is this feasible ? Please intruct me step by step , and sample code to connect ms sql database which s hosted ina wondows environment

Rashen


Answer:

Both microsoft's driver and jTDS works on linux.

Their web site have example jdbc urls.

Question:

Ubuntu 18.04

sudo ./teamcity-server.sh run

Java executable of version 1.8 is not found:
- Java executable is not found under the specified directories: '', '/home/alex/TeamCity/bin/../jre'
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- Java executable is not found in the default locations
- Java executable is not found in the directories listed in the PATH environment variable

Please make sure either JAVA_HOME or JRE_HOME environment variable is defined and is pointing to the root directory of the valid Java (JRE) installation

Environment variable FJ_DEBUG can be set to enable debug output

Java not found. Cannot start TeamCity server. Please ensure JDK or JRE is installed and JAVA_HOME environment variable points to it.

java -version

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
alex@teamcity-server:~/TeamCity/bin$

$JAVA_HOME (tried default-java, /bin)

-bash: /usr/lib/jvm/java-11-openjdk-amd64: Is a directory

$JRE_HOME (tried default-java, /bin)

-bash: /usr/lib/jvm/java-11-openjdk-amd64: Is a directory

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin:/usr/bin:/sbin:/usr/games:/usr/local/games:/usr/lib/jvm/java-11-openjdk-amd64/bin

readlink -f $(which java)

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

Tried

ln -s /usr/lib/jvm/java-11-openjdk-amd64/bin /home/alex/TeamCity/jre

Is it requires SPECIFIC java version and does not work with latest?

Did i set variables incorrectly?


Answer:

I guess, TeamCity is expecting a Java 1.8

Java executable of version 1.8 is not found.

But you are feeding it with a Java 10

openjdk version "10.0.2"

The I think the answer to

Is it requires SPECIFIC java version and does not work with latest?

is "Yes.", it requires Java 1.8 only, maybe.

Question:

I have an external server (ubuntu) running an instance of tomcat and I was wondering if anyone could tell me how to make it accessible via the server domain name as opposed to just the IP address.

So at the moment this currently works :

http://12.34.56.78:8080/MyApp

However what I need is to make my tomcat instance accessible using the following :

http://my-domain.com:8080/MyApp

Any help would be greatly appreciated.


Answer:

you need a DNS entry for your domain name. The entry must point to the ip of the server. Is your domain already registered?

Question:

I am having a problem with the kurento-java-tutorial one-2-one-call-recording example and any of the other projects that I run , the problem that when I register a user and try to call another registered user it asks for the camera and mic permission and shows the local camera but the other user camera stays as a spinner , same thing for the 2 users ,

Can you please tell me what I am missing here I followed the installation guide and configuration like what the kurento site described with steps

adding stacktrace [ modified after fixing the turn server ]:

This appears to be Chrome
kurento-utils.js:33 Chrome: using SDP PlanB
index.js:70 Senging message: {"id":"register","name":"test"}
index.js:70 Received message: {"id":"registerResponse","response":"accepted"}
index.js:70 Received message: {"id":"incomingCall","from":"97092673996"}
index.js:70 spec:   {"audio":true,"video":{"width":640,"framerate":15}}
index.js:70 chrome: {"audio":true,"video":{"optional":[{"minWidth":640},{"maxWidth":640},{"minFramerate":15},{"maxFramerate":15}]}}
kurento-utils.js:268 constraints: {"offerToReceiveAudio":true,"offerToReceiveVideo":true}
kurento-utils.js:270 Created SDP offer
kurento-utils.js:275 Local description set v=0
o=- 1791604239915023035 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:dlK6
a=ice-pwd:mRcZcIf0EQ1PnKwVYTAIjNtX
a=fingerprint:sha-256 72:FA:12:B0:1B:8F:9F:E1:15:B0:81:A8:7F:DB:A2:96:50:E8:A4:D4:0A:DD:60:D6:72:52:E1:CF:F0:2F:16:9A
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1857836482 cname:H8u5HMhixTLRtjPT
a=ssrc:1857836482 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 6f32b2dd-659e-435b-8e92-acdc99427ac1
a=ssrc:1857836482 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW
a=ssrc:1857836482 label:6f32b2dd-659e-435b-8e92-acdc99427ac1
m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 127 97 99 101 125
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:dlK6
a=ice-pwd:mRcZcIf0EQ1PnKwVYTAIjNtX
a=fingerprint:sha-256 72:FA:12:B0:1B:8F:9F:E1:15:B0:81:A8:7F:DB:A2:96:50:E8:A4:D4:0A:DD:60:D6:72:52:E1:CF:F0:2F:16:9A
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtpmap:100 H264/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:102 red/90000
a=rtpmap:127 ulpfec/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=102
a=ssrc-group:FID 1819201219 3318337897
a=ssrc:1819201219 cname:H8u5HMhixTLRtjPT
a=ssrc:1819201219 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 7ee4c497-3220-4fa0-8b23-9b5ab7408138
a=ssrc:1819201219 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW
a=ssrc:1819201219 label:7ee4c497-3220-4fa0-8b23-9b5ab7408138
a=ssrc:3318337897 cname:H8u5HMhixTLRtjPT
a=ssrc:3318337897 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 7ee4c497-3220-4fa0-8b23-9b5ab7408138
a=ssrc:3318337897 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW
a=ssrc:3318337897 label:7ee4c497-3220-4fa0-8b23-9b5ab7408138

index.js:70 Senging message: {"id":"incomingCallResponse","from":"97092673996","callResponse":"accept","sdpOffer":"v=0\r\no=- 1791604239915023035 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:dlK6\r\na=ice-pwd:mRcZcIf0EQ1PnKwVYTAIjNtX\r\na=fingerprint:sha-256 72:FA:12:B0:1B:8F:9F:E1:15:B0:81:A8:7F:DB:A2:96:50:E8:A4:D4:0A:DD:60:D6:72:52:E1:CF:F0:2F:16:9A\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1857836482 cname:H8u5HMhixTLRtjPT\r\na=ssrc:1857836482 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 6f32b2dd-659e-435b-8e92-acdc99427ac1\r\na=ssrc:1857836482 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW\r\na=ssrc:1857836482 label:6f32b2dd-659e-435b-8e92-acdc99427ac1\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 127 97 99 101 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:dlK6\r\na=ice-pwd:mRcZcIf0EQ1PnKwVYTAIjNtX\r\na=fingerprint:sha-256 72:FA:12:B0:1B:8F:9F:E1:15:B0:81:A8:7F:DB:A2:96:50:E8:A4:D4:0A:DD:60:D6:72:52:E1:CF:F0:2F:16:9A\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=sendrecv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtpmap:100 H264/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:102 red/90000\r\na=rtpmap:127 ulpfec/90000\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:125 rtx/90000\r\na=fmtp:125 apt=102\r\na=ssrc-group:FID 1819201219 3318337897\r\na=ssrc:1819201219 cname:H8u5HMhixTLRtjPT\r\na=ssrc:1819201219 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 7ee4c497-3220-4fa0-8b23-9b5ab7408138\r\na=ssrc:1819201219 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW\r\na=ssrc:1819201219 label:7ee4c497-3220-4fa0-8b23-9b5ab7408138\r\na=ssrc:3318337897 cname:H8u5HMhixTLRtjPT\r\na=ssrc:3318337897 msid:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW 7ee4c497-3220-4fa0-8b23-9b5ab7408138\r\na=ssrc:3318337897 mslabel:NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW\r\na=ssrc:3318337897 label:7ee4c497-3220-4fa0-8b23-9b5ab7408138\r\n"}
index.js:70 Local candidate {"candidate":"candidate:2954657374 1 udp 2122260223 192.168.239.1 58914 typ host generation 0 ufrag dlK6 network-id 3","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:2954657374 1 udp 2122260223 192.168.239.1 58914 typ host generation 0 ufrag dlK6 network-id 3","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:3978421896 1 udp 2122194687 192.168.195.1 58915 typ host generation 0 ufrag dlK6 network-id 2","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:3978421896 1 udp 2122194687 192.168.195.1 58915 typ host generation 0 ufrag dlK6 network-id 2","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:4175847283 1 udp 2122129151 172.17.150.108 58916 typ host generation 0 ufrag dlK6 network-id 1","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:4175847283 1 udp 2122129151 172.17.150.108 58916 typ host generation 0 ufrag dlK6 network-id 1","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:2954657374 1 udp 2122260223 192.168.239.1 58917 typ host generation 0 ufrag dlK6 network-id 3","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:2954657374 1 udp 2122260223 192.168.239.1 58917 typ host generation 0 ufrag dlK6 network-id 3","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Local candidate {"candidate":"candidate:3978421896 1 udp 2122194687 192.168.195.1 58918 typ host generation 0 ufrag dlK6 network-id 2","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:3978421896 1 udp 2122194687 192.168.195.1 58918 typ host generation 0 ufrag dlK6 network-id 2","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Local candidate {"candidate":"candidate:4175847283 1 udp 2122129151 172.17.150.108 58919 typ host generation 0 ufrag dlK6 network-id 1","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:4175847283 1 udp 2122129151 172.17.150.108 58919 typ host generation 0 ufrag dlK6 network-id 1","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Local candidate {"candidate":"candidate:4271866542 1 tcp 1518280447 192.168.239.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 3","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:4271866542 1 tcp 1518280447 192.168.239.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 3","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:2745309816 1 tcp 1518214911 192.168.195.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 2","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:2745309816 1 tcp 1518214911 192.168.195.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 2","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:3060114307 1 tcp 1518149375 172.17.150.108 9 typ host tcptype active generation 0 ufrag dlK6 network-id 1","sdpMid":"audio","sdpMLineIndex":0}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:3060114307 1 tcp 1518149375 172.17.150.108 9 typ host tcptype active generation 0 ufrag dlK6 network-id 1","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Local candidate {"candidate":"candidate:4271866542 1 tcp 1518280447 192.168.239.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 3","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:4271866542 1 tcp 1518280447 192.168.239.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 3","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Local candidate {"candidate":"candidate:2745309816 1 tcp 1518214911 192.168.195.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 2","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:2745309816 1 tcp 1518214911 192.168.195.1 9 typ host tcptype active generation 0 ufrag dlK6 network-id 2","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Local candidate {"candidate":"candidate:3060114307 1 tcp 1518149375 172.17.150.108 9 typ host tcptype active generation 0 ufrag dlK6 network-id 1","sdpMid":"video","sdpMLineIndex":1}
index.js:70 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:3060114307 1 tcp 1518149375 172.17.150.108 9 typ host tcptype active generation 0 ufrag dlK6 network-id 1","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"startCommunication","sdpAnswer":"v=0\r\no=- 3709173837 3709173837 IN IP4 0.0.0.0\r\ns=Kurento Media Server\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=msid-semantic: WMS NMuJsVSTnQAmQ5YOQEX1kYierv6zmYhy57LW\r\na=group:BUNDLE audio video\r\nm=audio 1 UDP/TLS/RTP/SAVPF 111 0\r\na=mid:audio\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtpmap:111 opus/48000/2\r\na=rtpmap:0 PCMU/8000\r\na=setup:active\r\na=sendrecv\r\na=rtcp-mux\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:1325200734 cname:user4198751161@host-7c57fee4\r\na=ice-ufrag:+1rl\r\na=ice-pwd:QLVFDoNWIWAHErO+WvOagT\r\na=fingerprint:sha-256 FF:F1:5B:82:D1:51:09:08:86:52:5B:EF:34:91:B9:49:45:55:DF:18:8F:A4:D6:21:F0:B3:A1:AB:51:78:87:D6\r\nm=video 1 UDP/TLS/RTP/SAVPF 100\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=mid:video\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtpmap:100 H264/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=setup:active\r\na=sendrecv\r\na=rtcp-mux\r\na=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=ssrc:2706092998 cname:user4198751161@host-7c57fee4\r\na=ice-ufrag:+1rl\r\na=ice-pwd:QLVFDoNWIWAHErO+WvOagT\r\na=fingerprint:sha-256 FF:F1:5B:82:D1:51:09:08:86:52:5B:EF:34:91:B9:49:45:55:DF:18:8F:A4:D6:21:F0:B3:A1:AB:51:78:87:D6\r\n"}
kurento-utils.js:321 SDP answer received, setting remote description
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:3 1 TCP 1015021823 10.64.5.89 48176 typ host tcptype passive","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:3 1 TCP 1015021823 10.64.5.89 48176 typ host tcptype passive","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:1 1 UDP 2013266431 10.64.5.89 41033 typ host","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:2 1 TCP 1019216127 10.64.5.89 9 typ host tcptype active","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:2 1 TCP 1019216127 10.64.5.89 9 typ host tcptype active","sdpMid":"video","sdpMLineIndex":1}}
kurento-utils.js:296 Remote URL: blob:https://10.64.5.89:8443/6058eaf2-90c3-4e23-aaf8-19ed849c47f8
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:1 1 UDP 2013266431 10.64.5.89 41033 typ host","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:1 2 UDP 2013266430 10.64.5.89 46871 typ host","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:1 2 UDP 2013266430 10.64.5.89 46871 typ host","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:3 2 TCP 1015021822 10.64.5.89 38247 typ host tcptype passive","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:3 2 TCP 1015021822 10.64.5.89 38247 typ host tcptype passive","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:2 2 TCP 1019216126 10.64.5.89 9 typ host tcptype active","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:2 2 TCP 1019216126 10.64.5.89 9 typ host tcptype active","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"sendMessage","from":"test22","to":"test","message":"CustomerPhone : testing - CustomerName : aaaa"}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:4 1 UDP 1677722111 212.14.226.10 46505 typ srflx raddr 10.64.5.89 rport 46505","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:5 1 TCP 847249663 212.14.226.10 9 typ srflx raddr 10.64.5.89 rport 9 tcptype active","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:4 1 UDP 1677722111 212.14.226.10 46505 typ srflx raddr 10.64.5.89 rport 46505","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:5 1 TCP 847249663 212.14.226.10 9 typ srflx raddr 10.64.5.89 rport 9 tcptype active","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:6 1 TCP 843055359 212.14.226.10 48176 typ srflx raddr 10.64.5.89 rport 48176 tcptype passive","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:6 1 TCP 843055359 212.14.226.10 48176 typ srflx raddr 10.64.5.89 rport 48176 tcptype passive","sdpMid":"video","sdpMLineIndex":1}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:7 1 UDP 167772671 66.228.45.110 62707 typ relay raddr 10.64.5.89 rport 62707","sdpMid":"audio","sdpMLineIndex":0}}
index.js:70 Received message: {"id":"iceCandidate","candidate":{"candidate":"candidate:7 1 UDP 167772671 66.228.45.110 62707 typ relay raddr 10.64.5.89 rport 62707","sdpMid":"video","sdpMLineIndex":1}}

Regards,


Answer:

I can't see any public address in candidate's list. Are all your users in same network , if not try using any public stun server. If still it fails then try with TURN. Before doing all this try testing in open network with no firewall.