How to ask for help, report an issue and possible solve the problem yourself - igniterealtime/Smack GitHub Wiki

Before asking for help: Try searching with a internet search engine of your choice for the issue you have. If you get an exception which you don't understand, try searching for the exception (and the exception's message).

Explain what you have tried, what you expected to happened, but what happened instead. And always include:

  • The Smack version (e.g. obtained via SmackConfiguration.getVersion())
  • The exception and the full stacktrace (if applicable). Note that some exceptions, e.g. plain SmackException or ExecutionException, wrap the causing exception. Make sure to take those into consideration.
  • An XMPP trace of the exchanged stream elements between client and server, which can be obtained by setting SmackConfiguration.DEBUG (DEBUG_ENABLED in older Smack versions) to true.
  • The relevant code parts (please do not post whole source files!)

Depend on the nature of your issue, you may also want to include a Java thread dump in your report.

Please do not provide textual information as screenshot. Note that the stacktrace and the element trace may contain sensible information that you may want to obfuscate. Especially the SASL exchange may contain sensitive information.

You may also want to take a look at

How to ask questions the smart way

and

How to Report Bugs Effectively

before writing the post which is seeking help.

Smack is open source and XMPP (RFC 6120, RFC 6121, XEPs) is an open standard. Therefore everyone is able to debug and analyze possible issues. If you are not familiar with a Java/Android debugger, then it's now the ideal time to look into that topic. Read the code and the standard, then determine good candidates for breakpoints and use the debugger to find out what's going on.

Ideally, in the end you will either know what you did wrong, or you will have found a bug in Smack which you can report, maybe even proposing a fix, in the forums.

For file transfer/bytestream related help, see https://github.com/igniterealtime/Smack/wiki/Smack-XMPP-File-Transfer