Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 115376

Summary: Uncaught exception Gpointer.Null in gui mode in unison-2.9.1
Product: Gentoo Linux Reporter: James Johnson <jamesj2>
Component: New packagesAssignee: Gentoo Team for the ML programming language family <ml>
Status: RESOLVED FIXED    
Severity: normal CC: andrew.james.barr, ehmsen, ibormuth, Martin.vGagern, michal, pbienst, robert.wohlrab, weigt.mathias
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: unison.debug.log

Description James Johnson 2005-12-12 20:26:45 UTC
I've been using unison 2.9.1 for a while now.  It recently stopped working.    
When I fire it up in gui mode it allows my login via ssh to the remote box.    
Right after submitting the password I get an "Uncaught exception   
Gpointer.Null" error.  Unison runs in text mode fine.  
  
I have run revdep-rebuild.  I have re-emerged glib,ocaml,lablgtk,gtk,unison, 
and more packages with no avail.  I've even tried upgrading to the lastest 
version of unison, 2.13.6, still got the same error.  Also, I've tried logging 
in as a different user. 

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 
2.6.14-gentoo-r4 i686) 
================================================================= 
System uname: 2.6.14-gentoo-r4 i686 AMD Athlon(tm) 64 Processor 3200+ 
Gentoo Base System version 1.6.13 
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) 
[disabled] 
dev-lang/python:     2.3.5-r2, 2.4.2 
sys-apps/sandbox:    1.2.12 
sys-devel/autoconf:  2.13, 2.59-r6 
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 
sys-devel/binutils:  2.16.1 
sys-devel/libtool:   1.5.20 
virtual/os-headers:  2.6.11-r2 
ACCEPT_KEYWORDS="x86" 
AUTOCLEAN="yes" 
CBUILD="i686-pc-linux-gnu" 
CFLAGS="-Os -march=athlon-xp -msse2 -pipe" 
CHOST="i686-pc-linux-gnu" 
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
CXXFLAGS="-Os -march=athlon-xp -msse2 -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoconfig distlocks sandbox sfperms strict" 
GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo 
ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://gentoo.ccccom.com" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://192.168.1.10/gentoo-portage" 
USE="x86 3dnow X Xaw3d a52 acpi acpi4linux aim alsa amd apache2 apm arts 
artswrappersuid asf audiofile avi bash-completion berkdb bidi bitmap-fonts 
bluetooth bootsplash browserplugin bzip2 bzlib cdda cddb cdinstall cdparanoia 
cdr chroot clamav clearpasswd codecs commercial crypt cups curl dbus dga 
divx4linux dlloader dnd dts dv dvb dvd dvdr edl eds effects emboss encode esd 
evo examples exif expat fam fame fbcon fdftk ffmpeg firefox flac flash 
font-server foomaticdb fortran freetds freetype gcj gd gdbm gif gimp gimpprint 
glut gmail gmp gnome gphoto2 gpm gstreamer gtk gtk2 hal httd id3 idn ieee1394 
imagemagick imap imlib inkjar innodb ipv6 irda irmc ithreads jabber jack java 
javascript jikes joystick jpeg jpeg2k junit kde kdeenablefinal kdepim kerberos 
kqemu krb4 lame lcms ldap libclamav libg++ libsamplerate libvisual libwww lirc 
live lm_sensors logitech-mouse lzo lzw mad maildir matroska mcal menubar mhash 
mikmod ming mjpeg mmx mng mod_php monkey motif mozdevelop mozilla mozsvg 
mozxmlterm mp3 mp4live mpeg mpeg2 mplayer mpm-prefork msn musicbrainz mysql 
mythtv nas ncurses network nls no-htdocs nodrm nptl nptlonly nsplugin nvidia 
oav ofx ofxplugin ogg oggvorbis openal openexr opengl opie oss pam pcre pda 
pdflib pear-db perl php pic player plugin png ppds python qt quicktime 
rdesktop readline real recode rrdtool rtc ruby samba sasl scanner sdl sed 
sensord sms sndfile spell sql sqlite sse sse2 ssl stream streamzap subversion 
svg symlink sysfs tcltk tcpd theora threads tidy tiff transcode truetype 
truetype-fonts type1-fonts udev usb v4l v4l2 vcd virus-scan visualization 
vorbis wddx wifi win32codecs wmf wsconvert wxwindows x264 xgetdefault xine 
xinerama xml xml2 xmms xosd xpm xprint xrandr xscreensaver xv xvid xvmc yv12 
zeroconf zlib zvbi userland_GNU kernel_linux elibc_glibc" 
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Robert Wohlrab 2006-01-01 07:52:15 UTC
Have you installed xorg-x11 6.9 or 7.0? I dont know if it is directly related, but when I installed xorg-x11 7.0rcX (?) unison stopped to work. Maybe it was something different, but since it works fine in non gui mode, it looks a little bit like that.

