Loading ...
Sorry, an error occurred while loading the content.
 

Re: gvim segfaulting on Solaris 10

Expand Messages
  • Laurent Blume
    ... 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
    Message 1 of 16 , Oct 1, 2006
      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
    • Ali Akcaagac
      Hello, For what reasons does gVIM require Bonobo on Solaris ? mfg, Ali Akcaagac
      Message 2 of 16 , Oct 1, 2006
        Hello,

        For what reasons does gVIM require Bonobo on Solaris ?

        mfg,

        Ali Akcaagac
      • Laurent Blume
        ... It s not gvim asking for it, but the JDS/GNOME libs (modified by Sun for the accessibility stuff). Laurent
        Message 3 of 16 , Oct 1, 2006
          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
        • A.J.Mechelynck
          ... 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 [...]
          Message 4 of 16 , Oct 1, 2006
            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.
          • Ali Akcaagac
            ... Actually readelf -d gvim will tell you exactly what libraries are linked against it. I seriously doubt that bonobo is required for gvim, regardless
            Message 5 of 16 , Oct 1, 2006
              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
            • A.J.Mechelynck
              ... 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
              Message 6 of 16 , Oct 1, 2006
                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:

                0x00000001 (NEEDED) Shared library: [libbonoboui-2.so.0]
                0x00000001 (NEEDED) Shared library: [libbonobo-2.so.0]
                0x00000001 (NEEDED) Shared library: [libbonobo-activation.so.4]


                Best regards,
                Tony.
              • Ali Akcaagac
                ... This line tells the linker to link only necessary libraries dynamically. Rather than linking everything. This makes files usually become smaller and
                Message 7 of 16 , Oct 1, 2006
                  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:
                  >
                  > 0x00000001 (NEEDED) Shared library: [libbonoboui-2.so.0]
                  > 0x00000001 (NEEDED) Shared library: [libbonobo-2.so.0]
                  > 0x00000001 (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
                • A.J.Mechelynck
                  ... 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
                  Message 8 of 16 , Oct 1, 2006
                    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:
                    >>
                    >> 0x00000001 (NEEDED) Shared library: [libbonoboui-2.so.0]
                    >> 0x00000001 (NEEDED) Shared library: [libbonobo-2.so.0]
                    >> 0x00000001 (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.
                  • Ali Akcaagac
                    ... No doubt, but this is not what I wrote about in my last reply. greetings, Ali Akcaagac
                    Message 9 of 16 , Oct 1, 2006
                      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
                    • Bram Moolenaar
                      ... 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
                      Message 10 of 16 , Oct 1, 2006
                        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 -- Bram@... -- 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 ///
                      • Ali Akcaagac
                        ... 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
                        Message 11 of 16 , Oct 1, 2006
                          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
                        • A.J.Mechelynck
                          Bram Moolenaar wrote: [...] ... [...] Yes, I saw that warning, and decided to try --enable-gnome-check nevertheless, just to see what these problems were. None
                          Message 12 of 16 , Oct 1, 2006
                            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.
                          • Laurent Blume
                            ... Checked that. No need anymore for it. Ir probably dated from my first builds on the Solaris 10 beta, 2 years ago. Laurent
                            Message 13 of 16 , Oct 1, 2006
                              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
                            • Bram Moolenaar
                              ... 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
                              Message 14 of 16 , Oct 2, 2006
                                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 -- Bram@... -- 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 ///
                              Your message has been successfully submitted and would be delivered to recipients shortly.