Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Strange X11 crashes on 5.0



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Aug 6, 2009, at 9:43 AM, George Harvey wrote:

Hi,

I have 5.0 running on an Ultra 5 and I'm seeing some X11 apps, eg.
sylpheed, firefox, core dump when started from a remote X server running on Mac OS X 10.5.7 (leopard). Other apps, eg. xterm, xload, Tcl/Tk, work
fine. However, the apps that crash when run from the Mac work OK when
run from X on the Sun console. I've also tried the same apps built on
other NetBSD systems (sparc & sgimips) and on those platforms they do
work when run from the Mac. So it looks like the problem is specific to
apps running on sparc64 with the display on the Mac.

The apps that crash all fail in XListInputDevices so I built a version
of libXi with debugging symbols and see the following with gdb (using
gtk-demo as an example):

Core was generated by `gtk-demo'. Program
terminated with signal 10, Bus error.

Yay, another 64bit bug. And here I thought they finally learned...

#0  0x000000004130a168 in XListInputDevices (dpy=0x45009000,
   ndevices=0xffffffffffffafac) at XListDev.c:180
180                         B->class = ButtonClass;
(gdb) bt
#0  0x000000004130a168 in XListInputDevices (dpy=0x45009000,
   ndevices=0xffffffffffffafac) at XListDev.c:180
#1  0x000000004077c4bc in gdk_device_get_state ()
  from /usr/pkg/lib/libgdk-x11-2.0.so.0
#2  0x0000000040752870 in gdk_display_open ()
  from /usr/pkg/lib/libgdk-x11-2.0.so.0
#3  0x0000000040727c44 in gdk_display_open_default_libgtk_only ()
  from /usr/pkg/lib/libgdk-x11-2.0.so.0
#4  0x0000000040ab9fa4 in gtk_init_check ()
  from /usr/pkg/lib/libgtk-x11-2.0.so.0
#5  0x0000000040ab9fdc in gtk_init ()
   from /usr/pkg/lib/libgtk-x11-2.0.so.0
#6  0x0000000000119af4 in main ()
(gdb)

At this point I'm getting out of my depth, I can't see anything wrong in XListDev but I'm not familiar with X11 internals so I don't know what I
should be looking for. Any suggestions?

The most common cause for SIGBUS on sparc64 is an unaligned access. Happens when someone passes an int * as a long * and that int happens to be on the odd end of a 64bit word. On other 64bit architectures you'd only get memory corruption out of it so it would probably crash later for no obvious reason.

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBSnsOmcpnzkX8Yg2nAQLzhwf/a5lVPeQEVjSiLpZMDhe2UYktsdIMd7po
5w8lkrEIJ1scp7PNso8OxJ/OwSxM0Uzh612Jx53A7Wfcc64Y1EyyeHJ9o8nCTCxY
HvbN7sfe0JOhEhdib57jKnRXgjxIp4d2ZBnYg7sEvPv0wm44ASOI83L/hp+4SRtK
iMVmk+ZPf0bQ+QUJ0nrxRL+HIkGelWzDy8E9NSeMOj2o6S/NsYSMU/yj+C19pPsk
luKfe3pAmKhN7rmRFC2Kf2Teur9wBEskkK97w2//ccqCge+pEFRSLy4qDQwzrDZd
CYzIKiOsYDNqwArgQNr+3nm5f+eKi9V2nXATU3KSpy749CKhYK2QKA==
=2M5D
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index