PS: I tested unison 2.17.1 and it is the same.
Comment 2 James Johnson 2006-01-01 09:08:58 UTC
You may have something there.  I'm running xorg-x11 7.0 and it was working with the some of the earlier 6.9 releases.
Comment 3 James Johnson 2006-01-02 16:54:00 UTC
I don't know if this helps but Unison's gui does partially work.  I usually call unison with "unison $HOST" preventing the initial dialog for the profile selection.  The "Uncaught exception Gpointer.Null" error shows up when it starts determining the changes.  If I call unison without specifying the host the gui comes up and allows me to select the profile and enter my password.  Right after that is when the error shows up.
Comment 4 Robert Wohlrab 2006-01-08 12:35:08 UTC
Created attachment 76548 [details]
unison.debug.log

Extended log (not very useful)
Comment 5 Robert Wohlrab 2006-01-08 13:19:09 UTC
Backtrace until the function exn2string in uicommon.ml (which creates the window, but not the exception) ps: i dont have a complete ocaml debug environment here and dont understand ocaml:

Breakpoint : 4
254   | other -> <|b|>Printf.sprintf "Uncaught exception %s" (Printexc.to_string other)
(ocd) bt
#0  Pc : 870092  Uicommon char 10245
#1  Pc : 929804  Uigtk2 char 87203
#2  Pc : 891612  Main char 8070
(Encountered a function with no debugging information)
Comment 6 Robert Wohlrab 2006-01-08 14:06:35 UTC
Forgor to say, that it is unison 2.17.1 and

Uigtk2 char 87203 is in uigtk2.ml line 2444 in startup
"""
GMain.Main.main ()
  with
    Util.Transient(s) | Util.Fatal(s) -> fatalError s
  | exn -> fatalError (Uicommon.exn2string exn)
  end
""" (4th line)

Uicommon char 10245 is in uicommon.ml line 250 begin of exn2string
Comment 7 Carl Michal 2006-02-03 17:39:10 UTC
I have the same problem now with unison 2.12.0-r1 after upgrading to Xorg-7.0-r1

The behaviour I see is the same as described:  any initial dialogs work ok, but when the main program window opens it crashes with the Gpointer.Null error.

I also have tried to reinstall unison, ocaml, and lablgtk, but still see this error.   

The owner of this bug should mark it as a blocker for bug 112675.
Comment 8 Carl Michal 2006-02-03 22:05:31 UTC
Investigating this further, it turns out to be the same as bug 121447 and is due to missing i18n libraries in X caused, I believe by a missing configure flag in the libX11 ebuild.  It is the libraries in /usr/lib/X11/locale/lib/common that are missing.
Comment 9 Carl Michal 2006-02-07 12:14:13 UTC
I take back my last comment.  The i18n library issue appears to be unrelated.  

Comment 10 Carl Michal 2006-02-07 12:42:11 UTC
The real problem is a missing font.

Either unison should depend on:

media-font/font-schumacher-misc

or that package should get pulled in by the xorg-x11 meta-build.

Comment 11 James Johnson 2006-02-07 20:30:12 UTC
media-fonts/font-schumacher-misc seems to have fixed it for me.  I had to restart X but Unison is working again :)  Thanks!
Comment 12 Robert Wohlrab 2006-02-08 01:18:00 UTC
Nice work! It should really depend on media-fonts/font-schumacher-misc
Comment 13 Martin von Gagern 2006-03-27 07:55:18 UTC
And one more confirmation that media-fonts/font-schumacher-misc fixes the issue, this time with net-misc/unison-2.17.1 and x11-base/xorg-x11-7.0-r1.

