Code commits
Smack (master)
-
Florian Schmaus <flo@geekplace.eu> 7723230589017f15030f56c5b1092024c2dbbb3a
Merge pull request #304 from vanitasvitae/mr_template
Add Github Pull Request Template -
Florian Schmaus <flo@geekplace.eu> a9b88d7517e3bf20968b743949ace007f585a6a8
Show all exceptions ErrorsWhileSendingOrReceivingException message
-
Florian Schmaus <flo@geekplace.eu> 1dd68336ebcc34569c0882e8508e97f2654db373
Merge pull request #305 from mwild1/patch-1
Minor fix to integrationtest.md formatting -
Paul Schaub <vanitasvitae@fsfe.org> 3521346c906691d782cffb4abce7d7c3e28dda2c
Add Github Pull Request Template
-
Florian Schmaus <flo@geekplace.eu> 989dbb14e8746c29b9f32096ea9fc5c26eaee6cc
Merge pull request #296 from MarcelHeckel/PingManager_ConnectionOkOnAnyPacket
PingManager: con. assumed ok for any packed within the ping interval -
Matthew Wild <mwild1@gmail.com> b1cd5066f64c7c3e68320abf217939c8c7b422d1
Minor fix to integrationtest.md formatting
The preceding paragraph was being treated as part of the header. -
Florian Schmaus <flo@geekplace.eu> a61913596013fa6ad87874aa7ea80cde9aa35ea6
MoodIntegrationTest: Ensure that listener is removed
-
Florian Schmaus <flo@geekplace.eu> 03fc5eb78565901adafc7cd85967ba8e14668085
Merge branch '4.3'
-
Florian Schmaus <flo@geekplace.eu> 9246ea5dcac4549fd855f64568241930f74b01cc
LowLevelRosterIntegrationTest: Use timeout value from superclass
-
Florian Schmaus <flo@geekplace.eu> 9c4e5d0330db28920e6583f817569655b89dd696
Add Roster.createItem() and Roster.createItemAndRequestSubscription()
and deprecate createEntry().
createEntry() would also send a subscription request which may is
suprising given that you can also create an roster item without having
to send a subscription request out.
This also fixes a bug in
LowLevelRosterIntegrationTest.testPresenceEventListenersOffline()
where createEntry() was used, which would also trigger a presence
subscription request which in turn made the test fail if the
SubscribeListener of ensureSubscribedTo() was not yet set
up. So the test would fail depending on the timing.- smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java (version 9c4e5d0330db28920e6583f817569655b89dd696) (diffs)
- smack-im/src/test/java/org/jivesoftware/smack/roster/RosterTest.java (version 9c4e5d0330db28920e6583f817569655b89dd696) (diffs)
- smack-integration-test/src/main/java/org/jivesoftware/smack/roster/LowLevelRosterIntegrationTest.java (version 9c4e5d0330db28920e6583f817569655b89dd696) (diffs)
- smack-integration-test/src/main/java/org/jivesoftware/smack/roster/RosterIntegrationTest.java (version 9c4e5d0330db28920e6583f817569655b89dd696) (diffs)
-
Florian Schmaus <flo@geekplace.eu> c31e93a00ffe647367e6bf12dbea77d15ce31645
Improve IntegrationTestRosterUtil.ensureSubscribedto()
Improve the names of the arguments and variables. And ensure that all
listeners are removed at the end. -
Florian Schmaus <flo@geekplace.eu> 7059b60672628d1427776a794d396fb09b2ed42b m
Wait for reader/writer thread termination at the end of shutdown()
This synchronizes the place with what the master branch currently
does. -
Florian Schmaus <flo@geekplace.eu> 8e52e80399495e40321c3fb5a3c9835c5e5db1c7
Synchronize later in notifyConnectionError(Exception)
especially *after* the sync points have been notified so that a
potential thread currently callin gconnect()/login() throws and leaves
the synchronized section.
This commit is more or less equivalent to
3ded023629e1d90365d95e2857230a8086d4e67a of the 4.3 branch. -
Florian Schmaus <flo@geekplace.eu> 3ded023629e1d90365d95e2857230a8086d4e67a m
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) -
Florian Schmaus <flo@geekplace.eu> 29af92cbd1d691e76f5137fe2e4d7cfcf4545577 m
Smack 4.3.4-SNAPSHOT
-
Heckel <heckel@ivi.fraunhofer.de> 3d3d89612f7b4cbbe2c9f0e2eb5e60acd2bb880a m
PingManager: Assume server ping successful if stanzas where received
We assume that the connection is good even if there was no ping
result but a stanzas within the ping interval.
In some case we have produced so much load, that the ping result
was not delivered in time because so many other packets were
delivered before.