Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Due to spam on this forum, all posts now need moderator approval.
Entire forum
➜ SMAUG
➜ SMAUG coding
➜ *prepares for screams* Windows.. Copyover..
|
*prepares for screams* Windows.. Copyover..
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Pages: 1
2
| Posted by
| Marowi
(65 posts) Bio
|
| Date
| Reply #15 on Mon 05 Jul 2004 02:03 AM (UTC) Amended on Mon 05 Jul 2004 02:29 AM (UTC) by Marowi
|
| Message
| I was editing my previous post as you wrote that post up. Here's what it said:
I commented out the whole timer section, just for laughs. Hotboot seems to work as well as I could expect. (It didn't work entirely, but I knew it wouldn't.. yet)
At the moment, I'm compiling to 'maketoto.exe' and copying it to 'toto$num.exe'. This works for rebooting, but now I need to incorporate it into hotbooting as well.
In hotboot.h:
#define EXE_FILE "../area/toto2"
I need to somehow make it so EXE_FILE changes to "../area/toto3" after the first execution, etc.
I was thinking of having an external int called 'maketoto' and storing it to that, but I'm still unsure how to incorporate that into EXE_FILE definition. That is, "../area/toto%d", &maketoto
I don't mind where or how this is done, just that it is. Please help.
Marowi
[edit]
I just thought of another possible problem...
It's the startup file that copies maketoto.exe to toto$num.exe - When it tries to execute that file wouldn't be there.
When I try to hotboot currently, it prints to the mud:
"You feel a great disturbance in the Force.
The Force swirls around you.
Suddenly, you remember nothing as the Force continues into the Galaxy."
In cygwin it spams it down the page until it says "Segmentation fault (core dumped)" and in the bugs.txt file we get:
[*****] BUG: Buffer overflow. Closing (Marowi).
[*****] BUG: Buffer overflow. Closing (Marowi).
(Both, for the one time)
Hrm.
Marowi | | Top |
|
| Posted by
| Greven
Canada (835 posts) Bio
|
| Date
| Reply #16 on Mon 05 Jul 2004 06:30 AM (UTC) |
| Message
| K, so just to clarify, thats alot to go through, the copyover code in itself works? If thats the case, good.
As to the other questions I have no idea, sorry. I don't think it can be done. |
Nobody ever expects the spanish inquisition!
darkwarriors.net:4848
http://darkwarriors.net | | Top |
|
| Posted by
| Marowi
(65 posts) Bio
|
| Date
| Reply #17 on Mon 05 Jul 2004 07:18 AM (UTC) Amended on Mon 05 Jul 2004 08:30 AM (UTC) by Marowi
|
| Message
| Arg, not what I was hoping to hear. Niiick?!
[edit]
Okay, now i'm fiddling. I've noticed that hotboot.dat creates but quickly deletes itself. Also, the 'hotboot' directory the instructions said to create is seemingly useless.
Basically I'm currently getting:
You feel a great disturbance in the Force.
The Force swirls around you.
Suddenly, you remember nothing as the Force continues into the Galaxy.
%%% Disconnected from server.
Has anyone any idea why the code continues to loop through the lines:
"The Force swirls around you.
Suddenly, you remember nothing as the Force continues into the Galaxy."
This seems weird because I WAS getting a message as it went through the logs. When I work out just what I did to break it again, I'll let you know.
[edit]
I worked out what it was saying.
You feel a great disturbance in the Force.Log: Hotboot initiated by Marowi.
Log: Preserving world state....
Log: Saving player files and connection states....
Log: Executing hotboot....
Log: [*****] BUG: Hotboot execution failed!!
Hotboot FAILED!
The exe file I had it pointed to wasn't there.
No progress, obviously. Please help.
Marowi
[edit]
Last edit for a while, I promise.
Even if I define EXE_FILE to a file that's definitely there, the hotboot goes into the infinite loop until it drops.
Even if I take the 'sleep 10' out of the startup file it doesn't work. I ran it through gdb and it spammed pages of:
"The Force swirls around you.
Mon Jul 5 18:28:54 2004 :: Loading player data for: Marowi (5K)
Suddenly, you remember nothing as the Force continues into the Galaxy."
I'm at a loss.
Please help. | | Top |
|
| Posted by
| Greven
Canada (835 posts) Bio
|
| Date
| Reply #18 on Mon 05 Jul 2004 03:18 PM (UTC) Amended on Mon 05 Jul 2004 03:49 PM (UTC) by Greven
|
| Message
| Well, I've asked a few others that are using this snippet, no one else has this same problem. The hotboot directory isn't useless, try this:
"hotboot debug"
and see what comes up. That is where all the mobs, objects, and other files are stored during hotboot. They are deleted upon the mud restarting, thats why it seems perpetually empty.
It sounds like that file was either written a whole lot to the copyover file, or its reading it in but not removing it. chech the file to see which it is.
Are you sure that this line:
fprintf(fp, "%s", "-1\n");
Is in do_hotboot? Cause its sounding like this condition is not being met:
if (desc == -1 || feof(fp) )
break;
You could use gdb to put a break point at that check. If your the only one on, it should happen once, then break out of the loop.
Let me know, we'll see whats going on. |
Nobody ever expects the spanish inquisition!
darkwarriors.net:4848
http://darkwarriors.net | | Top |
|
| Posted by
| Marowi
(65 posts) Bio
|
| Date
| Reply #19 on Tue 06 Jul 2004 02:42 PM (UTC) Amended on Tue 06 Jul 2004 02:45 PM (UTC) by Marowi
|
| Message
| It's there:
/* For each playing descriptor, save its state */
for( d = first_descriptor; d ; d = de_next )
{
(saving descriptor states)
}
fprintf( fp, "0 0 0 0 %d maxp maxp\n", sysdata.maxplayers );
fprintf( fp, "%s", "-1\n" );
FCLOSE( fp );
It does get to hotboot_recover because it keeps displaying 'Suddenly, you remember nothing as the Force continues into the Galaxy.', which is in the hotboot_recover section.
Use gdb to put a break point at that check. Right, okay.
I've only ever used GDB to check to see where things are crashing (target exec, run) - how do I do this break point thing...
[edit]
Just remembered, I tried hotboot debug and well.. here it is:
You feel a great disturbance in the Force.Log: Hotboot initiated by Marowi.
Log: Preserving world state....
Log: Saving player files and connection states....
Log: Hotboot debug - Aborting before execl | | Top |
|
| Posted by
| Greven
Canada (835 posts) Bio
|
| Date
| Reply #20 on Tue 06 Jul 2004 06:28 PM (UTC) |
| Message
| Heh, I meant use "hotboot debug" and take a look at the hotboot.dat file, see whats written to it.
Nick has a good tutorial on how to use gdb on these forums, check this out, it should tell you what to do:
http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=3653
Hope that helps some, if your stil having problems, I can give you step by step instructions |
Nobody ever expects the spanish inquisition!
darkwarriors.net:4848
http://darkwarriors.net | | Top |
|
| Posted by
| Zeno
USA (2,871 posts) Bio
|
| Date
| Reply #21 on Tue 26 Jul 2005 10:37 PM (UTC) Amended on Tue 26 Jul 2005 11:05 PM (UTC) by Zeno
|
| Message
| | Personally... I just DLed my mud (SmaugFUSS modified) to my computer (WinXP), ran Cygwin to test a bug, did a hotboot without thinking... Thought "Oh damn, can't hotboot" in the middle. And then the hotboot went through. No issues... So I guess I can't say "Windows can't hotboot" anymore. |
Zeno McDohl,
Owner of Bleached InuYasha Galaxy
http://www.biyg.org | | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
84,189 views.
This is page 2, subject is 2 pages long:
1
2
It is now over 60 days since the last post. This thread is closed.
Refresh page
top