jvm crashed and so glassfish v2.1 died because of 'dependency_failed' - jvm
Never happened before. The following is the jvm crash log.
full of dependency_failed error msg. did a google search, some people was saying it is a bug if you were using -XX largePage kind of thing. But I am not using that option.
Any help greatly appreciated!
Edit: did not know how to post xml, so it was not readable at all, sorry about that.
<?xml version='1.0' encoding='UTF-8'?>
<hotspot_log version='160 1' process='7791' time_ms='1291395740597'>
<vm_version>
<name>
Java HotSpot(TM) 64-Bit Server VM
</name>
<release>
17.1-b03
</release>
<info>
Java HotSpot(TM) 64-Bit Server VM (17.1-b03) for linux-amd64 JRE (1.6.0_22-b04), built on Sep 15 2010 01:07:59 by "java_re" with gcc 3.2.2 (SuSE Linux)
</info>
</vm_version>
<vm_arguments>
<args>
-Dcom.sun.aas.instanceRoot=/mnt/xyz/glassfish_domains/xyz -Dcom.sun.aas.ClassPathPrefix= -Dcom.sun.aas.ClassPathSuffix= -Dcom.sun.aas.ServerClassPath= -Dcom.sun.aas.classloader.appserverChainJars.ee= -Dcom.sun.aas.classloader.appserverChainJars=admin-cli.jar,admin-cli-ee.jar,j2ee-svc.jar -Dcom.sun.aas.classloader.excludesList=admin-cli.jar,appserv-upgrade.jar,sun-appserv-ant.jar -Dcom.sun.aas.classloader.optionalOverrideableChain.ee= -Dcom.sun.aas.classloader.optionalOverrideableChain=webservices-rt.jar,webservices-tools.jar -Dcom.sun.aas.classloader.serverClassPath.ee=/lib/hadbjdbc4.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,/lib/dbstate.jar,/lib/hadbm.jar,/lib/hadbmgt.jar,/opt/sun/mfwk/share/lib/mfwk_instrum_tk.jar -Dcom.sun.aas.classloader.serverClassPath=/usr/share/glassfish/lib/install/applications/jmsra/imqjmsra.jar,/usr/share/glassfish/imq/lib/jaxm-api.jar,/usr/share/glassfish/imq/lib/fscontext.jar,/usr/share/glassfish/imq/lib/imqbroker.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/lib/ant/lib/ant.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar -Dcom.sun.aas.classloader.sharedChainJars.ee=appserv-se.jar,appserv-ee.jar,jesmf-plugin.jar,/lib/dbstate.jar,/lib/hadbjdbc4.jar,jgroups-all.jar,/opt/sun/mfwk/share/lib/mfwk_instrum_tk.jar -Dcom.sun.aas.classloader.sharedChainJars=javaee.jar,/usr/lib/jvm/java-6-sun/jre/../lib/tools.jar,install/applications/jmsra/imqjmsra.jar,com-sun-commons-launcher.jar,com-sun-commons-logging.jar,/usr/share/glassfish/imq/lib/jaxm-api.jar,/usr/share/glassfish/imq/lib/fscontext.jar,/usr/share/glassfish/imq/lib/imqbroker.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/imq/lib/imqxm.jar,webservices-rt.jar,webservices-tools.jar,mail.jar,appserv-jstl.jar,jmxremote_optional.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,activation.jar,appserv-rt.jar,appserv-admin.jar,appserv-cmp.jar,/usr/share/glassfish/updatecenter/lib/updatecenter.jar,/usr/share/glassfish/jbi/lib/jbi.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/lib/ant/lib/ant.jar,dbschema.jar -Dcom.sun.aas.configName=server-config -Dcom.sun.aas.configRoot=/usr/share/glassfish/config -Dcom.sun.aas.defaultLogFile=/mnt/xyz/glassfish_domains/xyz/logs/server.log -Dcom.sun.aas.domainName=xyz -Dcom.sun.aas.installRoot=/usr/share/glassfish -Dcom.sun.aas.instanceName=server -Dcom.sun.aas.processLauncher=SE -Dcom.sun.aas.promptForIdentity=true -Dcom.sun.appserv.pluggable.features=com.sun.enterprise.ee.server.pluggable.EEPluggableFeatureImpl -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory -Dcom.sun.enterprise.overrideablejavaxpackages=javax.help,javax.portlet -Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar -Dcom.sun.enterprise.taglisteners=jsf-impl.jar -Dcom.sun.updatecenter.home=/usr/share/glassfish/updatecenter -Ddomain.name=xyz -Djava.endorsed.dirs=/usr/share/glassfish/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-6-sun/jre/../lib/ext:/usr/lib/jvm/java-6-sun/jre/../jre/lib/ext:/mnt/xyz/glassfish_domains/xyz/lib/ext:/usr/share/glassfish/javadb/lib:/usr/share/glassfish/lib/jdbcdrivers -Djava.library.path=/usr/share/glassfish/lib:/usr/share/glassfish/lib:/usr/share/glassfish/lib -Djava.security.auth.login.config=/mnt/xyz/glassfish_domains/xyz/config/login.conf -Djava.security.policy=/mnt/xyz/glassfish_domains/xyz/config/server.policy -Djava.util.logging.manager=com.sun.enterprise.server.logging.ServerLogManager -Djavax.management.builder.initial=com.sun.enterprise.ee.admin.AppServerMBeanServerBuilder -Djavax.net.ssl.keyStore=/mnt/xyz/glassfish_domains/xyz/config/keystore.jks -Djavax.net.ssl.trustStore=/mnt/xyz/glassfish_domains/xyz/config/cacerts.jks -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver -Djmx.invoke.getters=true -Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+UnlockDiagnosticVMOptions -Xms4608m -Xss2048k -XX:+UseParallelGC -XX:MaxPermSize=192m -Xmx4608m -XX:NewRatio=2 -XX:+LogVMOutput -XX:LogFile=/mnt/xyz/glassfish_domains/xyz/logs/jvm.log
</args>
<command>
com.sun.enterprise.server.PELaunch start
</command>
<launcher>
SUN_STANDARD
</launcher>
<properties>
java.vm.specification.version=1.0
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.version=17.1-b03
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.vendor=Sun Microsystems Inc.
java.vm.info=mixed mode, sharing
java.ext.dirs=/usr/lib/jvm/java-6-sun/jre/../lib/ext:/usr/lib/jvm/java-6-sun/jre/../jre/lib/ext:/mnt/xyz/glassfish_domains/xyz/lib/ext:/usr/share/glassfish/javadb/lib:/usr/share/glassfish/lib/jdbcdrivers
java.endorsed.dirs=/usr/share/glassfish/lib/endorsed
sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/amd64
java.library.path=/usr/share/glassfish/lib:/usr/share/glassfish/lib:/usr/share/glassfish/lib
java.home=/usr/lib/jvm/java-6-sun-1.6.0.22/jre
java.class.path=/usr/share/glassfish/lib/jhall.jar:/usr/share/glassfish/lib/appserv-launch.jar
sun.boot.class.path=/usr/share/glassfish/lib/endorsed/activation.jar:/usr/share/glassfish/lib/endorsed/jaxb-impl-2.1.12.jar:/usr/share/glassfish/lib/endorsed/jaxb-api-2.1.jar:/usr/share/glassfish/lib/endorsed/webservices-api.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/classes
com.sun.aas.instanceRoot=/mnt/xyz/glassfish_domains/xyz
com.sun.aas.ClassPathPrefix=
com.sun.aas.ClassPathSuffix=
com.sun.aas.ServerClassPath=
com.sun.aas.classloader.appserverChainJars.ee=
com.sun.aas.classloader.appserverChainJars=admin-cli.jar,admin-cli-ee.jar,j2ee-svc.jar
com.sun.aas.classloader.excludesList=admin-cli.jar,appserv-upgrade.jar,sun-appserv-ant.jar
com.sun.aas.classloader.optionalOverrideableChain.ee=
com.sun.aas.classloader.optionalOverrideableChain=webservices-rt.jar,webservices-tools.jar
com.sun.aas.classloader.serverClassPath.ee=/lib/hadbjdbc4.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,/lib/dbstate.jar,/lib/hadbm.jar,/lib/hadbmgt.jar,/opt/sun/mfwk/share/lib/mfwk_instrum_tk.jar
com.sun.aas.classloader.serverClassPath=/usr/share/glassfish/lib/install/applications/jmsra/imqjmsra.jar,/usr/share/glassfish/imq/lib/jaxm-api.jar,/usr/share/glassfish/imq/lib/fscontext.jar,/usr/share/glassfish/imq/lib/imqbroker.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/lib/ant/lib/ant.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar
com.sun.aas.classloader.sharedChainJars.ee=appserv-se.jar,appserv-ee.jar,jesmf-plugin.jar,/lib/dbstate.jar,/lib/hadbjdbc4.jar,jgroups-all.jar,/opt/sun/mfwk/share/lib/mfwk_instrum_tk.jar
com.sun.aas.classloader.sharedChainJars=javaee.jar,/usr/lib/jvm/java-6-sun/jre/../lib/tools.jar,install/applications/jmsra/imqjmsra.jar,com-sun-commons-launcher.jar,com-sun-commons-logging.jar,/usr/share/glassfish/imq/lib/jaxm-api.jar,/usr/share/glassfish/imq/lib/fscontext.jar,/usr/share/glassfish/imq/lib/imqbroker.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/imq/lib/imqxm.jar,webservices-rt.jar,webservices-tools.jar,mail.jar,appserv-jstl.jar,jmxremote_optional.jar,/usr/share/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,activation.jar,appserv-rt.jar,appserv-admin.jar,appserv-cmp.jar,/usr/share/glassfish/updatecenter/lib/updatecenter.jar,/usr/share/glassfish/jbi/lib/jbi.jar,/usr/share/glassfish/imq/lib/imqjmx.jar,/usr/share/glassfish/lib/ant/lib/ant.jar,dbschema.jar
com.sun.aas.configName=server-config
com.sun.aas.configRoot=/usr/share/glassfish/config
com.sun.aas.defaultLogFile=/mnt/xyz/glassfish_domains/xyz/logs/server.log
com.sun.aas.domainName=xyz
com.sun.aas.installRoot=/usr/share/glassfish
com.sun.aas.instanceName=server
com.sun.aas.processLauncher=SE
com.sun.aas.promptForIdentity=true
com.sun.appserv.pluggable.features=com.sun.enterprise.ee.server.pluggable.EEPluggableFeatureImpl
com.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
com.sun.enterprise.overrideablejavaxpackages=javax.help,javax.portlet
com.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar
com.sun.enterprise.taglisteners=jsf-impl.jar
com.sun.updatecenter.home=/usr/share/glassfish/updatecenter
domain.name=xyz
java.security.auth.login.config=/mnt/xyz/glassfish_domains/xyz/config/login.conf
java.security.policy=/mnt/xyz/glassfish_domains/xyz/config/server.policy
java.util.logging.manager=com.sun.enterprise.server.logging.ServerLogManager
javax.management.builder.initial=com.sun.enterprise.ee.admin.AppServerMBeanServerBuilder
javax.net.ssl.keyStore=/mnt/xyz/glassfish_domains/xyz/config/keystore.jks
javax.net.ssl.trustStore=/mnt/xyz/glassfish_domains/xyz/config/cacerts.jks
jdbc.drivers=org.apache.derby.jdbc.ClientDriver
jmx.invoke.getters=true
net.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger
sun.rmi.dgc.client.gcInterval=3600000
sun.rmi.dgc.server.gcInterval=3600000
sun.java.launcher=SUN_STANDARD
</properties>
</vm_arguments>
<tty>
<writer thread='1093888336'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList add (Ljava/lang/Object;)Z' witness='javax/management/AttributeList' stamp='0.969'/>
<writer thread='1077066064'/>
<dependency_failed type='leaf_type' ctxk='java/util/Properties' witness='com/sun/enterprise/server/pluggable/TomcatPluggableFeatureImpl' stamp='1.064'/>
<dependency_failed type='unique_concrete_method' ctxk='java/util/Properties' x='java/util/Hashtable put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='java/security/Provider' stamp='4.938'/>
<dependency_failed type='unique_concrete_method' ctxk='java/util/Properties' x='java/util/Hashtable put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='java/security/Provider' stamp='4.938'/>
<dependency_failed type='unique_concrete_method' x='java/util/Hashtable get (Ljava/lang/Object;)Ljava/lang/Object;' witness='java/security/Provider' stamp='4.938'/>
<dependency_failed type='unique_concrete_method' x='java/util/Hashtable get (Ljava/lang/Object;)Ljava/lang/Object;' witness='java/security/Provider' stamp='4.938'/>
<dependency_failed type='unique_concrete_method' x='java/util/Hashtable get (Ljava/lang/Object;)Ljava/lang/Object;' witness='java/security/Provider' stamp='4.938'/>
<writer thread='1102293328'/>
<dependency_failed type='leaf_type' ctxk='javax/management/modelmbean/DescriptorSupport' witness='com/sun/jbi/management/config/DescriptorSupport' stamp='7.167'/>
<dependency_failed type='leaf_type' ctxk='javax/management/modelmbean/DescriptorSupport' witness='com/sun/jbi/management/config/DescriptorSupport' stamp='7.167'/>
<dependency_failed type='leaf_type' ctxk='javax/management/modelmbean/DescriptorSupport' witness='com/sun/jbi/management/config/DescriptorSupport' stamp='7.167'/>
<writer thread='1077066064'/>
<dependency_failed type='leaf_type' ctxk='java/util/Stack' witness='com/sun/corba/ee/impl/util/RepositoryIdPool' stamp='9.659'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' witness='com/sun/messaging/jmq/util/lists/SimpleNFLHashMap' stamp='18.608'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<dependency_failed type='abstract_with_unique_concrete_subtype' ctxk='java/nio/ByteBuffer' x='java/nio/HeapByteBuffer' witness='java/nio/DirectByteBuffer' stamp='18.819'/>
<writer thread='1249380688'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap keySet ()Ljava/util/Set;' witness='com/sun/org/apache/commons/collections/FastHashMap' stamp='24.181'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap containsKey (Ljava/lang/Object;)Z' witness='com/sun/org/apache/commons/collections/FastHashMap' stamp='24.181'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap containsKey (Ljava/lang/Object;)Z' witness='com/sun/org/apache/commons/collections/FastHashMap' stamp='24.181'/>
<dependency_failed type='unique_concrete_method' x='java/util/HashMap containsKey (Ljava/lang/Object;)Z' witness='com/sun/org/apache/commons/collections/FastHashMap' stamp='24.181'/>
<writer thread='1093888336'/>
<dependency_failed type='unique_concrete_method' x='java/lang/ThreadLocal get ()Ljava/lang/Object;' witness='com/sun/jersey/server/impl/container/servlet/ThreadLocalInvoker$1' stamp='29.756'/>
<dependency_failed type='unique_concrete_method' x='java/lang/ThreadLocal get ()Ljava/lang/Object;' witness='com/sun/jersey/server/impl/container/servlet/ThreadLocalInvoker$1' stamp='29.756'/>
<dependency_failed type='unique_concrete_method' x='java/lang/ThreadLocal get ()Ljava/lang/Object;' witness='com/sun/jersey/server/impl/container/servlet/ThreadLocalInvoker$1' stamp='29.756'/>
<writer thread='1100192080'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<dependency_failed type='unique_concrete_method' x='java/util/ArrayList get (I)Ljava/lang/Object;' witness='com/xyz/recommendation/ItemScoreList' stamp='33.412'/>
<writer thread='1077066064'/>
<dependency_failed type='leaf_type' ctxk='java/security/cert/CertificateException' witness='java/security/cert/CertificateEncodingException' stamp='36.591'/>
<writer thread='1213659472'/>
<dependency_failed type='leaf_type' ctxk='java/io/BufferedReader' witness='org/apache/coyote/tomcat5/CoyoteReader' stamp='51.776'/>
<dependency_failed type='unique_concrete_method' x='java/io/Reader read ([C)I' witness='org/apache/coyote/tomcat5/CoyoteReader' stamp='51.776'/>
<dependency_failed type='unique_concrete_method' x='java/io/Reader read ([C)I' witness='org/apache/coyote/tomcat5/CoyoteReader' stamp='51.776'/>
<tty_done stamp='9223.439'/>
</tty>
<hotspot_log_done stamp='9223.439'/>
</hotspot_log>
Related
(Updated) GenerateWebRtcStream returns 400, "sdp_offer contains an invalid value." when sent to Nest Camera or Nest Doorbell
I've written an Android app to stream video from my nest cameras and doorbell. I have a valid access token and can retrieve a list of all my nest devices. However, when I send a GenerateWebRtcStream to any device, it returns the same 400 error. I have verified that my offer: Has a=recvonly, and that it also has H264 as an available video codec. As indicated in documentation Has a data channel (as suggested by another solution to this problem). Has the audio stream data before the video stream data (as suggested by a second solution to this problem). [Updated] Have created the offer with a PeerConnection initialized with SdpSemantics.UNIFIED_PLAN Additional information: My Android app is based (almost entirely) off this very helpful blog. The app works when connecting to a non-nest camera (i.e. instance of itself on another device), so the offer and logic is valid on some level. There appears to be very little information on what offer the Nest Camera's will accept, so I'm posting the generated offer and command I'm posting to the API in the hopes that someone has an idea on what I might need to change. Many thanks in advance. sdpOffer: v=0 o=- 5150109222623794114 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE 0 1 2 a=msid-semantic: WMS m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 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:KQKv a=ice-pwd:QvV7coYbshMtmKmkqpBno0xz a=ice-options:trickle renomination a=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9 a=setup:actpass a=mid:0 a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=recvonly 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:102 ILBC/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 m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 125 100 101 127 c=IN IP4 0.0.0.0 a=rtcp:9 IN IP4 0.0.0.0 a=ice-ufrag:KQKv a=ice-pwd:QvV7coYbshMtmKmkqpBno0xz a=ice-options:trickle renomination a=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9 a=setup:actpass a=mid:1 a=extmap:14 urn:ietf:params:rtp-hdrext:toffset a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:13 urn:3gpp:video-orientation a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=recvonly a=rtcp-mux a=rtcp-rsize a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 transport-cc a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtpmap:97 rtx/90000 a=fmtp:97 apt=96 a=rtpmap:98 VP9/90000 a=rtcp-fb:98 goog-remb a=rtcp-fb:98 transport-cc a=rtcp-fb:98 ccm fir a=rtcp-fb:98 nack a=rtcp-fb:98 nack pli a=rtpmap:99 rtx/90000 a=fmtp:99 apt=98 a=rtpmap:125 H264/90000 a=rtcp-fb:125 goog-remb a=rtcp-fb:125 transport-cc a=rtcp-fb:125 ccm fir a=rtcp-fb:125 nack a=rtcp-fb:125 nack pli a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f a=rtpmap:100 red/90000 a=rtpmap:101 rtx/90000 a=fmtp:101 apt=100 a=rtpmap:127 ulpfec/90000 m=application 9 UDP/DTLS/SCTP webrtc-datachannel c=IN IP4 0.0.0.0 a=ice-ufrag:KQKv a=ice-pwd:QvV7coYbshMtmKmkqpBno0xz a=ice-options:trickle renomination a=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9 a=setup:actpass a=mid:2 a=sctp-port:5000 a=max-message-size:262144 POST Body: { { "command":"sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream", "params":{ "sdpOffer":"v=0\r\no=- 5150109222623794114 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1 2\r\na=msid-semantic: WMS\r\nm=audio 9 UDP\/TLS\/RTP\/SAVPF 111 103 104 9 102 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:KQKv\r\na=ice-pwd:QvV7coYbshMtmKmkqpBno0xz\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time\r\na=extmap:3 http:\/\/www.ietf.org\/id\/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\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:102 ILBC\/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\nm=video 9 UDP\/TLS\/RTP\/SAVPF 96 97 98 99 125 100 101 127\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:KQKv\r\na=ice-pwd:QvV7coYbshMtmKmkqpBno0xz\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http:\/\/www.ietf.org\/id\/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/playout-delay\r\na=extmap:11 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/video-content-type\r\na=extmap:7 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/video-timing\r\na=extmap:8 http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8\/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx\/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9\/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx\/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:125 H264\/90000\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:100 red\/90000\r\na=rtpmap:101 rtx\/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:127 ulpfec\/90000\r\nm=application 9 UDP\/DTLS\/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:KQKv\r\na=ice-pwd:QvV7coYbshMtmKmkqpBno0xz\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 C2:16:13:A3:80:1A:8E:96:21:98:4B:8C:03:26:93:DE:FA:88:C5:8B:DB:06:62:87:FF:BA:D4:0C:98:2A:3E:C9\r\na=setup:actpass\r\na=mid:2\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n" } } Error Response: { "error":{ "code":400, "message":"sdp_offer contains an invalid value.", "status":"INVALID_ARGUMENT" } }
Got the sample app at github.com/google/device-access-sample-web-app running as suggested by #BTGunner (thanks again!!!), and got to see what a successful request looks like. The offer that I'm generating is accepted. The problem was that the documentation and implementation have deviated for GenerateWebRtcStream. The current documentation indicates that the offer description should be named offerSdp (which fails). The sample app instead uses offer_sdp and this returns a valid answer.
Unexpected frame structure in pyspark window function
I am trying to understand how a frame is constructed when using a window function and seeing some unexpected behavior. This is the code (can be run as is): from pyspark.sql import SparkSession from pyspark.sql.types import StructField, StructType, FloatType, StringType, IntegerType spark = SparkSession.builder.getOrCreate() schema = StructType([StructField('product', StringType(), True), StructField('category', StringType(), True), StructField('revenue', IntegerType(), True)]) spark.createDataFrame( [ ("Thin", "Cell Phone", 6000), ("Normal", "Tablet", 1500), ("Mini", "Tablet", 5500), ("Ultra thin", "Cell Phone", 5000), ("Very thin", "Cell Phone", 6000), ("Big", "Tablet", 2500), ("Bendable", "Cell Phone", 3000), ("Foldable", "Cell Phone", 3000), ("Pro", "Tablet", 4500), ("Pro2", "Tablet", 6500), ] ,schema=schema ).createOrReplaceTempView("revenues") # using collect list to print the contents of the current frame # using min to show the unexpected behavior spark.sql(""" select product, category, revenue, collect_list((product, revenue)) over (partition by category order by revenue desc) frame, min(revenue) over (partition by category order by revenue desc) as min from revenues """).show(truncate=False) And this is the output: +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ |product |category |revenue|frame |min | +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ |Pro2 |Tablet |6500 |[[Pro2, 6500]] |6500| |Mini |Tablet |5500 |[[Pro2, 6500], [Mini, 5500]] |5500| |Pro |Tablet |4500 |[[Pro2, 6500], [Mini, 5500], [Pro, 4500]] |4500| |Big |Tablet |2500 |[[Pro2, 6500], [Mini, 5500], [Pro, 4500], [Big, 2500]] |2500| |Normal |Tablet |1500 |[[Pro2, 6500], [Mini, 5500], [Pro, 4500], [Big, 2500], [Normal, 1500]] |1500| |Thin |Cell Phone|6000 |[[Thin, 6000], [Very thin, 6000]] |6000| |Very thin |Cell Phone|6000 |[[Thin, 6000], [Very thin, 6000]] |6000| |Ultra thin|Cell Phone|5000 |[[Thin, 6000], [Very thin, 6000], [Ultra thin, 5000]] |5000| |Bendable |Cell Phone|3000 |[[Thin, 6000], [Very thin, 6000], [Ultra thin, 5000], [Bendable, 3000], [Foldable, 3000]]|3000| |Foldable |Cell Phone|3000 |[[Thin, 6000], [Very thin, 6000], [Ultra thin, 5000], [Bendable, 3000], [Foldable, 3000]]|3000| +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ Now the question: In this case, the window function does not specify any restrictions on the frame. I would expect the frame to be similar in all rows (and correspond to the full group of values). In practice, I see that the frame expands (not sure according to what criteria). This causes an incorrect value to be returned by the 'min' functions- 6500 for 'Tablet' category instead of 1500. If I remove the order by clause in the window spec, I see the expected behavior: collect_list((product, revenue)) over (partition by category) frame, min(revenue) over (partition by category) as min Yields: +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ |product |category |revenue|frame |min | +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ |Normal |Tablet |1500 |[[Normal, 1500], [Mini, 5500], [Big, 2500], [Pro, 4500], [Pro2, 6500]] |1500| |Mini |Tablet |5500 |[[Normal, 1500], [Mini, 5500], [Big, 2500], [Pro, 4500], [Pro2, 6500]] |1500| |Big |Tablet |2500 |[[Normal, 1500], [Mini, 5500], [Big, 2500], [Pro, 4500], [Pro2, 6500]] |1500| |Pro |Tablet |4500 |[[Normal, 1500], [Mini, 5500], [Big, 2500], [Pro, 4500], [Pro2, 6500]] |1500| |Pro2 |Tablet |6500 |[[Normal, 1500], [Mini, 5500], [Big, 2500], [Pro, 4500], [Pro2, 6500]] |1500| |Thin |Cell Phone|6000 |[[Thin, 6000], [Ultra thin, 5000], [Very thin, 6000], [Bendable, 3000], [Foldable, 3000]]|3000| |Ultra thin|Cell Phone|5000 |[[Thin, 6000], [Ultra thin, 5000], [Very thin, 6000], [Bendable, 3000], [Foldable, 3000]]|3000| |Very thin |Cell Phone|6000 |[[Thin, 6000], [Ultra thin, 5000], [Very thin, 6000], [Bendable, 3000], [Foldable, 3000]]|3000| |Bendable |Cell Phone|3000 |[[Thin, 6000], [Ultra thin, 5000], [Very thin, 6000], [Bendable, 3000], [Foldable, 3000]]|3000| |Foldable |Cell Phone|3000 |[[Thin, 6000], [Ultra thin, 5000], [Very thin, 6000], [Bendable, 3000], [Foldable, 3000]]|3000| +----------+----------+-------+-----------------------------------------------------------------------------------------+----+ Are my assumptions incorrect? If so - What are the mechanics of frame construction in both cases? Tested on Spark 3.0.1
This is the expected behaviour: the documentation states: When ordering is not defined, an unbounded window frame (rowFrame, unboundedPreceding, unboundedFollowing) is used by default. When ordering is defined, a growing window frame (rangeFrame, unboundedPreceding, currentRow) is used by default.
Android (Kotlin) WebRTC - "Failed to parse: "". Reason: Invalid SDP line"
I'm working on integration of WebRTC into a project and using "implementation 'org.webrtc:google-webrtc:1.0.30039'". When I just use the example project from Google source https://webrtc.googlesource.com/src/, it works fine without any issue. However when converted all the Java files to Kotlin and run, it always throw the below error (Invalid SDP line). I did verify that the SDP is similar between Java and Kotlin project. Also I tried adding new line at the end of SDP as recommended in some forum, didn't help either. Below is the error that I see in the Logcat when tried creating offer: E/webrtc_sdp.cc: (line 402): Failed to parse: "". Reason: Invalid SDP line. E/PCRTCClient: Peerconnection error: setSDP error: SessionDescription is NULL. Following is the SDP: v=0 o=- 3703865506153758141 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE 0 1 a=msid-semantic: WMS ARDAMS m=video 9 RTP/SAVPF 96 97 98 99 100 101 127 124 125 c=IN IP4 0.0.0.0 a=rtcp:9 IN IP4 0.0.0.0 a=ice-ufrag:WMCz a=ice-pwd:7U8pMIKV8KizMp6zeYgpnD6X a=ice-options:trickle renomination a=mid:0 a=extmap:14 urn:ietf:params:rtp-hdrext:toffset a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:13 urn:3gpp:video-orientation a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07 a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=sendrecv a=msid:ARDAMS ARDAMSv0 a=rtcp-mux a=rtcp-rsize a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:xpIiJ7ZL8lDPOZbcBrMV8Q0kH/7K2bwborNljNEq a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 transport-cc a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtpmap:97 rtx/90000 a=fmtp:97 apt=96 a=rtpmap:98 VP9/90000 a=rtcp-fb:98 goog-remb a=rtcp-fb:98 transport-cc a=rtcp-fb:98 ccm fir a=rtcp-fb:98 nack a=rtcp-fb:98 nack pli a=rtpmap:99 rtx/90000 a=fmtp:99 apt=98 a=rtpmap:100 H264/90000 a=rtcp-fb:100 goog-remb a=rtcp-fb:100 transport-cc a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=rtcp-fb:100 nack pli a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f a=rtpmap:101 rtx/90000 a=fmtp:101 apt=100 a=rtpmap:127 red/90000 a=rtpmap:124 rtx/90000 a=fmtp:124 apt=127 a=rtpmap:125 ulpfec/90000 a=ssrc-group:FID 3892029952 1800496854 a=ssrc:3892029952 cname:1P/brKdD8UOBMgTV a=ssrc:3892029952 msid:ARDAMS ARDAMSv0 a=ssrc:3892029952 mslabel:ARDAMS a=ssrc:3892029952 label:ARDAMSv0 a=ssrc:1800496854 cname:1P/brKdD8UOBMgTV a=ssrc:1800496854 msid:ARDAMS ARDAMSv0 a=ssrc:1800496854 mslabel:ARDAMS a=ssrc:1800496854 label:ARDAMSv0 m=audio 9 RTP/SAVPF 111 103 104 9 102 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:WMCz a=ice-pwd:7U8pMIKV8KizMp6zeYgpnD6X a=ice-options:trickle renomination a=mid:1 a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id a=sendrecv a=msid:ARDAMS ARDAMSa0 a=rtcp-mux a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:xpIiJ7ZL8lDPOZbcBrMV8Q0kH/7K2bwborNljNEq 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:102 ILBC/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:167068800 cname:1P/brKdD8UOBMgTV a=ssrc:167068800 msid:ARDAMS ARDAMSa0 a=ssrc:167068800 mslabel:ARDAMS a=ssrc:167068800 label:ARDAMSa0 Anyone seen similar issue when using WebRTC lib in Kotlin based android app ?
I just ran into the same issue. The problem is, according to this discuss-webrtc mailing list thread, \r\n is required at the end of the session description. You can fix this by simply appending \r\n at the end of the description string when constructing your SessionDescription object, eg.: val sdp = SessionDescription(origSdp.type, "${sdpDescription.trim()}\r\n") There is also a bug tracking this cryptic error message.
Why can't generate from UNION operation
My pig Script is: S22_JOIN = JOIN S0 BY (CD_SI,IDT_ETT_CTR), S7 BY (CD_SI,IDT_ETT_CTR); S22 = FOREACH S22_JOIN GENERATE S7::CD_SI AS CD_SI, S7::IDT_ETT_CTR AS IDT_ETT_CTR, S7::CD_EFS AS CD_EFS, S7::MT_DSP AS MT_DSP, S7::MT_NAL AS MT_NAL, S7::MT_ENC_MOY AS MT_ENC_MOY, S7::MT_UTI AS MT_UTI, S7::MT_CAP_RST_DU AS MT_CAP_RST_DU, S7::MT_ITT_CRU AS MT_ITT_CRU, S7::MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, S7::MT_ITT_IMP AS MT_ITT_IMP, S7::MT_DNR_ECN AS MT_DNR_ECN, S7::CD_ETT_ORI AS CD_ETT_ORI, S7::MT_DSP_CVE AS MT_DSP_CVE, S7::MT_NAL_CVE AS MT_NAL_CVE, S7::MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, S7::MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, S7::MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, S7::MT_GLB_IMP AS MT_GLB_IMP, S7::MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, S7::MT_BN_INST AS MT_BN_INST, S7::MT_BN_INST_CVE AS MT_BN_INST_CVE, S7::MT_BN_NV AS MT_BN_NV, S7::MT_BN_NV_CVE AS MT_BN_NV_CVE, S7::MT_IMP AS MT_IMP, S7::MT_PROR AS MT_PROR, S7::MT_DEM AS MT_DEM, S7::MT_ITT_M AS MT_ITT_M; -- Grouper by S23 = FOREACH S21 GENERATE CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, (IDT_ETT_CTR_LIG == '' ? (MT_NAL_BIL - MT_CAP_RST_DU):99) AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, (IDT_ETT_CTR_LIG == '' ? (MT_NAL_BIL - MT_CAP_RST_DU):99) AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M; S24 = GROUP S22 BY IDT_ETT_CTR; S25 = GROUP S23 BY IDT_ETT_CTR; S26 = UNION S24, S25; S20 = GROUP S19 BY IDT_ETT_CTR; S27 = UNION S20, S26; Note that the result of the UNION operation (S27) loook like : TE7420183801,"{(001,TE7420183801,29,0.0,60000.0,0.0,,34137.88,0.0,0.0,0.0,,ECRFI,0.0,60000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7424155609,"{(001,TE7424155609,29,0.0,616084.0,0.0,,407423.56,0.0,0.0,0.0,,ECRFI,0.0,616084.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7433106206,"{(001,TE7433106206,29,0.0,1241357.04,0.0,,1241357.04,0.0,0.0,0.0,,ECRFI,0.0,1241357.04,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7439115501,"{(001,TE7439115501,29,0.0,1044900.0,0.0,,776071.78,0.0,0.0,0.0,,ECRFI,0.0,1044900.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7439115502,"{(001,TE7439115502,29,0.0,116100.0,0.0,,86230.23,0.0,0.0,0.0,,ECRFI,0.0,116100.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7439115503,"{(001,TE7439115503,29,0.0,-116100.0,0.0,,-83626.92,0.0,0.0,0.0,,ECRFI,0.0,-116100.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7444031506,"{(001,TE7444031506,29,0.0,16802484.21,0.0,,14153891.85,0.0,0.0,0.0,,ECRFI,0.0,16802484.21,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7446142004,"{(001,TE7446142004,29,0.0,47341.96,0.0,,35618.57,0.0,0.0,0.0,,ECRFI,0.0,47341.96,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7458036405,"{(001,TE7458036405,29,0.0,3395911.0,0.0,,2576480.4,0.0,0.0,0.0,,ECRFI,0.0,3395911.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7461072603,"{(001,TE7461072603,29,0.0,1192162.0,0.0,,708855.6,0.0,0.0,0.0,,ECRFI,0.0,1192162.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7461072701,"{(001,TE7461072701,29,0.0,3700000.0,0.0,,2311590.89,0.0,0.0,0.0,,ECRFI,0.0,3700000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" TE7474079601,"{(001,TE7474079601,29,0.0,9570000.0,0.0,,8010700.07,0.0,0.0,0.0,,ECRFI,0.0,9570000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,)}" Now when I want to generate the final entity from it : S28 = FOREACH S27 GENERATE CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, MT_DSP AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, MT_DSP_CVE AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, S10.MT_ENMO + S5.MT_ENC_MOY AS MT_ENC_EFF, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M, (S6.IDT_ETT_CTR_LIG == '' ? (S6.MT_NAL_BIL + S6.MT_AUT) :'99') AS MT_NAL_LIG; STORE S28 INTO '$PathDataWorkingFile' USING CSVExcelStorage(',', 'YES_MULTILINE'); I get this error : Invalid field reference. Referenced field [CD_SI] does not exist in schema: . Note that there is no problem about the resources S6, S7, S20 ,... because I verified them and they generated the S27 data without problem. BUt in reality CD_SI exist it has as values 001 as you can see in first line second column It's really wired no ?
Since you are using union on grouped relations. You can just store the 2nd field using positional notation S24 = GROUP S22 BY IDT_ETT_CTR; S25 = GROUP S23 BY IDT_ETT_CTR; S26 = UNION S24, S25; S20 = GROUP S19 BY IDT_ETT_CTR; S27 = UNION S20, S26; S28 = FOREACH S27 GENERATE S27.$1 STORE S28 INTO '$PathDataWorkingFile' USING CSVExcelStorage(',', 'YES_MULTILINE'); Or Enumerate the groups and then join.Since you are using UNION on grouped relations, you really have only two fields i.e. the grouped column and the the rest in the form of a bag. S24 = GROUP S22 BY IDT_ETT_CTR; S25 = GROUP S23 BY IDT_ETT_CTR; S24_1 = FOREACH S24 GENERATE group as IDT_ETT_CTR, CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, MT_DSP AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, MT_DSP_CVE AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, S10.MT_ENMO + S5.MT_ENC_MOY AS MT_ENC_EFF, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M, (S6.IDT_ETT_CTR_LIG == '' ? (S6.MT_NAL_BIL + S6.MT_AUT) :'99') AS MT_NAL_LIG; S25_1 = FOREACH S25 GENERATE group as IDT_ETT_CTR, CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, MT_DSP AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, MT_DSP_CVE AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, S10.MT_ENMO + S5.MT_ENC_MOY AS MT_ENC_EFF, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M, (S6.IDT_ETT_CTR_LIG == '' ? (S6.MT_NAL_BIL + S6.MT_AUT) :'99') AS MT_NAL_LIG; S26 = UNION S24_1, S25_1; S20 = GROUP S19 BY IDT_ETT_CTR; S20_1 = FOREACH S20 GENERATE group as IDT_ETT_CTR, CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, MT_DSP AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, MT_DSP_CVE AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, S10.MT_ENMO + S5.MT_ENC_MOY AS MT_ENC_EFF, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M, (S6.IDT_ETT_CTR_LIG == '' ? (S6.MT_NAL_BIL + S6.MT_AUT) :'99') AS MT_NAL_LIG; S27 = UNION S20_1, S26; S28 = FOREACH S27 GENERATE CD_SI AS CD_SI, IDT_ETT_CTR AS IDT_ETT_CTR, CD_EFS AS CD_EFS, MT_DSP AS MT_DSP, MT_NAL AS MT_NAL, MT_ENC_MOY AS MT_ENC_MOY, MT_UTI AS MT_UTI, MT_CAP_RST_DU AS MT_CAP_RST_DU, MT_ITT_CRU AS MT_ITT_CRU, MT_CAP_ECN_IMP AS MT_CAP_ECN_IMP, MT_ITT_IMP AS MT_ITT_IMP, MT_DNR_ECN AS MT_DNR_ECN, CD_ETT_ORI AS CD_ETT_ORI, MT_DSP_CVE AS MT_DSP_CVE, MT_NAL_CVE AS MT_NAL_CVE, MT_ENC_MOY_CVE AS MT_ENC_MOY_CVE, MT_CAP_IMP_CVE AS MT_CAP_IMP_CVE, MT_ITT_IMP_CVE AS MT_ITT_IMP_CVE, MT_GLB_IMP AS MT_GLB_IMP, MT_GLB_IMP_CVE AS MT_GLB_IMP_CVE, MT_BN_INST AS MT_BN_INST, MT_BN_INST_CVE AS MT_BN_INST_CVE, MT_BN_NV AS MT_BN_NV, MT_BN_NV_CVE AS MT_BN_NV_CVE, S10.MT_ENMO + S5.MT_ENC_MOY AS MT_ENC_EFF, MT_IMP AS MT_IMP, MT_PROR AS MT_PROR, MT_DEM AS MT_DEM, MT_ITT_M AS MT_ITT_M, (S6.IDT_ETT_CTR_LIG == '' ? (S6.MT_NAL_BIL + S6.MT_AUT) :'99') AS MT_NAL_LIG; STORE S28 INTO '$PathDataWorkingFile' USING CSVExcelStorage(',', 'YES_MULTILINE');
GAWK - Finding a corresponding Action
I have a large file of sequentiually added lines of data that relate to parcels going through a system, this file is added to as each action takes place and builds throughout the day. What I need to do it check the file say every minute and check for items that have not yet made it to there chute i.e. do not have an "DISCHARGE_VERIFIED". The example below is one complete record but this could be spread throughout the file as thousands of items are processed at the same time. 170209 043314 0887 DE(N) ItemHandler.ItemLog event=<ITEM_AT_INDUCTION>, *********************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectIdle>, inductionId=<3: IU04>, position=<sorter#0.induction#3: IU04>, itemRevisionNumber=<0> ##[ 170209 043314 0888 DE(N) ItemHandler.ItemLog event=<SET_ITEM_ID>, ***************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectIdle>, itemRevisionNumber=<0> ##[ 170209 043317 0314 DE(N) ItemHandler.ItemLog event=<SCANNER_RESULT>, ************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForData>, barcodeCount=<3>, barcodes=<[ProxyWrapperBarcode(barcode=<JJD014600004054211864>, type=<C0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<1910456693>, type=<A0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<2LAU2000+52000000>, type=<C0>, result=<OK>, ccType=<>)]>, codeSource=<ohscan>, scannerId=<4001: IU04-SCAN02>, scannerStatus=<0>, position=<sorter#0.scanner#4001: IU04-SCAN02>, itemRevisionNumber=<2> ##[ 170209 043317 0315 DE(N) ItemHandler.ItemLog event=<DESTINATION_REQUEST>, *******************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForData>, barcodes=<[ProxyWrapperBarcode(barcode=<JJD014600004054211864>, type=<C0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<1910456693>, type=<A0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<2LAU2000+52000000>, type=<C0>, result=<OK>, ccType=<>)]>, ccReason=<SCANNER_DATA_ADDED>, PreviousccResult=<>, sortSchemeId=<-1>, sortSchemeName=<>, logicalDestination=<>, BatchCountItem=<true>, collectionId=<-1>, goodsId=<>, position=<sorter#0.scanner#4001: IU04-SCAN02>, dynamicDataCount=<0>, dynamicData=<{}>, carrierId=<159>, carrierCount=<-1>, itemRevisionNumber=<2> ##[ 170209 043317 0322 DE(N) ItemHandler.ItemLog event=<DESTINATION_REPLY>, *********************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, ccReason=<SCANNER_DATA_ADDED>, PendingccResult=<OK>, Pendingstrategy=<notSpecified>, PendingchuteGroup=<[3000]: Parked0>, PendingNotChutedestinationId=<-1>, PendingsortSchemeId=<-1>, PendingsortSchemeName=<>, PendinglogicalDestination=<>, PendinggoodsId=<>, PendingBatchCountItem=<true>, PendingcollectionId=<-1>, position=<sorter#0.scanner#4001: IU04-SCAN02>, dynamicDataCount=<0>, dynamicData=<{}>, itemRevisionNumber=<4> ##[ 170209 043317 0322 DE(N) ItemHandler.ItemLog event=<REDIRECT_ITEM>, *************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, PendingchuteGroup=<[3000]: Parked0>, Pendingstrategy=<notSpecified>, CscdestinationId=<-1: UnDef>, CmcdestinationId=<-1: UnDef>, position=<sorter#0.scanner#4001: IU04-SCAN02>, itemRevisionNumber=<4> ##[ 170209 043317 0484 DE(N) ItemHandler.ItemLog event=<REDIRECT_ITEM_REPLY>, *******************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, CscdestinationId=<3000: Parked0>, chuteGroup=<[3000]: Parked0>, CmcdestinationId=<3000: Parked0>, position=<sorter#0.scanner#4001: IU04-SCAN02>, chuteListStartPoint=<-1>, itemRevisionNumber=<6> ##[ 170209 043317 0486 DE(N) ItemHandler.ItemLog event=<RECONVERT>, *****************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForData>, CscdestinationId=<3000: Parked0>, chuteGroup=<[3000]: Parked0>, CmcdestinationId=<3000: Parked0>, position=<sorter#0.scanner#4001: IU04-SCAN02>, chuteListStartPoint=<-1>, itemRevisionNumber=<7> ##[ 170209 043317 0486 DE(N) ItemHandler.ItemLog event=<DESTINATION_REQUEST>, *******************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForData>, barcodes=<[ProxyWrapperBarcode(barcode=<JJD014600004054211864>, type=<C0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<1910456693>, type=<A0>, result=<OK>, ccType=<>), ProxyWrapperBarcode(barcode=<2LAU2000+52000000>, type=<C0>, result=<OK>, ccType=<>)]>, ccReason=<SCANNER_DATA_ADDED>, PreviousccResult=<OK>, sortSchemeId=<-1>, sortSchemeName=<>, logicalDestination=<>, BatchCountItem=<true>, collectionId=<-1>, goodsId=<>, position=<sorter#0.scanner#4001: IU04-SCAN02>, dynamicDataCount=<0>, dynamicData=<{}>, carrierId=<159>, carrierCount=<-1>, itemRevisionNumber=<7> ##[ 170209 043317 0492 DE(N) ItemHandler.ItemLog event=<DESTINATION_REPLY>, *********************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, ccReason=<SCANNER_DATA_ADDED>, PendingccResult=<OK>, Pendingstrategy=<priority>, PendingchuteGroup=<[121]: FLY425>, PendingNotChutedestinationId=<-1>, PendingsortSchemeId=<-1>, PendingsortSchemeName=<>, PendinglogicalDestination=<FLY425>, PendinggoodsId=<>, PendingBatchCountItem=<true>, PendingcollectionId=<-1>, position=<sorter#0.scanner#4001: IU04-SCAN02>, dynamicDataCount=<0>, dynamicData=<{}>, itemRevisionNumber=<9> ##[ 170209 043317 0492 DE(N) ItemHandler.ItemLog event=<REDIRECT_ITEM>, *************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, PendingchuteGroup=<[121]: FLY425>, Pendingstrategy=<priority>, CscdestinationId=<3000: Parked0>, CmcdestinationId=<3000: Parked0>, position=<sorter#0.scanner#4001: IU04-SCAN02>, itemRevisionNumber=<9> ##[ 170209 043317 0666 DE(N) ItemHandler.ItemLog event=<REDIRECT_ITEM_REPLY>, *******************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: WaitForDestination>, CscdestinationId=<121: FLY425>, chuteGroup=<[121]: FLY425>, CmcdestinationId=<121: FLY425>, position=<sorter#0.scanner#4001: IU04-SCAN02>, chuteListStartPoint=<121>, itemRevisionNumber=<11> ##[ 170209 043317 0667 DE(N) ItemHandler.ItemLog event=<ITEM_INDUCTED>, *************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectHeadingForChute>, inductionId=<3: IU04>, inductionMode=<SCANNER>, inductStatus=<NORMAL_ITEM>, carrierId=<159>, carrierCount=<1>, CmcdestinationId=<121: FLY425>, position=<sorter#0: MS01>, itemRevisionNumber=<12> ##[ 170209 043327 0379 DE(N) ItemHandler.ItemLog event=<ITEM_DISCHARGED>, ***********************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectHeadingForChute>, CscdestinationId=<121: FLY425>, chuteGroup=<[121]: FLY425>, CmcdestinationId=<121: FLY425>, ccResult=<OK>, sortSchemeId=<-1>, logicalDestination=<FLY425>, goodsId=<>, carrierId=<159>, length=<-1 mm>, width=<-1 mm>, height=<-1 mm>, volume=<-1 mm3>, position=<sorter#0.chute#121: FLY425>, itemRevisionNumber=<13> ##[ 170209 043339 0765 DE(N) ItemHandler.ItemLog event=<DISCHARGE_VERIFIED>, ********************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectWaitForVerification>, CscdestinationId=<121: FLY425>, chuteGroup=<[121]: FLY425>, CmcdestinationId=<121: FLY425>, position=<sorter#0.chute#121: FLY425>, itemRevisionNumber=<14> ##[ Once an item has made it to it's chute it is denoted as "DISCHARGE_VERIFIED" so I need to be able to pull out of the log file, the lines the that have an "itemId" but with no corresponding "DISCHARGE_VERIFIED" at that point in time and display the chute it is heading for which is held in the line "ITEM_INDUCTED", in the element "CmcdestinationId=<121: FLY425>" see below 170209 043317 0667 DE(N) ItemHandler.ItemLog event=<ITEM_INDUCTED>, *************************, itemId=<12562305>, globalId=<12562305>, cmcIndex=<750>, sorter=<0: MS01>, state=<CSC: ProjectHeadingForChute>, inductionId=<3: IU04>, inductionMode=<SCANNER>, inductStatus=<NORMAL_ITEM>, carrierId=<159>, carrierCount=<1>, CmcdestinationId=<121: FLY425>, position=<sorter#0: MS01>, itemRevisionNumber=<12> ##[ I'm doing this on a windows machine using gawk so have all the usual quotation issues. Any help would be appreciated Thanks Phil
I think I have a working script. Save it as inducted.awk for example, so you skip all the windows quotation issues you describe. inducted.awk: /ITEM_INDUCTED/ { match($0, /itemId=<([^>]+)>/, ary1) match($0, /CmcdestinationId=<([^>]+)>/, ary2) dest[ary1[1]] = ary2[1] } /DISCHARGE_VERIFIED/ { match($0, /itemId=<([^>]+)>/, ary1) delete dest[ary1[1]] } END { for (id in dest) { print id " -- " dest[id] } } So basically, when a line with ITEM_INDUCTED is found, it adds the itemid and destination to an array. And when a line has DISCHARGED_VERIFIED, that information is deleted from the array. At the end of the script, remaining inducted but not discharged ids are printed with their destinations. To execute it: gawk -f .\inducted.awk large_log_file if the awk file is not in the same folder as large_log_file, specify the full path for it.