Author Topic: Paragon Chat Bug thread  (Read 41583 times)

Katzen

  • Paragon Press Swimsuit Edition 2016
  • Underling
  • *
  • Posts: 13
  • the fattest chinchilla in Paragon
    • My blog - Some NSFW, view at own risk.
Re: Paragon Chat Bug thread
« Reply #80 on: January 26, 2016, 09:41:51 PM »
i'm having the same problem actually, (because pc obviously hates me.) so if i need to also put my .db on dropbox and do all that junk i can, i'm just never sure who's off and on sometimes so i pray for a reply before i do something stupid.
hello, you may have stumbled apon my fourm profile! i'm a roleplayer - from Freedom server - main is/was Lynx the pink kitty, 50 scrapper. was in the Bulletproof SG. (?????)? / i play champs under the global @littlemissmarsh

DB editor. somewhat good at it. pm in game for @Katzen

im ALSO @littlemissmarsh on Champions Online.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #81 on: January 27, 2016, 02:24:06 PM »
Updated to .99i this morning and suddenly my database is corrupt!

Was able to get your database file from the link you sent and reproduce the issue. I'm replying here in case others are experiencing something similar.

The problem is where I thought it was, it's running into an error in the schema upgrade process. Specifically, it's trying to migrate the contents of the "chatchannel" table to a new table with different columns, and getting a constraint violation inserting it into the new table. From looking at your database, I see that several of the tables are referring to character IDs that don't exist in the character table.

That's a situation that should be impossible, since Paragon Chat always runs with foreign key checking turned on, and only deletes characters after removing all of the associated entries from other tables (it would get a constraint violation trying to delete the character otherwise). It also does all of that inside a transaction, which SQlite guarantees will not be written to disk in a partial state if something goes wrong.

Have you been editing the database manually? That's the only thing I can think of that could cause that situation. Foreign key checking is not turned on by default by the library, so using a third-party sqlite editor tool would ignore the data integrity constraints if you don't explicitly turn it on.

If you have been editing the db, are comfortable enough with SQL, and don't mind losing your color settings for global channels, a quick fix would be to delete all the rows from the "chatchannel" table (but don't delete the table itself!).

Alternatively, you could delete just the rows from chatchannel that reference nonexistent characters. In your particular database, these would be the rows where the character column is 19, 20, 21, 27, 29, 30, 32, 33, 38, 41, 42, or 44.

Once you do that, the schema migration will be able to succeed. You'll still have some inconsistent data in there that may bite you in the future, but it should be okay for now.

I'll look into adding some kind of database repair option in future versions of Paragon Chat to look for and correct these kinds of inconsistencies. I hadn't done it so far because sqlite's constraints and its ACID transactions are a bulletproof way to make sure they don't happen to begin with.

Valtyr

  • Finder of Lost CatGrrls
  • Boss
  • ****
  • Posts: 101
  • Not From Around Here
Re: Paragon Chat Bug thread
« Reply #82 on: January 27, 2016, 04:26:14 PM »
Was able to get your database file from the link you sent and reproduce the issue. I'm replying here in case others are experiencing something similar.

Thanks for digging into this so quickly!


Have you been editing the database manually? That's the only thing I can think of that could cause that situation. Foreign key checking is not turned on by default by the library, so using a third-party sqlite editor tool would ignore the data integrity constraints if you don't explicitly turn it on.

Indeed I have. I've used it to change names, archetype and some costume spelunking.


Alternatively, you could delete just the rows from chatchannel that reference nonexistent characters. In your particular database, these would be the rows where the character column is 19, 20, 21, 27, 29, 30, 32, 33, 38, 41, 42, or 44.

Once you do that, the schema migration will be able to succeed. You'll still have some inconsistent data in there that may bite you in the future, but it should be okay for now.

This worked for me.


