Author Topic: fluffos BUG  (Read 7873 times)

Offline alexamud

  • Acquaintance
  • *
  • Posts: 12
    • View Profile
Re: fluffos BUG
« Reply #15 on: July 11, 2008, 10:10:40 AM »
Have you tried turning off binaries (and recompiling, of course) and making sure your master.c and simul_efun.c load?

I don't normally use binaries, but I just turned them on and everything seems to be working just fine, even master.c and simul_efun.c

Is your valid_save_binary() in master.c existent and sensical?

Have you tried excluding master.c and simul_efun.c from being saved in the above function?  This shouldn't be necessary, but it could provide a clue as to what's wrong.

1.First run,the fluffos compiled .c to .b,and mudlib run normaly.
2.Second run,the fluffos load .b from disk,and the driver exit and output error message.
3.It's a bug.because the driver can't found correct finction entry to call when use .b image.
function find_function_by_name2 return 0.(file interpret.c)

Offline hamlet

  • Acquaintance
  • *
  • Posts: 46
    • View Profile
Re: fluffos BUG
« Reply #16 on: July 11, 2008, 12:55:31 PM »
1) Is this repeatable?  i.e., have you tried deleting everything in /binaries and trying again?

2) This isn't a Windows driver, is it?

We're very thrilled that it's a bug, but if we can't reproduce it, we probably can't fix it.

3) And again, are you sure the lib works without binaries saving?

Offline alexamud

  • Acquaintance
  • *
  • Posts: 12
    • View Profile
Re: fluffos BUG
« Reply #17 on: July 12, 2008, 01:14:08 PM »
1) Is this repeatable?  i.e., have you tried deleting everything in /binaries and trying again?
First run,I delete all .b file.

2) This isn't a Windows driver, is it?

We're very thrilled that it's a bug, but if we can't reproduce it, we probably can't fix it.
I compile fluffos under linux.
3) And again, are you sure the lib works without binaries saving?
Yes,If I disable binaries,mudlib run ok.and  I can play mud.


Offline sojan

  • Acquaintance
  • *
  • Posts: 35
    • View Profile
Re: fluffos BUG
« Reply #18 on: July 13, 2008, 03:55:52 AM »
You really need to provide an awful lot more information here. 

The binaries feature has been a part of MudOs since long before the fluffOS days and many many muds are using the feature without any of the problems you describe.  Given that this is the case it cannot be a general bug with the feature like you suggest since so far you are the only person reporting this problem.

Therefore in order for the really quite intelligent and helpful people here to help you you need to provide more information and the more detailed information the better.  As a very simple starting point what version of fluffos, what OS and what mudlib would be very useful.  Subsequent to that providing the various debugging steps you have taken to pin this down in detail would also be useful such as checking over all your permissions and your paths, disabling binaries for specific paths [like /secure] and so on and so forth - also any information from the driver.err file might be useful.

Random pointing towards code fragments are not useful without a big description of what you are doing because as previously mentioned the binaries feature is happily working for many muds - I have Discworld in front of me right now and it's working fine.

Hope this helps you get the help you desire.

J

Offline alexamud

  • Acquaintance
  • *
  • Posts: 12
    • View Profile
Re: fluffos BUG
« Reply #19 on: July 15, 2008, 06:46:02 AM »
Step 1
use fliffos 2.11

In file options.h
Line 393,
#define DEFAULT_PRAGMAS 0 => #define DEFAULT_PRAGMAS PRAGMA_SAVE_BINARY + PRAGMA_WARNINGS + PRAGMA_ERROR_CONTEXT

and change #undef BINARIES to #define BINARIES

In file binaries.c
at Line 348
I comment line 348 to 354.Line this.
    /*
    if (check_times(mtime, SIMUL_EFUN) <= 0) {
        if (comp_flag)
            debug_message("out of date (simul_efun newer).\n");
        fclose(f);
        FREE(buf);
        return OUT_OF_DATE;
    } */

In file main.c
Line 23
I change comp_flag to 1(int comp_flag = 1;)
I compile fluffos successful.

Step 2.
use ds 2.8
I make directory /secure/save/binaries
./driver mudos.cfg

Step 3
I open zmud and telnet to port 6666,I can login to mud and create my admin account.
and all compiled file have been saved to secure/save/binaries.

Step 4
I shutdown mudlib,and try start again
./driver mudos.cfg

using config file: mudos.cfg
----------------------------------------------------------------------------
DeadSoulsNew (FluffOS v2.11-ds05) starting up on Linux - Fri Jul 11 05:28:42 2008


 loading binary secure/sefun/sefun.c ... done.
 loading binary secure/daemon/master.c ... done.

Loading preloaded files ...
]Preloading: /secure/daemon/resolv... loading binary secure/daemon/resolv.c ... missing inherited prog.
 loading binary lib/std/daemon.c ... missing inherited prog.
 loading binary lib/props/clean.c ... done.
 loading binary lib/std/daemon.c ... done.
 loading binary secure/daemon/resolv.c ... done.
](0.0)
]Preloading: /daemon/intermud... loading binary daemon/intermud.c ... missing inherited prog.
 loading binary secure/lib/net/client.c ... done.
 loading binary daemon/intermud.c ... done.
 loading binary secure/room/network.c ... missing inherited prog.
 loading binary lib/std/room.c ... missing inherited prog.
.....
....
....
Got error *Bad argument 2 to member_array()
Expected: string or array Got: 0.
 when loading /secure/room/arch.
]Preloading: /secure/daemon/snoop... loading binary secure/daemon/snoop.c ... done.
](0.0)
]Preloading: /secure/daemon/log... loading binary secure/daemon/log.c ... done.
](0.0)
]Preloading: /secure/daemon/file... loading binary secure/daemon/file.c ... done.
]
Got error *Illegal attempt to access FILE_D:
0:"get_stack".OBJ(/secure/sefun/sefun)."get_stack"
1:"validate".OBJ(/secure/daemon/file)."validate"
2:"ReadDir".OBJ(/secure/daemon/file)."ReadDir"
3:"create".OBJ(/secure/daemon/file)."create"
4:"CATCH".OBJ(/secure/daemon/master)."CATCH"
5:"preload".OBJ(/secure/daemon/master)."preload" ({ OBJ(/secure/daemon/master) })
 when loading /secure/daemon/file.
]Preloading: /secure/daemon/reload... loading binary secure/daemon/reload.c ... done.
](0.0)
]Preloading: /secure/daemon/inet... loading binary secure/daemon/inet.c ... done.
](0.0)
]Preloading: /secure/daemon/imc2... loading binary secure/daemon/imc2.c ... done.
](0.0)
]Preloading: /secure/daemon/chat... loading binary secure/daemon/chat.c ... done.
](0.0)
Initializations complete.

Accepting connections on port 6666.


« Last Edit: July 15, 2008, 06:56:42 AM by alexamud »