Re: gvim segfaulting on Solaris 10
Laurent Blume wrote: > I built vim 7.0.110 on Solaris 10 U1 x86, fully patched, using Sun Studio > 11 or Solaris' GCC 3.4.3. > Building went fine, however, test 16 failed (no output). What happens is > that gvim fails on startup with a segfault: > > $ gvim > GTK Accessibility Module initialized > Bonobo accessibility support initialized > Vim: Caught deadly signal SEGV > Vim: Finished. > Segmentation Fault (core dumped) > > Just running vim works: > > $ vim > > ~ VIM - Vi IMproved > ~ > ~ version 7.0.110 Smells like a problem in the GUI libraries. Or it could be a compiler optimizer bug again, try compiling without -O2. But I guess it's the libraries. Does it always print those two lines when gvim starts? I don't know what this accessibility stuff does, but it might be worth looking into whether it is related to the crash. > I built it using a very simple configuration: > > export PATH=/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin > > LDFLAGS='-L/usr/sfw/lib -R/usr/sfw/lib' \ > ./configure --prefix=/opt/vim-7.0.110 \ >--enable-multibyte Is "/usr/sfw" a standard place for something? Then perhaps configure should be adjusted to check it. > And here's the pstack of the core if it can be useful: > $ pstack core.vim.14541 > core 'core.vim.14541' of 14541: gvim > fd1b0557 kill (82ba9cc, 815c0b0, 1, 82bd2e8, 0, 0) + 7 > 081c183a mch_exit (1) + 8a > 0815c0b0 getout (1) + 210 > 08185884 preserve_exit (8, 82ba9fc, fd1afd8f, b, 0, 82baa8c) + c4 > 081bfa19 (b, 0, 82baa8c) > fd1afd8f __sighndlr (b, 0, 82baa8c, 81bf880) + f > fd1a6355 call_user_handler (b, 0, 82baa8c) + 22b > fd1a64d5 sigacthandler (b, 0, 82baa8c) + bb > --- called from signal handler with signal 11 (SIGSEGV) --- > fcfdf908 FcHideFont (83ff0e8, 8429280, 8429268, 80468e0) + d8 > fcfe0979 FcFontSetSort (83f8be0, 804695c, 1, 83f5d58, 1, 0) + 1c9 > fcfe0d1a FcFontSort (83f8be0, 83f5d58, 1, 0, 80469a8, 83f5d58) + ca > fd6e8043 pango_fc_font_map_get_patterns () + 157 > > > Any idea what's going wrong? Would it be a vim or a Solaris GNOME issue? > > Thanks in advance for any hint! I don't see a Vim function in the stack trace. It might be something in Pango. I've seen pango crash before. You would have to dig into this to find out if we can work around it. -- BEDEVERE:Why do you think she is a witch? SECOND VILLAGER: She turned me into a newt. BEDEVERE:A newt? SECOND VILLAGER: (After looking at himself for some time) I got better. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org///
Re: gvim segfaulting on Solaris 10
Bram Moolenaar a écrit : > Smells like a problem in the GUI libraries. Or it could be a compiler > optimizer bug again, try compiling without -O2. But I guess it's the > libraries. Yes, you were right. After I found out that the very same binary worked on my Solaris Express install (the -dev branch of Solaris), I had a harder look at the most recently installed patches. There was one for fontconfig, and the last functions called were for fontconfig, the evidence was overwhelming, it was the culprit. Once I had it backed out, the binary worked. FWIW, tt's that one, out 3 days ago: 123495-02 X11 6.6.2_x86: fontconfig patch I'm back to -01, which works. > Does it always print those two lines when gvim starts? I don't know > what this accessibility stuff does, but it might be worth looking into > whether it is related to the crash. Yes, it's a JDS thing, it's also displayed for other GNOME apps on Solaris. > Is "/usr/sfw" a standard place for something? Then perhaps configure > should be adjusted to check it. On Solaris 10, it's where freetype and Xrender live, so it's needed at build time, IIRC, because else, some dependencies won't link correctly. Actually, I did that a while ago, and didn't try again since them, so maybe it's not needed anymore (the .pc files should provide the correct paths). If you want, I'll build again to confirm that. > I don't see a Vim function in the stack trace. It might be something in > Pango. I've seen pango crash before. You would have to dig into this > to find out if we can work around it. Definitely not a vim issue, sorry for bothering you, I'll be sure to open a case with Sun about that on Monday. Thanks for your answer! Laurent
Re: gvim segfaulting on Solaris 10
Hello, For what reasons does gVIM require Bonobo on Solaris ? mfg, Ali Akcaagac
Re: gvim segfaulting on Solaris 10
Ali Akcaagac a écrit : For what reasons does gVIM require Bonobo on Solaris ? It's not gvim asking for it, but the JDS/GNOME libs (modified by Sun for the accessibility stuff). Laurent
Re: gvim segfaulting on Solaris 10
Ali Akcaagac wrote: Hello, For what reasons does gVIM require Bonobo on Solaris ? mfg, Ali Akcaagac It's not only on Solaris. On SuSE Linux 9.3, when I build gvim for Gnome2, I get [...] -I/opt/gnome/include/libbonobo-2.0 [...] -I/opt/gnome/include/bonobo-activation-2.0 [...] on the compilation line and [...] -lbonoboui-2 [...] -lbonobo-2 [...] -lbonobo-activation [...] on the link line. I think it's GNOME stuff, seeing where the include files are located. Now gvim does not require GNOME either, it's just one of the compile-time options you can turn on. Best regards, Tony.
Re: gvim segfaulting on Solaris 10
On Sun, 2006-10-01 at 18:00 +0200, A.J.Mechelynck wrote: > It's not only on Solaris. On SuSE Linux 9.3, when I build gvim for Gnome2, I > get [...] -I/opt/gnome/include/libbonobo-2.0 [...] > -I/opt/gnome/include/bonobo-activation-2.0 [...] on the compilation line and > [...] -lbonoboui-2 [...] -lbonobo-2 [...] -lbonobo-activation [...] on the > link line. I think it's GNOME stuff, seeing where the include files are > located. Now gvim does not require GNOME either, it's just one of the > compile-time options you can turn on. Actually 'readelf -d gvim' will tell you exactly what libraries are linked against it. I seriously doubt that bonobo is required for gvim, regardless whether it's mentioned or not. This stuff usually is checked trough pkgconfig cross dependencies or through gnome-common. I think the best way linking against GNOME is by providing on the CFLAGS line. -Wl,--export-dynamic greetings, Ali Akcaagac
Re: gvim segfaulting on Solaris 10
Ali Akcaagac wrote: On Sun, 2006-10-01 at 18:00 +0200, A.J.Mechelynck wrote: It's not only on Solaris. On SuSE Linux 9.3, when I build gvim for Gnome2, I get [...] -I/opt/gnome/include/libbonobo-2.0 [...] -I/opt/gnome/include/bonobo-activation-2.0 [...] on the compilation line and [...] -lbonoboui-2 [...] -lbonobo-2 [...] -lbonobo-activation [...] on the link line. I think it's GNOME stuff, seeing where the include files are located. Now gvim does not require GNOME either, it's just one of the compile-time options you can turn on. Actually 'readelf -d gvim' will tell you exactly what libraries are linked against it. I seriously doubt that bonobo is required for gvim, regardless whether it's mentioned or not. This stuff usually is checked trough pkgconfig cross dependencies or through gnome-common. I think the best way linking against GNOME is by providing on the CFLAGS line. -Wl,--export-dynamic greetings, Ali Akcaagac Seeing that there is a configure option for GNOME (--enable-gnome-check) I tend to use that rather than a CFLAGS hack; and at the end of make, it tries to remove the libs one by one, then re-links with some libraries removed. IIUC, the bonobo libs are kept in. "readelf -d `which vim` |grep bonobo" gives the following: 0x0001 (NEEDED) Shared library: [libbonoboui-2.so.0] 0x0001 (NEEDED) Shared library: [libbonobo-2.so.0] 0x0001 (NEEDED) Shared library: [libbonobo-activation.so.4] Best regards, Tony.
Re: gvim segfaulting on Solaris 10
On Sun, 2006-10-01 at 19:16 +0200, A.J.Mechelynck wrote: > > -Wl,--export-dynamic This line tells the linker to link only necessary libraries dynamically. Rather than linking everything. This makes files usually become smaller and loading up much faster. This is no "hack" it's a valid linker instruction. > Seeing that there is a configure option for GNOME (--enable-gnome-check) I > tend to use that rather than a CFLAGS hack; and at the end of make, it tries > to remove the libs one by one, then re-links with some libraries removed. > IIUC, the bonobo libs are kept in. > > "readelf -d `which vim` |grep bonobo" gives the following: > > 0x0001 (NEEDED) Shared library: [libbonoboui-2.so.0] > 0x0001 (NEEDED) Shared library: [libbonobo-2.so.0] > 0x0001 (NEEDED) Shared library: [libbonobo-activation.so.4] Interesting! After grep'ing through the VIM source I really detected Bonobo Dockitems inside it. Unfortunately that's all "soon to be" deprecated stuff and should be avoided as much as possible.. Why this ? a) BonoboUI elements are dead stuff and will be removed pretty soon. I only wish this stuff would have happened a few years earlier. b) The recommended way for GNOME and GTK+ GUI's is by using GTK+ (This is not just my idea but a regular advise because of the fact that all GUI elements for GTK+ and GNOME will move inside GTK+- means BonoboUI and hopefully GNOMEUI components are getting removed). c) It only adds a new load of complexity e.g. makes the VIM binary bulkier by depending on a lot of not necessary libraries. greetings, Ali Akcaagac
Re: gvim segfaulting on Solaris 10
Ali Akcaagac wrote: On Sun, 2006-10-01 at 19:16 +0200, A.J.Mechelynck wrote: -Wl,--export-dynamic This line tells the linker to link only necessary libraries dynamically. Rather than linking everything. This makes files usually become smaller and loading up much faster. This is no "hack" it's a valid linker instruction. Seeing that there is a configure option for GNOME (--enable-gnome-check) I tend to use that rather than a CFLAGS hack; and at the end of make, it tries to remove the libs one by one, then re-links with some libraries removed. IIUC, the bonobo libs are kept in. "readelf -d `which vim` |grep bonobo" gives the following: 0x0001 (NEEDED) Shared library: [libbonoboui-2.so.0] 0x0001 (NEEDED) Shared library: [libbonobo-2.so.0] 0x0001 (NEEDED) Shared library: [libbonobo-activation.so.4] Interesting! After grep'ing through the VIM source I really detected Bonobo Dockitems inside it. Unfortunately that's all "soon to be" deprecated stuff and should be avoided as much as possible.. Why this ? a) BonoboUI elements are dead stuff and will be removed pretty soon. I only wish this stuff would have happened a few years earlier. b) The recommended way for GNOME and GTK+ GUI's is by using GTK+ (This is not just my idea but a regular advise because of the fact that all GUI elements for GTK+ and GNOME will move inside GTK+- means BonoboUI and hopefully GNOMEUI components are getting removed). c) It only adds a new load of complexity e.g. makes the VIM binary bulkier by depending on a lot of not necessary libraries. greetings, Ali Akcaagac You can compile Vim with GTK+1 or GTK+2 without GNOME. Adding GNOME functionality means, among other things maybe, that gvim will automagically and transparently save its session (with a pseudorandom name like ~/.gnome2/vim-WSj1NP-session.vim so it doesn't collide with your own sessions if any) when you close the GNOME or kde window manager. Best regards, Tony.
Re: gvim segfaulting on Solaris 10
On Sun, 2006-10-01 at 20:59 +0200, A.J.Mechelynck wrote: > You can compile Vim with GTK+1 or GTK+2 without GNOME. Adding GNOME > functionality means, among other things maybe, that gvim will automagically > and transparently save its session (with a pseudorandom name like > ~/.gnome2/vim-WSj1NP-session.vim so it doesn't collide with your own sessions > if any) when you close the GNOME or kde window manager. No doubt, but this is not what I wrote about in my last reply. greetings, Ali Akcaagac
Re: gvim segfaulting on Solaris 10
Ali Akcaagac wrote: > After grep'ing through the VIM source I really detected Bonobo Dockitems > inside it. Unfortunately that's all "soon to be" deprecated stuff and > should be avoided as much as possible.. > > Why this ? > > a) BonoboUI elements are dead stuff and will be removed pretty soon. >I only wish this stuff would have happened a few years earlier. > b) The recommended way for GNOME and GTK+ GUI's is by using GTK+ (This >is not just my idea but a regular advise because of the fact that all >GUI elements for GTK+ and GNOME will move inside GTK+- means >BonoboUI and hopefully GNOMEUI components are getting removed). > c) It only adds a new load of complexity e.g. makes the VIM binary >bulkier by depending on a lot of not necessary libraries. The bonobo stuff is only used when compiling for GTK 2 with Gnome support. I generally discourage compiling with Gnome, it has its problems. This is mentioned in the Makefile. If you compile without Gnome, which is the default, no bonobo stuff is used by Vim. If a bonobo library is still linked in then it's because of a dependency. -- Scientists decoded the first message from an alien civilization: SIMPLY SEND 6 TIMES 10 TO THE 50 ATOMS OF HYDROGEN TO THE STAR SYSTEM AT THE TOP OF THE LIST, CROSS OFF THAT STAR SYSTEM, THEN PUT YOUR STAR SYSTEM AT THE BOTTOM OF THE LIST AND SEND IT TO 100 OTHER STAR SYSTEMS. WITHIN ONE TENTH GALACTIC ROTATION YOU WILL RECEIVE ENOUGH HYDROGREN TO POWER YOUR CIVILIZATION UNTIL ENTROPY REACHES ITS MAXIMUM! IT REALLY WORKS! /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org///
Re: gvim segfaulting on Solaris 10
On Sun, 2006-10-01 at 23:13 +0200, Bram Moolenaar wrote: > The bonobo stuff is only used when compiling for GTK 2 with Gnome > support. I generally discourage compiling with Gnome, it has its > problems. This is mentioned in the Makefile. > > If you compile without Gnome, which is the default, no bonobo stuff is > used by Vim. If a bonobo library is still linked in then it's because > of a dependency. I do understand this. But what I tried explaining was that BonoboUI is deprecated. That means it's dead stuff from within GNOME which should not be used anymore (from what the developers say). So basicly there is no need for extra GNOME GUI components anymore since the encouraged and recommended way to do GNOME GUI is by using GTK+ GUI (from what the developers say). The only interesting part therefore remains is the session management. greetings, Ali Akcaagac
Re: gvim segfaulting on Solaris 10
Bram Moolenaar wrote: [...] The bonobo stuff is only used when compiling for GTK 2 with Gnome support. I generally discourage compiling with Gnome, it has its problems. This is mentioned in the Makefile. [...] Yes, I saw that warning, and decided to try --enable-gnome-check nevertheless, just to see what these problems were. None of them has bitten me yet. Best regards, Tony.
Re: gvim segfaulting on Solaris 10
Bram Moolenaar wrote: > Is "/usr/sfw" a standard place for something? Then perhaps configure > should be adjusted to check it. Checked that. No need anymore for it. Ir probably dated from my first builds on the Solaris 10 beta, 2 years ago. Laurent
Re: gvim segfaulting on Solaris 10
Ali Akcaagac wrote: > On Sun, 2006-10-01 at 23:13 +0200, Bram Moolenaar wrote: > > The bonobo stuff is only used when compiling for GTK 2 with Gnome > > support. I generally discourage compiling with Gnome, it has its > > problems. This is mentioned in the Makefile. > > > > If you compile without Gnome, which is the default, no bonobo stuff is > > used by Vim. If a bonobo library is still linked in then it's because > > of a dependency. > > I do understand this. But what I tried explaining was that BonoboUI is > deprecated. That means it's dead stuff from within GNOME which should > not be used anymore (from what the developers say). So basicly there is > no need for extra GNOME GUI components anymore since the encouraged and > recommended way to do GNOME GUI is by using GTK+ GUI (from what the > developers say). The only interesting part therefore remains is the > session management. Perhaps someone who knows the details about Gnome can make the changes, test it and send us a patch? Obviously I don't have time to learn the "proper use" of Gnome libraries. -- The acknowledged parents of reengineering are Michael Hammer and James Champy. When I say they're the "parents" I don't mean they had sex - and I apologize for making you think about it. I mean they wrote the best-selling business book _Reengineering the Corporation_, which was published in 1993. Businesses flocked to reengineering like frat boys to a drunken cheerleader. (This analogy wasn't necessary, but I'm trying to get my mind off that Hammer and Champy thing.) (Scott Adams - The Dilbert principle) /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org///