[Bug 16666] wine segfaults on launch on OpenBSD

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Sep 10 19:28:20 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=16666





--- Comment #13 from IronForge <robertgray86 at gmail.com>  2009-09-10 19:28:19 ---
Greetings:

I am not a system programmer; but have coded at tad for school and work -
dealing mostly with packaged commercial apps.

Looking into the Dynamic Load Failure / Segfault / malloc issue, I wanted to
post a few reference material for those interested in tackling this problem.  

Correct me if I've read previous posts and the ref matl incorrectly; but from
what's "obvious to the most casual observer" (my Math Prof used to say that),
is that the Malloc Error we get when attempting to run Wine in recent versions
of OBSD is due to the fact that OBSD changed the way its malloc system function
handles memory pointer allocations back in OBSDv3.8.

Reasons given involve a few issues regarding security, efficiency, and the
enforcement of proper coding practices. 

IMHO, this bug can most likely be fixed if an OBSD Port of, or a complete
revision of WINE Source Code become compliant with Dynamic, Randomized, and
Thoroughly 'Freed' (work with me, here) Memory Management by System Calls
employed by OBSD. 

Openports.se, a repository of OBSD pkgs, has a maintainer designated for Wine;
and OBSD Collective itself has mailing lists. I've sent a msg out to the
Maintainer and the advocacy mailing list for assistance and review of WINE's
memory allocation and usage practice (not in this detail; but you'll get the
drift).  I've also argued that it's beneficial to have a current, working
version of WINE available for people curious and interested in trying OBSD. 

My first impression on the 10-yro port was not positive; and IMHO, probably
would disinterest others who may wish to try the OS outside of firewall/router
roles. With various MMORGs, graphic intensive apps, and a good number of
Desktop Office / Application Suites being tested and used on Wine, and with the
improvement of Virtualization Software, more (and that includes new) *NIX users
can forgo the need to have a Windows Box or Dual Boot - at home and at work.  

I posted a document; and will list a few URLs on OBSD Man Pages and other
malloc reference material here (attaching them one by one seems tedious).

My recommendation are to have someone from the WINE dev team:
   a) Contact Openports.se's WINE maintainer (and join their team)...
   b) Contact OBSD's camp and sign up to their misc, dev, and ports mailing
lists...
   c) Sign up with Daemonforums.org and start a thread in the OpenBSD portion
of the forum...
...to start a dialog and see if anyone's willing to take a look at your code
and help you tackle this malloc issue and others.  Maybe you may be able to
invite several of their developers to sign up here as well. 

You'll run into people who are strict in procedure; but you actually do need
people like that on your team to write good code overall.

Without further delay, here are the links:
Old Articles
-malloc article for OBSD 3.8  
http://kerneltrap.org/node/5584
-an O'Reilly interview with several OBSD gurus on the (then) "new" malloc
http://onlamp.com/pub/a/bsd/2005/10/20/openbsd_3_8.html?page=last 
-older wiki article on malloc - citing OBSD segfaults...
http://en.wikipedia.org/wiki/Malloc#OpenBSD.27s_malloc
-a detailed explanation of Address Space Layout Randomization (ASLR)
http://en.wikipedia.org/wiki/Address_space_layout_randomization


OBSD Man Pages for 
Malloc(3) Subroutine ***
http://www.openbsd.org/cgi-bin/man.cgi?query=cfree&sektion=3&apropos=0&manpath=OpenBSD+Current&arch=i386
free(3) Subroutine    *** 
http://www.openbsd.org/cgi-bin/man.cgi?query=free&apropos=0&sektion=3&manpath=OpenBSD+Current&arch=i386&format=html
mmap(2) System Call   *** 
http://www.openbsd.org/cgi-bin/man.cgi?query=mmap&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
munmap(2) System Call *** 
http://www.openbsd.org/cgi-bin/man.cgi?query=munmap&sektion=2&arch=i386&apropos=0&manpath=OpenBSD+Current
mprotect(2) System Call ***
http://www.openbsd.org/cgi-bin/man.cgi?query=mprotect&sektion=2

Hope these help.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list