kompozer crashes on jaunty when rolling over pop-up menus

Bug #432753 reported by Clark Dunson
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
kompozer (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: kompozer

Running on:
Description: Ubuntu 9.0.4
Release: 9.0.4

uname -r 2.6.28-15-generic

kompozer:
  Installed: 1:0.7.10-0ubuntu6
  Candidate: 1:0.7.10-0ubuntu6
  Version table:
 *** 1:0.7.10-0ubuntu6 0
        500 http://us.archive.ubuntu.com jaunty/universe Packages
        100 /var/lib/dpkg/status

I expected to be lightly pleased with kompozer, but I was in fact quite pleased, falling in love, etc..... BUT:) All of her pop-up menus cause an instantaneous crash ... (The 15-20 that I tested anyways...) with no pop-up ever showing.

Similar to #263441 kompozer crashes in intrepid when opening the recent files menu,
but all pop-up menus cause crash. A telling example is given here:

The "Format" menu has a pop-up entry "Fonts" as the first menu item. Rolling over it quickly allows one to reach the "Text Color ..." option which has no pop-up. Move the mouse too slowly though, and she crashes at the "Font" entry, or the "Size" entry, etc...

Since I just downloaded and built kompozer (sweet build BTW!) I may report back with a diagnosis, etc. (How do I trigger a debug build?) WML!!!

Revision history for this message
Clark Dunson (cdunson) wrote :

Confirmed that the kompozer I just built acts the same (crashes on pop-up)

Oh, this I love: "kompozer -g"

load and run gdb, ohhh where have I been? This is great way to debug!!

Starting program: /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/kompozer-bin
[Thread debugging using libthread_db enabled]
[New Thread 0xb7068720 (LWP 12472)]
[New Thread 0xb6c22b90 (LWP 12475)]
[New Thread 0xb58bab90 (LWP 12480)]
[New Thread 0xb50b9b90 (LWP 12481)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7068720 (LWP 12472)]
0xb5a90232 in nsMenuFrame::Notify () from /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/components/libgklayout.so
Current language: auto; currently asm
(gdb) bt

#0 0xb5a90232 in nsMenuFrame::Notify () from /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/components/libgklayout.so
#1 0xb7e457b9 in nsTimerImpl::Fire () from ../obj-kompozer/dist/bin/libxpcom.so
#2 0xb7e4593d in handleTimerEvent () from ../obj-kompozer/dist/bin/libxpcom.so
#3 0xb7e413ab in PL_HandleEvent () from ../obj-kompozer/dist/bin/libxpcom.so
#4 0xb7e41697 in PL_ProcessPendingEvents () from ../obj-kompozer/dist/bin/libxpcom.so
#5 0xb7e43557 in nsEventQueueImpl::ProcessPendingEvents () from ../obj-kompozer/dist/bin/libxpcom.so
#6 0xb6d6fea5 in event_processor_callback ()
   from /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/components/libwidget_gtk2.so
#7 0xb7641dad in ?? () from /usr/lib/libglib-2.0.so.0
#8 0xb760ab88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#9 0xb760e0eb in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb760e5ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#11 0xb7ac47d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb6d70512 in nsAppShell::Run () from /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/components/libwidget_gtk2.so
#13 0xb6e4513c in nsAppShellService::Run ()
   from /home/clark/src/kompozer-0.7.10/obj-kompozer/dist/bin/components/libnsappshell.so
#14 0x0804fc1a in xre_main ()
#15 0x0804ba43 in main ()

Revision history for this message
Clark Dunson (cdunson) wrote :

I see the history now. Prolific problem. 428191 is a dupe. Sorry. I am using the 0.7.10 binary dist of kompozer, and the one I am building is 0.7.10. I will now get 0.8 somehow and report back (hopefully shortly!)

Revision history for this message
Clark Dunson (cdunson) wrote :

Completeness.

The 0.8 tarball does not unpack into a subdirectory! Argh BEWARE!!!
Also, it doesn't not contains the full project dir either! Only the 'mozilla'
directory is supplied, meaning that the procedure for completing the build
is somewhat UGHful.

The source package from launchpad has this top-level structure:

kompozer-0.7.10/
 - debian/
 - mozilla/
 - patches/

So ....

