Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Apr 2006 18:03:46 -0400
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        Pascal Hofstee <caelian@gmail.com>
Cc:        gnome@FreeBSD.org
Subject:   Re: gnome-session [mc-gnome] on amd64 problems.
Message-ID:  <444410C2.8040907@FreeBSD.org>
In-Reply-To: <d8a0b7620604171445h5d5b4b8bnfd6577dcc0cdfb12@mail.gmail.com>
References:  <d8a0b7620604171445h5d5b4b8bnfd6577dcc0cdfb12@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pascal Hofstee wrote:
> Hi,
> 
> It looks like i stumbled across some pointer-truncation in the current
> MC-gnome gnome-session port on amd64.
> I'll try to outline the problem as i understand it below .. any assistence
> here would be appreciated.
> 
> in ${WORKDIR}/gnome-session/gsm-xrandr.c there's a function called
> "gsm_set_display_properties"
> at line 134 the following call get's made:
> 
> client = gsm_get_conf_client ();
> 
> client is defined in the function definition as GConfClient *client;
> (this definition is inside an #ifdef HAVE_RANDR .. i have tried moving it
> outside the ifdef to no avail though).
> 
> I have stepped through the gsm_get_conf_client() call in a gdb session ..
> and everything seems to be alright including the function's return call. The
> function tries to return a valid 64-bit pointer.
> 
> However .. immediately after the assignment has been done. client now points
> to a (truncated) 32-bit address.
> This obviously causes a problem whenever client is used to get any gconf
> data, which in turn causes gnome-session to segfault.
> My first guess is that somehow the storagesize/datatype for GConfClient is
> being obscured causing the compiler to default it to a 32bit integer, which
> would explain the sudden pointer truncation upon assignment.
> 
> I currently do not have an actual backtrace available .. as i am not writing
> this on my FreeBSD system.
> 
> 
> If anybody has any idea why the pointer gets truncated to 32bit in this
> case, please enlighten me so i can try to test potential fixes.

Fixed.

Joe


- --
Joe Marcus Clarke
FreeBSD GNOME Team	::	gnome@FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFERBDCb2iPiv4Uz4cRAlwdAJ9KyB7/jzJ0sd0FacaTbkD98MWaIQCeOTbG
UXc0q0ARW0nEcIi2s37UaFo=
=qWVb
-----END PGP SIGNATURE-----



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