Okay, so I've been testing awake using GDB all day and I finally have a pretty good list of things that are causing it to crash.
For the record, I have at least one place holder character in pfiles as 0. This means that no real PC is ever president, but that's a price I have to pay since it won't run without a 0 for some reason.
Onto the list!
1. Line 2126 of PCIndex::LoadChar. This line reads GET_IDNUM(ch) = ptr->id;. I've run a test to see if ptr was NULL but it appears that some of it IS populated - at least to the point that it isn't null. However, id appears to not be set right. I imagine that this is the result of get_idx_by_name not working, but I may be wrong. That's the only thing I can guess so far.
2. You really need to fix the char code. You cannot create a new char because mysql doesn't return any numbers if no characters exist in pfiles. A default value only works if you don't set it to anything when you insert it. I'm not familiar with the MySql c wrapper, but i've done DB programming before and I can't imagine that a try-catch block would take much time to put in. Actually, I imagine mysql has a way to tell how many rows were returned. In which case, you don't even need a try-catch.
3. The Trideo code. This code requires there to be a dummy as well. It automatically assumes that there are Trideo broadcasts listed in the db and runs on that assumption, which of course causes the game to crash when there isn't at least one dummy.
4. When you do create a new char, the game doesn't crash, but it doesn't save your character either. You have 4 fields in pfiles set as not null, they are Background, Astral_LookDesc, Matrix_LookDesc, Physical_LookDesc. However, you don't supply values for them at the initial player creation. This is simply solved by adding four blanks to that line. I've already fixed that on my side.
Results of these:
1. Means that no one can load characters.
2. Means that no one can be president.
3. Means that the game crashes every 5 minutes unless there is a trideo broadcast.
4. Self Explanatory. Not really a bug.
I'd be willing to fix most of this, but I don't know your code. I've spent my day trying to poke through MySql documentation and your code to fix it, but i've since given up. While the trideo broadcast thing is merely more than an annoyance, the not being able to load characters thing is more of a bug. As well, I would rate 2 and 4 as nothing. They aren't really important since you can set a player as president outside of the game using mysql and adding the four '' takes no work at all.
As well, I wanted to add that this is an awesome code base and i'd even be willing to help fix these issues if you wanted an extra coder. Other then the 4 issues, you can create a new character and play forever with no problems once 3 is fixed. 3 is the only issue that really stops the game.
Anyways, Awesome code base, I'll keep downloading it and using it.
PS: Sorry the multiple edits. It's 1 am here.