0. Back up your existing "kompozer-0.7.10/" directory

 - Don't be silly, get a fresh one to play with!!

1. apt-get source kompozer

 - This will create the kompozer-0.7.10/ dir.

2. Download the 0.8 src dist: "kompozer-0.8a4-src.tar.bz2"

- This tarball is setup differently than the Ubunu source dist!!!

3. cp downloadDir/kompozer-0.8a4-src.tar.bz2 kompozer-0.7.10/

- Now your old kompozer dir looks like this:

 kompozer-0.7.10/
 - mozilla/
 - kompozer-0.8a4-src.tar.bz2
 - debian/
 - patches/

4. cd kompozer-0.7.10; tar xvfj kompozer-0.8a4-src.tar.bz2

 - You have just unpacked the new tarball on top of the old mozilla

5. make -f client.mk build_all

- And the build is broken :(....

checking for gtk+-2.0 >= 1.3.7... yes
checking MOZ_GTK2_CFLAGS... -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
checking MOZ_GTK2_LIBS... -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0
configure: error: --enable-application=APP is required
*** Fix above errors and then restart with "make -f client.mk build"

Argh, this is something, researching ....

Revision history for this message
Clark Dunson (cdunson) wrote :

Allrighty ...

The new source tarball does not ship with .mozconfig file! Oops!!!
Also, the problem referenced all over the web:

configure: error: --enable-application=APP is required
*** Fix above errors and then restart with "make -f client.mk build

is caused by failure to add things to the .mozconfig file. Let's
be clear: The 0.7.10 build did not apparently require the two lines
given below?

5. Manually patch .mozconfig file

Copy the .mozconfig file from your old 0.7.10 source directory. (Note:
If you followed my directions above, then you will already have the file)

For the kompozer build, you must add these lines to the .mozconfig file:

ac_add_options --enable-application=composer
ac_add_options --enable-debug

6. NOW: make -f client.mk build_all

and the build starts .... and breaks

Another problem is that cairo dependency thing, also talked about all over the
web. This following workaround will get you there: Add this line to .mozconfig

ac_add_options --enable-system-cairo

Revision history for this message
Clark Dunson (cdunson) wrote :

Got another build error, but have train to catch. More later.

Revision history for this message
Kazé (kaze) wrote :

Clark: I’m not sure to understand what you’re trying to do here.

About the bug you’ve reported: this is another duplicate of bug #263441
As mentioned on http://kompozer.net/ this is solved by KompoZer 0.8. You’ll find binaries and PPA repos here: http://kompozer.net/download.php
If you’re not happy with the way KompoZer’s source is shipped, you can apt-source it instead.

If you’re trying to build KompoZer, I’d suggest to have a look at this page first: http://kompozer.sourceforge.net/dev/
The source tarball doesn't ship *one* .mozconfig file, it ships 6 of them (see mozilla/composer/config), one of them being specific to Ubuntu…
You’ll find a quick how-to, an explanation about the *.mozconfig files and some links to a more exhaustive documentation.

-- Kazé, KompoZer lead dev and happy Ubuntu user since Dapper Drake

Revision history for this message
Clark Dunson (cdunson) wrote :

Kaze thanks for the response! I am honored. ... and I am trying to help :)

> you can apt-source it instead. <

The binaries don't support jaunty, and the current source package is 7.10 from Ubuntu. Apparently this is an upgrade that hasn't gotten pushed through yet?

Yes, I just took a fresh apt-get source and compared its fresh mozilla directory with the one that unpacks from kompozer-0.8a4-src.tar. The diff is still running, man that's a humbling TON of code changes!!! (Makes me - single developer - feel very small!)

So no, 'apt-get source kompozer' gets you 7.10, and after building as you know, all pop-ups cause crash.

The upshot is that if I want to use it (my goal) then I must build it, get it working, and share any lessons
learned. It's only fair when using free software.

> this page first: http://kompozer.sourceforge.net/dev/ <

This I had read. And you are right, similar to 263441, except that it is all pop-ups.

Thanks for the pointer to the shipped config files. When I searched for them I must have put the name ".mozconf". Ooops, there was some reading I did not do! New to mozilla build. Apologies...

I followed your build instruction faithfully, and this time Jaunty rode high!! No pop-up crashes !!! Yippeee!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.