XMPP Logout (Smack API) - xmpp

I am using Smack API to connect to the Openfire server. I have successfully made it work to create user and login user, my problem is I can't make the logout work, using XMPPConnection.disconnect(), after this, when creating account or logging in another user, the error below is shown. Any one have used Smack API for this kind of scenario?
The app gets this error when tried to login the same or another user:
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:146)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:312)
at sun.security.ssl.InputRecord.read(InputRecord.java:350)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:818)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:775)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:94)
at com.jcraft.jzlib.ZInputStream.read(ZInputStream.java:94)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:282)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:324)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:153)
at java.io.BufferedReader.read1(BufferedReader.java:204)
at java.io.BufferedReader.read(BufferedReader.java:278)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2992)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:325)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
java.io.IOException: Stream closed
at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:115)
at java.io.BufferedWriter.write(BufferedWriter.java:220)
at java.io.Writer.write(Writer.java:157)
at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:192)
at org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:40)
at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:76)
Exception in thread "Smack Packet Reader (0)" java.lang.NullPointerException
at org.jivesoftware.smack.XMPPConnection.shutdown(XMPPConnection.java:380)
at org.jivesoftware.smack.PacketReader.notifyConnectionError(PacketReader.java:166)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:332)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)

Try calling connect once more before you try and login the second time: once you call disconnect to log off the actual socket is closed. connect should re-open it.

Related

java.lang.RuntimeException: Unable to start receiver (exception showed up in Google play store internal testing)

