Build: #158 was successful Changes by Florian Schmaus <flo@geekplace.eu>

Stages & jobs

  1. Default Stage

  2. Deploy

Code commits

Smack (4.3)

  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 7059b60672628d1427776a794d396fb09b2ed42b

    Wait for reader/writer thread termination at the end of shutdown()
    This synchronizes the place with what the master branch currently
    does.

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 7059b60672628d1427776a794d396fb09b2ed42b)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 3ded023629e1d90365d95e2857230a8086d4e67a

    Remove 'synchronized' from notifyConnectionError()
    as it is not neccessary and causes stalls and deadlocks with a
    concurrent connect()/login() (which could be resolved interrupting the
    connect()/login() calling thread):

    "Smack Reader (0)" daemon prio=5 tid=21 Blocked
      | group="main" sCount=1 dsCount=0 obj=0x12c84670 self=0x7e072ca200
      | sysTid=14965 nice=0 cgrp=default sched=0/0 handle=0x7e06155450
      | state=S schedstat=( 63430626 3034269 21 ) utm=5 stm=0 core=2 HZ=100
      | stack=0x7e06053000-0x7e06055000 stackSize=1037KB
      | held mutexes=
      at org.jivesoftware.smack.tcp.XMPPTCPConnection.notifyConnectionError(XMPPTCPConnection.java:-1)
      - waiting to lock <0x0ec6e6bb> (a org.jivesoftware.smack.tcp.XMPPTCPConnection) held by thread 22
      at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$3900(XMPPTCPConnection.java:154)
      at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1330)
      at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$900(XMPPTCPConnection.java:1064)
      at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1081)
      at java.lang.Thread.run(Thread.java:761)

    "connect" prio=5 tid=22 Waiting
      | group="main" sCount=1 dsCount=0 obj=0x12c8e820 self=0x7e19bcd600
      | sysTid=15047 nice=0 cgrp=default sched=0/0 handle=0x7e05ee4450
      | state=S schedstat=( 14067083 7475835 14 ) utm=1 stm=0 core=0 HZ=100
      | stack=0x7e05de2000-0x7e05de4000 stackSize=1037KB
      | held mutexes=
      at java.lang.Object.wait!(Native method)
      - waiting on <0x0c058b14> (a java.lang.Object)
      at java.lang.Thread.parkFor$(Thread.java:2127)
      - locked <0x0c058b14> (a java.lang.Object)
      at sun.misc.Unsafe.park(Unsafe.java:325)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:840)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
      at java.util.concurrent.Semaphore.acquire(Semaphore.java:446)
      at org.jivesoftware.smack.tcp.XMPPTCPConnection.initConnection(XMPPTCPConnection.java:685)
      at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:942)
      at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:417)
      - locked <0x0ec6e6bb> (a org.jivesoftware.smack.tcp.XMPPTCPConnection)
      at org.yaxim.androidclient.service.SmackableImp.connectAndLogin(SmackableImp.java:717)
      - locked <0x0ec6e6bb> (a org.jivesoftware.smack.tcp.XMPPTCPConnection)
      at org.yaxim.androidclient.service.SmackableImp.doConnect(SmackableImp.java:304)
      at org.yaxim.androidclient.service.SmackableImp$5.run(SmackableImp.java:391)

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 3ded023629e1d90365d95e2857230a8086d4e67a)