Author Topic: WIP: Fluffos 3.0 Alpha 9.0  (Read 5338 times)

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
WIP: Fluffos 3.0 Alpha 9.0
« on: September 28, 2015, 01:15:16 PM »
Hi all,

It's been a while, and now I present fluffos 3.0-alpha-9.0 to you all.

Major changes:
1. Bundle jemalloc 4.0.3 , build process will build and link to it automatically. Jemalloc will solve memory fragmentation issue.
2. Better formatted  startup logging.
3. new RC(runtime config) system that provides a default value for every option, and output overridden ones on startup.
4. Fixed '\r' translation issue introduced since 7.4
5. Deal with CRLF in both RC configs and read_file, restore_* ,  no more translation needed.

Note:
CYGWIN build is broken for now, as jemalloc is having some trouble compiling under it.

As usual, the code is avaiable at https://github.com/fluffos/fluffos , I havn't tagged a release yet due to CYGWIN issue.

Cheers.

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #1 on: September 29, 2015, 02:22:50 AM »
I also found and fixed a libtelnet bug during the process..

Offline DarKWateR

  • BFF
  • ***
  • Posts: 104
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #2 on: September 30, 2015, 11:34:47 PM »
Great!!!
I'll test later with my mudlib.

Thank you very very much!

Offline silenus

  • BFF
  • ***
  • Posts: 178
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #3 on: October 05, 2015, 09:45:09 AM »
I was trying to test the latest alpha driver under debian against the latest fluffos release but ran into a problem when it came to understanding some of the new options in the new local options. Is there still a way to make array a reserved word since ds and nightmare libs use this keyword quite a bit.

Thanks in advance

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #4 on: October 06, 2015, 12:40:18 AM »
Is there still a way to make array a reserved word since ds and nightmare libs use this keyword quite a bit.

You need to modify  https://github.com/fluffos/fluffos/blob/next-3.0/src/base/internal/options_internal.h  now to enable that.

I don't think array keyword actually give you anything, I recommend you use some global define / grep to get rid of it for the future.

Offline quixadhal

  • BFF
  • ***
  • Posts: 631
    • View Profile
    • WileyMUD
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #5 on: October 06, 2015, 11:23:29 PM »
Actually, array makes more sense for LPC than the old C pointer notation.

LPC doesn't allow you to (directly) use pointers as a variable type.  As such, using a cryptic pointer notation to mean an array only makes sense to people who first learned C or C++ programming.  If it weren't for trying to support legacy code, I'd actually get rid of the * notation and force the use of the array keyword as the ONLY way to declare an array.

Offline silenus

  • BFF
  • ***
  • Posts: 178
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #6 on: October 07, 2015, 04:42:09 PM »
I  guess the difficulty of removing either of them is that it now breaks compatibility with a number of existing mudlibs. Has the malloc memory allocator simplification happened? Can we still use multiple different mallocs or are we down to one?

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #7 on: October 08, 2015, 08:08:47 AM »
we are now down to one,  jemalloc.

Offline DarKWateR

  • BFF
  • ***
  • Posts: 104
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #8 on: October 08, 2015, 09:11:05 AM »
Hello!
Since Monday, driver 9.0 is up and works ok.

In that days, only fails one time.

I could see this trace in syslog:
Code: [Select]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd3745)[0x7fe44c731745]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(+0x35180)[0x7fe449dcc180]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd2d70)[0x7fe44c730d70]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xcfb28)[0x7fe44c72db28]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd192a)[0x7fe44c72f92a]
Oct  8 14:30:13 driver[16245]: ...bin/driver(telnet_recv+0x158)[0x7fe44c724968]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z13get_user_dataP13interactive_t+0x571)[0x7fe44c74beb1]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x179ec)[0x7fe44a9799ec]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x2164f)[0x7fe44a98364f]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(event_base_loop+0x4df)[0x7fe44a9841ff]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z7backendP10event_base+0x26e)[0x7fe44c728a9e]
Oct  8 14:30:13 driver[16245]: ...bin/driver(main+0x457)[0x7fe44c680d37]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fe449db8b45]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0x240b1)[0x7fe44c6820b1]
Oct  8 14:30:13 driver[16245]: ******** FATAL ERROR: SIGSEGV: Segmentation fault
Oct  8 14:30:13 driver[16245]: FluffOS driver attempting to exit gracefully.
Oct  8 14:30:13 driver[16245]: crash() in master called successfully.  Aborting.

