Receiving new Spark message opens window but doesn't display message

I’m having a problem, and I’m not sure whether it’s related to Openfire or Spark. We’re on Openfire 4.0.3 and Spark 2.8.0. I believe the issue is Openfire related because it started last week, after I updated Openfire from 4.0.2 to 4.0.3. I updated my office from Spark 2.7.7 to 2.8.0 this week hoping it would solve the problem, but it has not.

The issue is that sometimes when a user receives a spark from someone that hasn’t sparked them yet today, the message window pops up and flashes like it should, but it only shows the conversation history, not the first spark of the day. Messages after the first one are coming through normally, and they’re being logged on the openfire server, they’re just not showing up for the message recipient.

Not all of my users are experiencing this issue, and I’ve discovered no patterns in who has the issue vs who doesn’t. I seem to be the one having this problem the most, which is lucky for testing, because I was able to uninstall Spark completely, reboot my machine, reinstall Spark and verify that I am still having the problem so I don’t believe it’s related to a bad install.

If anyone has any ideas for settings to change or things to check, I’m open to all ideas. I’m also happy to tell you more about my setup if you need more info. Thanks!

I think i saw something similar a few times, but not sure if that was after the 4.0.3 update (i’m using latest 2.8.0 builds for some time already). A few times i have noticed a few messages coming to me as an offline message when i turned Spark on later, though it looked like an earlier message. And once i haven’t received a message. Are you sure this is the same with Spark 2.7.7 and started only with 4.0.3 update?

Btw, anything in the logs? Spark’s C:\Users\User\AppData\Roaming\Spark\logs and Openfire’s?

So far i can only confirm that the only same issue (message sent to me, but i haven’t seen it, although i didn’t get the opened empty window either, i think) happened to me after the 4.0.3 upgrade and on Spark 2.8.0. So far no other reports from the users (they are on 2.7.7). I can’t reproduce it. If you can reproduce it regularly, can you log out, go to Advanced settings on the login window, enabled Debugger and then login and run it this way. So when the issue occurs, you can check the Raw Received Packets tab and see if the message is actually coming to your Spark and is just not shown in the window for some reason.

Yes, I’m sure that this is the same with Spark 2.7.7 and I only had it reported to me after the 4.0.3 update. I enabled the debugger so hopefully that will give me some good information. I’ll post back once I have some data from that. The only error being logged is being logged every time I log in to spark:

SEVERE: Profile contains wrong format: “gretchen” located at: C:\Users\gretchen\AppData\Roaming\Spark\user\gretchen

It has apparently been being logged for months though so I think it’s not likely to be related.

Ok, here’s what I’ve got. I had this happen again this morning while I was running the debugger. Here’s the entry for the message that was sent to me that I didn’t receive:

<message to="gretchen@server/Spark 2.6.3" from="kelly@server/Spark 2.7.0" id="d6JNz-1324" type="chat">
  <thread>vdp7If</thread>
  <inactive xmlns="http://jabber.org/protocol/chatstates"/>
</message>

There are 6 similar entries in my debugger log that, according to our openfire logs, all pertain to the same single message that this user sent me and I didn’t receive (although the chat window for that user opened and started flashing). The only other odd thing I notice is the versions. It says I’m running 2.6.3 and Kelly is running 2.7.0 (I believe that those versions are the first versions that were ever installed on our machines since Windows was installed last). In reality, we’re both running 2.8.0. I’m not really sure what else to look for.

Thanks for the debug information. As for the versions, this is a resource string, which can be set in Advanced menu on the login screen. In older versions it was defaulting to Spark+version when first time launching for a user. In current versions it defaults to just Spark. Once set it never changes unless a user changes it manually. That’s why you have 2.6.3 showing.

I can’t figure out which change in 4.0.3 could have caused that (looking at the changelog). But i have filed this as https://issues.igniterealtime.org/browse/OF-1185

Would be great to somehow test this with some other client (like Pidgin, Gajim, etc.)

Thank you for the version clarification. Also, thanks for filing the issue. Since I’m being most affected by this issue (for the first time ever–this makes it so much easier to troubleshoot!), I’ll try to install another client today and I’ll let you know what happens.

I’ve been using pidgin all day and I’ve received every message sent to me. So maybe this is actually a Spark issue? Or at least an issue related to how Openfire and Spark interact. That makes sense to me considering the fact that the Spark debugger knew it received the message, Spark just somehow wasn’t able to display it.

Ok, i have moved the ticket and this discussion to Spark sections https://issues.igniterealtime.org/browse/SPARK-1794

You debug example doesn’t have a body part of the message. Looks strange. Like it is just a chatstate update (typing, etc.).

I have the same issue with 4.0.3 / 2.8 - I can see the message in the debug window but not on spark’s chat window. Further chats within the same session are normal. This does not happens every time.

The message that you provided is not an actual chat message, it is bit of metadata, that’s used to signal the current state of the peer user (it is used to display messages like “user is typing…”, things like that).

Can you, with certainty, tell if the other user was sending you an actual message (as in, composed text)? If there’s a bug in Spark where it would pop up a new chat window when it receives a chat state change, it would look as if you missed a message - perhaps that message was not sent in the first place?

Guus,

In my environment (4.0.3 / 2.8 both on Ubnutu) I can see the message in the logs but the chat window in spark shows nothing. So, essentially, I miss the first message.

Yes, there was definitely a message sent, it just didn’t show up in my spark. The message was logged in openfire.

Ok, that’s clear. And by “logged in Openfire”, you mean what exactly? Where do you find the message ‘in Openfire’?

Also: using the Spark/Smack debug window, do you see the (text) message at all (even if it does not appear in a chat window, I wonder if the data arrives at your computer)?

If I search the openfire archives, it finds the message that was sent to me that I didn’t receive.

I received 6 notifications identical to the one I put in my earlier response for the message that opened my chat window and made it flash but that never showed up. I’m not sure where in the debug window you want me to look. I’ve been working in Pidgin for the last few days and have received every message sent to me. I’ll switch back to Spark and see what kind of debug logs I can generate.

As i’ve said it should be in Raw Packets Received. But there should be actual message text in the packets. If it is not there, then the message is not actually received by Spark.

Ok, I’m back on Spark and I’ll post back once it happens again.

To start the debugger, select “advanced” on the login screen (where you fill out your username/password), then make sure that “start debugger on startup” is checked. It will give you a new screen with lots of debugging information after you log in.

You’ve already mentioned that the message shows up in the message archive on the Openfire side, but it’s unclear to me if you looked at the Openfire log files. Perhaps a warning or error is logged there, that indicates why a packet is not processed properly.

The easiest way to look at the Openfire logs is by looking at the file “all.log” in the directory “logs” of the installation folder of Openfire. You can also view the logs via the Openfire admin console, but for a reason that I never quite understood, the log files there is separated in four distinct tabs (each for a different severity).