I deployed my flutter app to Google play store internal testing and after one hour, I saw this exception in the Pre-launch report details. I am not even sure where to start debugging. Could Someone please help? I don't have a lot of knowledge of Android since I am using Flutter.
Exception java.lang.RuntimeException: Unable to start receiver
com.google.android.finsky.instantapps.PhenotypeUpdateReceiver:
java.lang.IllegalStateException: Not allowed to start service Intent {
act=com.google.android.gms.phenotype.UPDATE
cmp=com.android.vending/com.google.android.finsky.instantapps.PhenotypeUpdateService
}: app is in background uid UidRecord{2a75503 u0a192 TRNB
bg:+2m53s648ms idle change:uncached procs:4 seq(0,0,0)} at
android.app.ActivityThread.handleReceiver (ActivityThread.java:4035)
at android.app.ActivityThread.access$1400 (ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage
(ActivityThread.java:1924) at android.os.Handler.dispatchMessage
(Handler.java:106) at android.os.Looper.loop (Looper.java:223) at
android.app.ActivityThread.main (ActivityThread.java:7664) at
java.lang.reflect.Method.invoke (Method.java) at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run
(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main
(ZygoteInit.java:947) Caused by java.lang.IllegalStateException: Not
allowed to start service Intent {
act=com.google.android.gms.phenotype.UPDATE
cmp=com.android.vending/com.google.android.finsky.instantapps.PhenotypeUpdateService
}: app is in background uid UidRecord{2a75503 u0a192 TRNB
bg:+2m53s648ms idle change:uncached procs:4 seq(0,0,0)} at
android.app.ContextImpl.startServiceCommon (ContextImpl.java:1715)
at android.app.ContextImpl.startService (ContextImpl.java:1670) at
android.content.ContextWrapper.startService (ContextWrapper.java:720)
at alj.a (alj.java:2) at alm.a (alm.java:3) at wnv.a (wnv.java:2)
at
com.google.android.finsky.instantapps.PhenotypeUpdateReceiver.onReceive
(PhenotypeUpdateReceiver.java:6) at
android.app.ActivityThread.handleReceiver (ActivityThread.java:4026)
I also managed to download the full logcat which is very large file. I am not sure how to include the file over here.
flutter downgrade to as much as possible
You have to uninstall and reinstall the app, and also have to clear the data and cache from the Settings page.
Try it.
I have solved the problem this way.

Socket error 10053 software caused connection abort

I have a application which will receive files from FTP and uploaded in to Mainframe server.
I am getting a "Socket error 10053 software caused connection abort" when I assign
FTPTransfertype = ftASCII
If I change this to FtBinary I'm not getting this error but data not uploaded properly in this mode.
I am getting this error only in application server (Production server) not in the development server (here I faced this issue only once in the FTPTransfertype = ftASCII assignment)
I have changed the FTP connectivity mode to Passive but its not working..
Please help me on this.
I recomment to see Microsoft Windows Socket Errors page:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx
In your case:
Software caused connection abort. An established connection was
aborted by the software in your host computer, possibly due to a data
transmission time-out or protocol error.

Connection failure has been detected: HQ119014: Did not receive data from invm:0

actually I have a TimerWS running correctly, but in a few hours I have this error
WARN [org.hornetq.core.client] (hornetq-failure-check-thread) HQ212037: Connection failure has been detected: HQ119014: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
WARN [org.hornetq.jms.server] (Thread-3 (HornetQ-client-global-threads-451033388)) Notified of connection failure in xa discovery, we will retry on the next recovery: HornetQException[errorType=NOT_CONNECTED message=HQ119006: Channel disconnected]
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
Any idea?
Something is going wrong with a client's connection to the server.
These warnings are generated from the server which determines that a client is no longer responding.When that happens, the server cleans up the server-side resources related to the client's connections.
I have seen this many times by clients which are not properly coded to close their resources when they exit (finally block).
Have a look also for network problems which break the connection.

ATG- Issue in sending email through atg scenario

I have a requirement to send an email after registration of a new user my ATG application.
I have created a template jsp and created a scenario in ATG for that.
I also configured config/atg/scenario/IndividualEmilSender.properties with below key-value-
contextPathPrefix=/teststore
siteHttpServerName=localhost
siteHttpServerPort=8080
And /config/atg/userprofiling/email/TemplateEmailSender.properties as:-
$class=atg.userprofiling.email.TemplateEmailInfoImpl
mailingName=Your Mailing
contextPathPrefix=/teststore
messageSubject^=/atg/dynamo/service/SMTPEmail.defaultSubject
messageFrom^=/atg/dynamo/service/SMTPEmail.defaultFrom
contentProcessor=/atg/userprofiling/email/HtmlContentProcessor
fillFromTemplate=true
templateURL=/NewUserRegistered.jsp
loggingDebug=true
But getting following exception-
ERROR [ScenarioManager] Error while processing individual timer message InstanceTimerMessage[17000001,/TestStore/RegistrationScenario.sdl,NewMembers,3,in 1 mins]; rolling back the transaction java.lang.NullPointerException
at atg.scenario.action.SendEmail.createTemplateEmailInfo(SendEmail.java:193)
at atg.scenario.action.SendEmail.execute(SendEmail.java:526)
at atg.process.ProcessManagerService.executeAction(ProcessManagerService.java:14001)
at atg.process.ProcessManagerService.takeIndividualTransition(ProcessManagerService.java:13408)
at atg.process.ProcessManagerService.receiveIndividualTimerMessage(ProcessManagerService.java:12732)
at atg.process.ProcessManagerService.receiveMessage(ProcessManagerService.java:11416)
at atg.process.ProcessManagerService.receiveMessage(ProcessManagerService.java:11341)
at atg.dms.patchbay.ElementManager.deliverMessage(ElementManager.java:316)
at atg.dms.patchbay.InputPort.onMessage(InputPort.java:190)
at atg.dms.patchbay.InputDestination.onMessage(InputDestination.java:397)
at atg.dms.patchbay.InputDestinationConsumer.processMessageDelivery(InputDestinationConsumer.java:501)
at atg.dms.patchbay.InputDestinationConsumer.runXATransactions(InputDestinationConsumer.java:371)
at atg.dms.patchbay.InputDestinationConsumer.run(InputDestinationConsumer.java:245)
at java.lang.Thread.run(Thread.java:662)
10:34:32,527 INFO [ScenarioManager] DEBUG [message]: message ID:170000 failed a total of 1 times so far
10:34:32,543 ERROR [MessagingManager] An error occurred while MessageSink with nucleus name "/atg/scenario/ScenarioManager" was receiving a Message from input port "IndividualTimers": javax.jms.JMSException: CONTAINER:atg.process.ProcessException; SOURCE:java.lang.NullPointerException
10:34:32,558 INFO [ScenarioManager] DEBUG received message on port IndividualTimers message: jms-msg:ID:170000
10:34:32,558 INFO [ScenarioManager] DEBUG [message]: not processing message ID:170000 after 1 failed delivery attempts
Please help to resolve this!
Thanks!
You are getting a NullPointerException because your DefaultEmailInfo is not configured correctly.
Have a look at the chapter around Sending Targeted E-mail as well as the SendMail action in the documentation.
It is likely that you are missing one or more of the required configuration changes.

DEBUG [org.jboss.naming.Naming] Error writing response to /127.0.0.1 java.net.SocketException

After starting the run/debug configuration begins build and deploy application. All goes well. The only thing that provides continuously JBoss Log SocketException:
2012-07-16 12:43:30,424 DEBUG [org.jboss.naming.Naming] Error writing response to /127.0.0.1 java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1756) at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1257) at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1211) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1395) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1547) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:333) at org.jnp.server.Main$BootstrapRequestHandler.run(Main.java:516) at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:148) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756) at java.lang.Thread.run(Thread.java:662)
At issues.jboss.org/browse/JBAS-3417 offer a solution:
If you set server / etc / host with:
IP fqn name
where IP is in «Error writing response to / IP"
Ex:
... "Error writing response to / 10.1.0.1"
10.1.0.1 test.mydomain test
you resolve the problem
But I have something 127.0.0.1 localhost, it is already registered in the default c:\ Windows\system32\drivers\etc\hosts
In the Troubleshooting says:
You may notice something in the JBoss logs similar to the following:
2009-01-28 08:36:57,381 DEBUG
[org.jboss.naming.NamingService]
Error writing response to / 127.0.0.1 <[http://127.0.0.1]>
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0 (Native Method)
This is most likely an anomalous and benign «problem». That is, it should not affect the operation of any applications deployed to JBoss.
If this does not affect deployed application can be any way to hide it? And then the continuous output overshadows the other posts and eats memory.