I understand this info is not sufficient, but i didn't see the error until ten minutes later :(

What info do yo need if that error happen again?

Except for that crash, all is ok!

Thank you very much.

Offline silenus

  • BFF
  • ***
  • Posts: 178
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #9 on: October 08, 2015, 10:10:02 AM »
How is it possible to see what information coverity is generating for fluffos on GitHub?

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #10 on: October 09, 2015, 11:46:57 PM »
Code: [Select]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd3745)[0x7fe44c731745]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(+0x35180)[0x7fe449dcc180]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd2d70)[0x7fe44c730d70]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xcfb28)[0x7fe44c72db28]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd192a)[0x7fe44c72f92a]
Oct  8 14:30:13 driver[16245]: ...bin/driver(telnet_recv+0x158)[0x7fe44c724968]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z13get_user_dataP13interactive_t+0x571)[0x7fe44c74beb1]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x179ec)[0x7fe44a9799ec]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x2164f)[0x7fe44a98364f]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(event_base_loop+0x4df)[0x7fe44a9841ff]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z7backendP10event_base+0x26e)[0x7fe44c728a9e]
Oct  8 14:30:13 driver[16245]: ...bin/driver(main+0x457)[0x7fe44c680d37]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fe449db8b45]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0x240b1)[0x7fe44c6820b1]
Oct  8 14:30:13 driver[16245]: ******** FATAL ERROR: SIGSEGV: Segmentation fault
Oct  8 14:30:13 driver[16245]: FluffOS driver attempting to exit gracefully.
Oct  8 14:30:13 driver[16245]: crash() in master called successfully.  Aborting.

You need to post whole startup-log  , and possibly put your driver binary somewhere for me to download and analyse.

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #11 on: October 09, 2015, 11:47:25 PM »
How is it possible to see what information coverity is generating for fluffos on GitHub?

Tell me your email, and I will send you a link.

Offline silenus

  • BFF
  • ***
  • Posts: 178
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #12 on: October 10, 2015, 02:00:05 AM »
Sent you my email via pm.

Offline DarKWateR

  • BFF
  • ***
  • Posts: 104
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #13 on: October 14, 2015, 10:25:02 AM »
Code: [Select]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd3745)[0x7fe44c731745]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(+0x35180)[0x7fe449dcc180]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd2d70)[0x7fe44c730d70]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xcfb28)[0x7fe44c72db28]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd192a)[0x7fe44c72f92a]
Oct  8 14:30:13 driver[16245]: ...bin/driver(telnet_recv+0x158)[0x7fe44c724968]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z13get_user_dataP13interactive_t+0x571)[0x7fe44c74beb1]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x179ec)[0x7fe44a9799ec]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x2164f)[0x7fe44a98364f]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(event_base_loop+0x4df)[0x7fe44a9841ff]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z7backendP10event_base+0x26e)[0x7fe44c728a9e]
Oct  8 14:30:13 driver[16245]: ...bin/driver(main+0x457)[0x7fe44c680d37]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fe449db8b45]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0x240b1)[0x7fe44c6820b1]
Oct  8 14:30:13 driver[16245]: ******** FATAL ERROR: SIGSEGV: Segmentation fault
Oct  8 14:30:13 driver[16245]: FluffOS driver attempting to exit gracefully.
Oct  8 14:30:13 driver[16245]: crash() in master called successfully.  Aborting.

You need to post whole startup-log  , and possibly put your driver binary somewhere for me to download and analyse.

For now is ok, but i'm sure that will crash again.

I'm thinking about it.

The error is in:
Code: [Select]
telnet_recv(ip->telnet, reinterpret_cast<const char *>(&buf[0]), num_bytes);

Is possible that ip->telnet was incorrect or NULL for some telnet client? (i doubt it...)

I could not reproduce the error.