I would make this a RDEPEND of unison in any case, to be on the safe side. Could of course ba an || dep to allow for the monolithic X builds as well.

As the modular X is now released to the general ~arch public, this bug here becomes more urgent.

I still have to figure out the reason for repeated connection loss, but I suppose this is unrelated - as long as noone else experiences the same after this fix.
Comment 14 Anthony Staines 2006-04-11 04:37:47 UTC
(In reply to comment #13)
Also solves the problem with unison 2-13.6 and xorg 7, 
but you have to restart the X server first...
Comment 15 Alexis Muller 2006-04-18 08:26:41 UTC
Yes !
media-fonts/font-schumacher-misc have fixed it for me too :)
Comment 16 Ingo Bormuth 2006-05-07 02:36:36 UTC
Same here. 

Whith more and more people migrating to modular x,
this really should go into the tree.
Comment 17 Heiko Baumann 2006-06-14 15:45:16 UTC
same problem here

xorg-x11-7.0-r1
unison-2.13.16

after emerge font-schumacher-misc-1.0.0 and xorg restart all is working fine.

regards
the2nd
Comment 18 Tobias Leupold 2006-07-02 07:46:38 UTC
Same problem and same resolution here. The unsion ebuild should _really_ be updated!
Comment 19 Joshua Baergen (RETIRED) gentoo-dev 2006-07-03 09:22:28 UTC
Is this still a problem with 2.17?
Comment 20 Donnie Berkholz (RETIRED) gentoo-dev 2006-07-03 12:46:18 UTC
I fixed up font-schumacher-misc keywords so you can safely add it as a dep.
Comment 21 ivo welch 2006-07-03 14:33:25 UTC
there is more going on here.  I get the same uncaught exception Gpointer.Null, but for me it happens right after unison starts up, and regardless of gui or nogui.  unison did use to work before I upgraded xorg x11.

 
#0  0x00002b007b654cdf in poll () from /lib/tls/libc.so.6
#1  0x00002b007b33ce3c in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#2  0x00002b007b33d20a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3  0x00002b007a3a54a5 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#4  0x0000000000533156 in ml_gtk_dialog_run ()
#5  0x000000000054eebc in caml_c_call ()
#6  0x00002b007ca1e2a8 in ?? ()
#7  0x00002b007a231fc0 in ?? ()
#8  0x0000000000000001 in ?? ()
#9  0x00000000004353b0 in camlUigtk2__fatalError_964 ()
#10 0x00002b007a230760 in ?? ()
#11 0x00002b007a230e18 in ?? ()
#12 0x0000000000000001 in ?? ()
#13 0x0000000000000001 in ?? ()
#14 0x00002b007a23fb60 in ?? ()
#15 0x00002b007a231840 in ?? ()
#16 0x00002b007ca84598 in ?? ()
#17 0x0000000000670ca0 in camlUigtk2__277 ()
#18 0x00002b007a231fc0 in ?? ()
#19 0x00002b007ca943d8 in ?? ()
#20 0x00002b007ca951a8 in ?? ()
#21 0x000000000044306c in camlMain__Body_175 ()
#22 0x000000000066d780 in camlUigtk2 ()
#23 0x00002b007a226c68 in ?? ()
#24 0x00002b007a227058 in ?? ()
#25 0x0000000000427ae0 in camlLinkgtk2__entry ()
#26 0x00002b007a214a40 in ?? ()
#27 0x0000000000424058 in caml_startup__code_begin ()
#28 0x0000000000000001 in ?? ()
#29 0x000000000054ef12 in caml_start_program ()
#30 0x0000000000000000 in ?? ()


Portage 2.1-r1 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17 x86_64)
=================================================================
System uname: 2.6.17 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.6.15
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LC_ALL="POSIX"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa amd64 apache atlas avi berkdb bitmap-fonts blas bzip2 bzlib cdr cli crypt cups curl dlloader dri dvd dvdr eds emboss encode f77 fbcon foomaticdb fortran g77 gcj gif gnome gpm gstreamer gtk gtk2 imlib ipv6 isdnlog java jpeg kde lzw lzw-tiff mono mp3 mpeg ncurses nls nptl nsplugin opengl pam pcre pdflib perl png pppd python qt qt3 qt4 quicktime readline reflection samba sdl session smb spell spl ssl tcpd tetex tiff truetype truetype-fonts type1-fonts usb xine xml xmms xorg xpm xprint xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY


