[bug] Doesn't receive PEP change notifications

To reproduce:

  • Subscribe Alice and Bob together. Be sure they ask for PEP node notifications in their disco infos. As for example:

  • Alice publies something to the PEP node:

  • Bob doesn’t receive the change notification messages (but can manually query the node)

I’m using Openfire 3.5.2

Hey cassidy, I’m the author of PEP in Openfire.

I attempted to reproduce the issue but could not. (See the attached packet-flow log)

Could you give me a bit more information so I have a better chance to reproduce this behavior?

What client were you using, and what is the version of that client?

Is the client sending any special entity capabilities I should know about?

Regards,

Armando
pep_publish.log (2181 Bytes)

Humm that’s weird. I didn’t manually create the node and so rely on PEP automatic creation. According to XEP-0163, the node should be in access model “presence”.

See http://people.collabora.co.uk/~cassidy/logs/openfire-pep/ for full logs with OpenFire and Ejabberd. You should only be interested by the end of the log of the first user when he publishes information to his current-activity node.

In the ejabberd case, the second user receives notification but not with OpenFire.

My XMPP client is telepathy-gabble. As I’m the one who implemented pubsub support, I’m open to any comment

Hi Armando,

I can confirm there’s a bug with PEP. It seems related to the combination of PEP node creation and auto-subscription.

If a user deletes her PEP node and then publishes a PEP message, her contacts have to explicitely subscribe to the new PEP node (and the user has to allow subscriptions also, though I don’t remember exactly).

Hey Guillaume and Kael,

After checking Guillaume’s logs out, I noticed the behavior he was reporting. However, I spent quite a bit of time (4+ hours!) trying to reproduce the bug based on the information both of you have given me so far, yet I still could not reproduce the issue.

That is to say, I do not doubt the validity of your bug report – but I would certainly like some help in pinning it down.

Is this bug easy to reproduce for you guys? Does it happen in all cases, or only some?

If either of you could give me exact steps to reproduce it, starting from a fresh install of Openfire – that would help me more in resolving the issue. (eg. I would like to know the very minimum interactions with the server that would reproduce the bug).

I have added what I think are your JIDs to my roster, and I invite you both to join me in a MUC room so we can smash this bug proactively. (add armando.jagucki@jivesoftware.com if you didn’t get an auth request by now).

Clearly, I care about PEP issues, haha.

Regards,

Armando

Hi Armando,

In my case, I deleted the PEP node and then started to publish PEP tunes again. The node was automatically created but my contacts wouldn’t receive PEP tunes messages anymore unless I had added them explicitely with the *“pubsub#manage-subscriptions” option.
*

I’ll try to reproduce the bug.

Cheers.

Thanks for the reply kael. I ran through the scenario you provided and did not notice anything abnormal. Please check the packet flows from my local server below. My server’s domain is called ‘chassit.’

Here were the preconditions that existed before the XML traffic that follows:

  1. Created romeo@chassit (his XML traffic will be blue)
  2. Created juliet@chassit (her XML traffic will be red)

Neither romeo nor juliet has published any PEP node at all in their entire histories yet.

  1. romeo@chassit added juliet@chassit to his roster
  2. juliet@chassit authroized romeo@chassit and added him to her roster

At this point both of our new users have subscribed to each other’s presence and thus will be notified of the other’s PEP publishes.

juliet now publishes some music to her tune PEP node (her very first publish, thus implicitly creating the node):

SEND:





Gerald Finzi
255
Music for “Love’s Labors Lost” (Suite for small orchestra)
Introduction (Allegro vigoroso)
1




Her virtual PubSub service tells her that the tune node was created:

RECV:






She is notified that her tune item was successfully published to her newly created node:

RECV:

She receives payload notification from her own PubSub service that an item was published to her tune node:

RECV:





Gerald Finzi
255
Music for “Love’s Labors Lost” (Suite for small orchestra)
Introduction (Allegro vigoroso)
1




romeo also receives notification of juliet’s publish to her tune node:

RECV:





Gerald Finzi
255
Music for “Love’s Labors Lost” (Suite for small orchestra)
Introduction (Allegro vigoroso)
1




Now juliet will delete her tune node:

SEND:




RECV:




The deletion was successful:

RECV:

Now she will again publish to the tune node, recreating it in the process:

SEND:





Wisp
255
Building Dragons
The Bard
2




RECV:






Publish was successful:

RECV:

She receives notification of the newest publish:

RECV:





Wisp
255
Building Dragons
The Bard
2




And Romeo’s XML console shows he still received notification of Juliet’s publish:

RECV:





Wisp
255
Building Dragons
The Bard
2




Is there anything that is missing here, Kael?

Regards,

Armando