Startup log:
Code: [Select]
========================================================================
Boot Time: Wed Oct 14 17:23:06 2015
FluffOS Version: 3.0-alpha9.0(git-944ee22-1443467939)@ (Linux/x86-64)
Jemalloc Version: 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
Core Dump: No, Max FD: 65535
Command: ./driver ./config.rl
========================================================================
Processing config file: ./config.rl
* Config 'time to clean up' New Value: 7200
* Config 'time to reset' New Value: 1800
* Config 'time to swap' New Value: 1800
* Config 'evaluator stack size' New Value: 1000
* Config 'maximum evaluation cost' New Value: 1000000
* Config 'maximum call depth' New Value: 35
* Config 'maximum array size' New Value: 25000
* Config 'maximum mapping size' New Value: 15000
* Config 'maximum bits in a bitfield' New Value: 1200
* Config 'maximum byte transfer' New Value: 10000
* Config 'living hash table size' New Value: 100
* Config 'gametick msec' New Value: 100
* Config 'heartbeat interval msec' New Value: 2000
* Config 'sane sorting' New Value: 0
* Config 'trace' New Value: 0
* Config 'receive snoop' New Value: 0
* Config 'reverse defer' New Value: 1
* Config 'enable_commands call init' New Value: 0
* Config 'sprintf add_justified ignore ANSI colors' New Value: 0
* Config 'call_out(0) nest level' New Value: 10000
Initializing internal stuff ....
Event backend in use: epoll

Offline FallenTree

  • BFF
  • ***
  • Posts: 483
    • View Profile
Re: WIP: Fluffos 3.0 Alpha 9.0
« Reply #14 on: October 16, 2015, 10:37:38 AM »
Code: [Select]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd3745)[0x7fe44c731745]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(+0x35180)[0x7fe449dcc180]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd2d70)[0x7fe44c730d70]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xcfb28)[0x7fe44c72db28]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0xd192a)[0x7fe44c72f92a]
Oct  8 14:30:13 driver[16245]: ...bin/driver(telnet_recv+0x158)[0x7fe44c724968]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z13get_user_dataP13interactive_t+0x571)[0x7fe44c74beb1]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x179ec)[0x7fe44a9799ec]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(+0x2164f)[0x7fe44a98364f]
Oct  8 14:30:13 driver[16245]: /usr/lib/libevent-2.1.so.5(event_base_loop+0x4df)[0x7fe44a9841ff]
Oct  8 14:30:13 driver[16245]: ...bin/driver(_Z7backendP10event_base+0x26e)[0x7fe44c728a9e]
Oct  8 14:30:13 driver[16245]: ...bin/driver(main+0x457)[0x7fe44c680d37]
Oct  8 14:30:13 driver[16245]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fe449db8b45]
Oct  8 14:30:13 driver[16245]: ...bin/driver(+0x240b1)[0x7fe44c6820b1]
Oct  8 14:30:13 driver[16245]: ******** FATAL ERROR: SIGSEGV: Segmentation fault
Oct  8 14:30:13 driver[16245]: FluffOS driver attempting to exit gracefully.
Oct  8 14:30:13 driver[16245]: crash() in master called successfully.  Aborting.

You need to post whole startup-log  , and possibly put your driver binary somewhere for me to download and analyse.

For now is ok, but i'm sure that will crash again.

I'm thinking about it.

The error is in:
Code: [Select]
telnet_recv(ip->telnet, reinterpret_cast<const char *>(&buf[0]), num_bytes);

Is possible that ip->telnet was incorrect or NULL for some telnet client? (i doubt it...)

I could not reproduce the error.

Startup log:
Code: [Select]
========================================================================
Boot Time: Wed Oct 14 17:23:06 2015
FluffOS Version: 3.0-alpha9.0(git-944ee22-1443467939)@ (Linux/x86-64)
Jemalloc Version: 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
Core Dump: No, Max FD: 65535
Command: ./driver ./config.rl
========================================================================
Processing config file: ./config.rl
* Config 'time to clean up' New Value: 7200
* Config 'time to reset' New Value: 1800
* Config 'time to swap' New Value: 1800
* Config 'evaluator stack size' New Value: 1000
* Config 'maximum evaluation cost' New Value: 1000000
* Config 'maximum call depth' New Value: 35
* Config 'maximum array size' New Value: 25000
* Config 'maximum mapping size' New Value: 15000
* Config 'maximum bits in a bitfield' New Value: 1200
* Config 'maximum byte transfer' New Value: 10000
* Config 'living hash table size' New Value: 100
* Config 'gametick msec' New Value: 100
* Config 'heartbeat interval msec' New Value: 2000
* Config 'sane sorting' New Value: 0
* Config 'trace' New Value: 0
* Config 'receive snoop' New Value: 0
* Config 'reverse defer' New Value: 1
* Config 'enable_commands call init' New Value: 0
* Config 'sprintf add_justified ignore ANSI colors' New Value: 0
* Config 'call_out(0) nest level' New Value: 10000
Initializing internal stuff ....
Event backend in use: epoll

I saw exactly the same crash happened on another MUD. I sent in some fixes yesterday, can you update it and see if it happens again?