I am thinking of rebuilding gtk+ and labgtk, perhaps to the latest (still masked for amd64) version, which also depends on a newer libc version, I believe.  opinions?

is there an easy way to debug ocaml apps, so that I can report more intelligently what is happening where?

/iaw
Comment 22 ivo welch 2006-07-03 18:14:49 UTC
let me add some more info:

[1] I was wrong: this is a pure gui bug.  (I earlier thought it was in both modes, because when given a filename of a synch file, I thought it would do text mode.  It does not.)

[2] this bug persists through unison 2.19.27, which is their most recent version.  (PS: maybe this should go into the gentoo tree, too.  2.17.1 seems a bit dated.)

[3] as noted, if someone knows how to pinpoint the ocaml line that throws this exception, I would love to find out.  then again, maybe it is a gtk bug.  I confirmed that gaim works on my system, so it is not that gtk+ is entirely broken.

[4] any suggestions what other packages I might emerge (or upgrade to unstable on amd64) that could solve this?

sincerely,

/ivo welch
Comment 23 Matthieu Sozeau (RETIRED) gentoo-dev 2006-07-04 03:55:23 UTC
Okay, i added the font-schumacher dependency for modular-x users in the latest beta and stable ebuilds. I did not find the 2.19.27 version on the site so I couldn't add it though.
Sorry for the long delay.

Leaving as assigned as the fix is not quite that robust, say it if it works for you or not.
Comment 24 ivo welch 2006-07-04 12:00:13 UTC
the schumacher font may work for some people, but not for all.  on my system, it is not sufficient.

to experiment, I grabbed the latest source 2.19.27 from the unison website.  then I went to the newest gentoo version of ocaml 3.09.2.  I also recompiled lablgtk with it.  the unison source no longer compiles now:

ocamlopt -I lwt -I ubase -I +lablgtk2 -c /tmp/unison-2.19.27/src/uigtk2.ml
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1431, characters 10-17:
Warning Y: unused variable current.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1761, characters 10-11:
Warning Y: unused variable t.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1753, characters 12-14:
Warning Y: unused variable r2.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1753, characters 9-11:
Warning Y: unused variable r1.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1566, characters 6-20:
Warning Y: unused variable mergeLogoBlack.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1564, characters 6-20:
Warning Y: unused variable leftArrowBlack.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1563, characters 6-21:
Warning Y: unused variable rightArrowBlack.
File "/tmp/unison-2.19.27/src/uigtk2.ml", line 1550, characters 6-17:
Warning Y: unused variable yellowPixel.
/usr/lib64/ocaml/lablgtk2/gdk.cmx is not a compilation unit description.
make[1]: *** [uigtk2.cmx] Error 2

an unintelligent guess is that it looks like there were some coding laxities in unison, which just happened not to bite earlier...

regards,

/iaw
Comment 25 Matthieu Sozeau (RETIRED) gentoo-dev 2006-07-04 14:39:25 UTC
No ivo, the only important error is the last one:

"/usr/lib64/ocaml/lablgtk2/gdk.cmx is not a compilation unit description".

You certainly have a problem with your installation of lablgtk.
Comment 26 katerina 2006-07-19 13:35:44 UTC
A restart of xorg is not required: just type "xset fp rehash" after media-font/font-schumacher-misc is merged.
Comment 27 Jakub Moc (RETIRED) gentoo-dev 2007-07-07 15:55:27 UTC
(In reply to comment #24)
> /usr/lib64/ocaml/lablgtk2/gdk.cmx is not a compilation unit description.
> make[1]: *** [uigtk2.cmx] Error 2

Unrelated. Run /usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh

(In reply to comment #23)
> Okay, i added the font-schumacher dependency for modular-x users in the latest
> beta and stable ebuilds. I did not find the 2.19.27 version on the site so I
> couldn't add it though.

Closing FIXED, one year is gone, nothing new here. :)