I'll look into adding some kind of database repair option in future versions of Paragon Chat to look for and correct these kinds of inconsistencies. I hadn't done it so far because sqlite's constraints and its ACID transactions are a bulletproof way to make sure they don't happen to begin with.

That's why this is beta. You alone couldn't possibly conceive of all the new and fascinating and mind bending ways your code wouldn't work. And that's why we're here. To help!


Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #83 on: January 27, 2016, 05:00:26 PM »
Cool, glad that cleared it up. If you're doing manual DB edits, or if someone is working on a tool to do them, it might be useful to replicate the environment that Paragon Chat uses by executing the following SQL statements:

PRAGMA foreign_keys=ON;
PRAGMA journal_mode=WAL;
PRAGMA synchronous=NORMAL;
PRAGMA wal_checkpoint(FULL);

Of those, foreign_keys is the most important. Enabling that will turn on all the integrity constraints and help by making it much harder to get the database into a state that PC could potentially choke on.

There is one other pragma that it can issue, but you probably wouldn't want to use:

Code: [Select]
#if !defined(DEBUG)
if (!shared) // allow command line override
sqlite3_exec(db, "PRAGMA locking_mode=EXCLUSIVE", NULL, NULL, NULL);
// Exclusive locking mode makes WAL journals not require the use of shared
// memory to coordinate between processes. It also improves the latency of
// commits by not having to lock the data file for each transaction.
// However, while developing, it's useful to be able to access the database
// via the sqlite3 command line tool while the program is running, so only
// enable this in release builds.
#endif

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #84 on: January 27, 2016, 05:12:04 PM »
Indeed I have. I've used it to change names, archetype and some costume spelunking.

Oh, is rename still not working on the character select screen? I had a TODO item to implement that and some other polish-related items before 1.0, but it probably got lost among everything else.

Valtyr

  • Finder of Lost CatGrrls
  • Boss
  • ****
  • Posts: 101
  • Not From Around Here
Re: Paragon Chat Bug thread
« Reply #85 on: January 28, 2016, 05:27:14 AM »
I double checked and no, it's not implemented yet.

Styrj

  • Boss
  • ****
  • Posts: 154
Re: Paragon Chat Bug thread
« Reply #86 on: January 28, 2016, 02:03:00 PM »
CW, I checked as well, and rename is not working.
If it ain't broke, don't fix it!  Infinity Server...

AbbeyRoad

  • Underling
  • *
  • Posts: 6
  • woof
Re: Paragon Chat Bug thread
« Reply #87 on: January 29, 2016, 06:50:18 PM »
Sometimes Paragon Chat crashes if you disconnect your Internet. I'm sorry I can't get more detailed than this, but I've noticed it happen more than once.

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Paragon Chat Bug thread
« Reply #88 on: January 30, 2016, 10:50:34 AM »
Sometimes Paragon Chat crashes if you disconnect your Internet. I'm sorry I can't get more detailed than this, but I've noticed it happen more than once.

Well, that's not too surprising. Sure it shouldn't just crash, but if you DC your internet, it's not going to work anyway...

Golden Aurora

  • Boss
  • ****
  • Posts: 108
Re: Paragon Chat Bug thread
« Reply #89 on: February 01, 2016, 10:14:59 PM »
I've noticed this too. If my network hiccups sometimes PC just randomly craps out.
We may need an intern to pull CW's cat5 cable out at random intervals for testing purposes.

Volunteers?

Aggelakis

  • Elite Boss
  • *****
  • Posts: 3,001
Re: Paragon Chat Bug thread
« Reply #90 on: February 02, 2016, 12:46:57 AM »
Sometimes Paragon Chat crashes if you disconnect your Internet. I'm sorry I can't get more detailed than this, but I've noticed it happen more than once.
"My program that requires the internet stops working if you disconnect the internet."

................................................
Bob Dole!! Bob Dole. Bob Dole! Bob Dole. Bob Dole. Bob Dole... Bob Dole... Bob... Dole...... Bob...


