Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jan 2008 21:39:21 +0100
From:      Tomasz Formanowski <mathom@pifpaf.pl>
To:        Alexander Leidinger <Alexander@leidinger.net>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re[2]: getdents()
Message-ID:  <6340678.20080126213921@pifpaf.pl>
In-Reply-To: <20080126205431.682b9401@deskjail>
References:  <1096069283.20080122130241@pifpaf.pl> <20080122151941.GA93141@freebsd.org> <157462854.20080126130147@pifpaf.pl> <20080126205431.682b9401@deskjail>

next in thread | previous in thread | raw e-mail | index | archive | help
------------331B88E2B1F8CF8
Content-Type: text/plain; charset=Windows-1250
Content-Transfer-Encoding: 8bit

Witaj Alexander,

Dnia Saturday, January 26, 2008, 8:54:31 PM, napisałeś : 

AL> Quoting Tomasz Formanowski <mathom@pifpaf.pl> (Sat, 26 Jan 2008 13:01:47 +0100):

>> RD> On Tue, Jan 22, 2008 at 01:02:41PM +0100, Tomasz Formanowski wrote:
>> >> Hi,
>> >> 
>> >> Is there any hope that this:
>> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=117010
>> >> 
>> >> will be fixed soon ?
>> >> 
>> >> Linux emulation is unusable now for newer software, like game servers
>> >> etc.
>> 
>> RD> in private mails we agreed that tomasz/his-company and me will try
>> RD> to cooperate on this on...
>> 
>> RD> hopefully this will fruit some results
>> 
>> 
>> We've looked through the code and decided to give linux a try. We've
>> been using freebsd for 5 years in production environment and it's a
>> good system. So we wont be fixing this bugs, sorry. If it were only
>> this one bug, than why not, but ...
>> 
>> There were problems with: SMP support, which we hoped would be fixed
>> in 7.x releases. And maybe it were, but linuxolator is a mess there.

AL> Uhm. It works for a lot of people and we even run the linux regression
AL> tests form the linux test project
AL> (http://wiki.freebsd.org/linux-kernel/ltp), so if you have problems it
AL> would be nice if you could provide some more info than just "a mess".
AL> Could you please give instructions how to reproduce the problems you
AL> have?

>> Bottomline is, that not only 2.6 kernel support is incomplete, there

AL> Which version did you use for compat.linux.osrelease? Anything apart
AL> from 2.4.2 and 2.6.16 is not supported ATM.

>> is also faulty 2.4 support. Apart from getdents() problems (which
>> probably is really a deeper problem - looks like programs crash not on
>> getdents() but on closedir(). just as something had freed the
>> descriptor), there seems to be a problem with fork() event in 2.4
>> kernel and fc4 libs. Programs like team speak 2 and unreal-server
>> crash when trying to fork.

AL> I remember reports from users of team speak that it works for them.
AL> What is the osrelease value for the tests you did? Which linux base did
AL> you use? Is this an install from scratch, or did you test on a system
AL> which has seen updates of the linux ports? If it is the later, are you
AL> willing to test again with a clean /compat/linux/ (no linux ports
AL> installed) and a reinstall of the linux ports? Does the system survive
AL> several buildworlds in a row (to rule out hardware problems)? Which
AL> FreeBSD version did you test?


TS2 and UT works just fine on bsd <=6.2. I'm talking about 7.x (with
default linux_base and 2.4 kernel).

There wasn't many problems with older bsd's and linuxolator 2.4.

Unfortunately some new games require either kernel 2.6 or glibc 2.6.



We've tested the following software on *bsd 7 with fc4*:
- Team Speak 2 voice server (/usr/ports/audio/teamspeak_server)
  Problem: This server dies on startup (core dump). Interestingly
  it runs fine on 7-beta3 with fc7/kernel 2.6.

- Unreal Tournament 99 server (/usr/ports/games/ut-server, we didn't
  try with ut2003, 2004 and ut3, but i'm pretty sure there will be the same
  problem there)
  Problem: The server advertises itself with game master servers.
  There usualy are 3 default master servers set up. In this configuration server
  crashes on fork (). It works fine with one master server specified.

- HLDS/SRCDS (Valve steam engine) on fc6/fc7, both 7-beta and 7-rc1
  Problem: getdents() random crashes. What's interesting, this problem
  seems to depend on files order in the directory. Try moving some
  files from http://www.freebsd.org/cgi/query-pr.cgi?pr=117010 test
  programm from and to temp directory to change files order.
  getdents() works with some files order, and doesn't work with
  default one (ie. alphabetical order). What's strange, even with core
  dump, all files are read fine. Program crashes with double free
  *after* getdents invokation, maybe on closedir. There may be
  something with frees the descriptor, maybe sth in glibc.

  Problem 2: we are also struggling with hdsl/srcds (counter-strike and
  counter-strike:source) random core dumps for some time now. This
  problem is hard to replicate and trace (we can't trace all production
  servers), and seems to be nonexistent on linux. This applies to bsd
  4.x, 5.x and 6.x.


  
I've pointed ported distros of this software to give you easier
 environment for problem reproduction.

I've attached kdumps from both with sample server.ini config for ut
(put it in System directory and run server with utcmdline.sh from
server root dir)


pozdrawiam
Tomek "Mathom" Formanowski



------------331B88E2B1F8CF8--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6340678.20080126213921>