ParagonWiki
OuroPortal

Golden Aurora

  • Boss
  • ****
  • Posts: 108
Re: Paragon Chat Bug thread
« Reply #91 on: February 02, 2016, 09:58:08 PM »
It's more like my program that required the internet ungraciously closes due to an exception if anything interrupts it.
Nobody is stating that the requirement of an active internet connection is optional.

AbbeyRoad

  • Underling
  • *
  • Posts: 6
  • woof
Re: Paragon Chat Bug thread
« Reply #92 on: February 05, 2016, 04:25:05 PM »
"My program that requires the internet stops working if you disconnect the internet."

................................................

No, like, it hard crashes. The whole "Paragon Chat has stopped working" deal. It seems to happen if the internet is disconnected for more than a few minutes -- I get momentary hiccups all the time that requires me to /xmppconnect again and that doesn't affect it.

chrismoses

  • Underling
  • *
  • Posts: 3
Re: Paragon Chat Bug thread
« Reply #93 on: April 01, 2016, 11:26:19 PM »
Can anyone help me to restore zone.cfg?



As far as I can tell, the files are where they should be...



Any ideas?

Alternatively... Maybe I should just remove everything and start fresh, because now I have another problem...



That wasn't an issue at all before I just installed the QuickChat.exe a second ago, hoping that might help matters. It could have also been the general Paragon Chat update that caused the problem.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #94 on: April 02, 2016, 02:08:59 AM »


That wasn't an issue at all before I just installed the QuickChat.exe a second ago, hoping that might help matters. It could have also been the general Paragon Chat update that caused the problem.

What AV are you running? You may have to add ParagonChatClient.exe to the exceptions list to get it to work, some AVs really hate the new method of loading the client in 1.0. AVG in particular is known to be really annoying about it and not give you the chance to allow it until you manually add the path to the exclusions.

chrismoses

  • Underling
  • *
  • Posts: 3
Re: Paragon Chat Bug thread
« Reply #95 on: April 02, 2016, 05:01:33 PM »
I'm using AVG, but I think that portion of the problem has been resolved, in part by the discussion here:

http://www.cohtitan.com/forum/index.php/topic,11850.0.html

Now I'm just back to the zone.cfg issue. I have no idea what to do about that... The file is clearly there.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #96 on: April 04, 2016, 03:40:27 AM »
It's complaining that something inside of zone.cfg doesn't parse (typo or other issue). The quick fix is to just delete the file, it's not needed and the default version is recreated automatically.

Juschrin

  • Underling
  • *
  • Posts: 3
Re: Paragon Chat Bug thread
« Reply #97 on: May 18, 2016, 08:46:52 PM »
Upon traveling to several different places, but mainly happens in Steele Canyon, while flying through tunnels to zone, after entering the zone, the fly does a bit of freefall. It stutters like your falling in a really fast loop, and turning off flight to a complete landing was the only way to get rid of the stutter. After which, you can continue to fly again with no problems.

Juschrin

  • Underling
  • *
  • Posts: 3
Re: Paragon Chat Bug thread
« Reply #98 on: May 18, 2016, 10:19:41 PM »
Upon traveling to several different places, but mainly happens in Steele Canyon, while flying through tunnels to zone, after entering the zone, the fly does a bit of freefall. It stutters like your falling in a really fast loop, and turning off flight to a complete landing was the only way to get rid of the stutter. After which, you can continue to fly again with no problems.

Ok, i have attempted to catch the glitch on cam, and it doesn't seem to be there anymore. must have already been fixed since last week. my apologies. Loving the progress though.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Bug thread
« Reply #99 on: May 19, 2016, 02:46:25 AM »
That's a known issue of sorts. The issue is known, but the exact cause isn't. It happens occasionally, but not often enough to reproduce it on demand in order to trace what's happening. It's likely a timing issue that can cause a client desync every once in a while.

The workaround is easy enough, just toggle fly or use /stuck.