2.2.2 Bombs unless --enable-debug is specified

Kevin Buckley kevin.m.buckley at gmail.com
Mon Jan 14 04:44:35 EST 2008


I attempted to flag my experience in another thread but my finding since
suggest that it may be worth posting them anew.

Basically I run an Linux From Scratch system that contains a hugely cut-down
underlying Gnome2 environment.



Having said that I have had no problems compiling, installing and running
GnuCash version 1.8.x and more recently 2.0.1

I then came to install 2.2.2 and found that I needed to add to my cut-down
Gnome in order to get the 2.2.2 code to compile but compile it did.

I then found that trying to load my existing GnuCash file that had been
fine when accessed by  the 2.0.1 application, the 2.2.2 app would bomb
before presenting the register.

After a lot of delving I discovered that whilst I could start up 2.2.2
by using the
--nofile flag at invoacation, the moment I tried to commit a SchedEx
2.2.2 would
bomb.

In passing, whilst running a "follow the children" strace I saw a message that
told me (rather told file channel 2) that I needed some Perl stuff.

strace -ff -o ~/strace.out ./gnucash-bin --nofile

-rw-r--r--  1 kevin  112380 Jan 13 21:40 strace.out.3993
-rw-r--r--  1 kevin  126295 Jan 13 21:41 strace.out.3995
-rw-r--r--  1 kevin     162 Jan 13 21:41 strace.out.3994
-rw-r--r--  1 kevin 1464461 Jan 13 21:41 strace.out

3993 says

write(2, "\n", 1)                       = 1
write(2, "You need to install the followin"..., 48) = 48
write(2, "  Finance::Quote\n", 17)      = 17
write(2, "  LWP\n", 6)                  = 6
write(2, "  HTML::Parser\n", 15)        = 15
write(2, "  HTML::TableExtract\n", 21)  = 21
write(2, "  Crypt::SSLeay\n", 16)       = 16
write(2, "  Date::Manip\n", 14)         = 14
write(2, "\n", 1)                       = 1
write(2, "Use your system\'s package manage"..., 51) = 51
write(2, "or run \'gnc-fq-update\' as root.\n", 32) = 32
write(1, "missing-lib\n", 12)                                  = 12

3994 just says this

cat  ~/strace.out.3994
read(14, "B", 20)                = 1
write(6, "A", 1)                        = 1
read(14, "B", 20) = 1
read(14, 0xb59e3438, 20) = ? ERESTARTSYS (To be restarted)


At this point I had assumed that even though I had compiled with

--disable-ofx --disable-mt940 --disable-aqbanking-test --disable-hbci

there was still some run-time requirement and this caused my last posting.

Because I was by now running the 2.2.2 application through GDB, I then
thought to
try using the --enable-debug configure option and found that that
compilation of the
application did not bomb out when trying to commit a SchedEx to a
brand new Gnucash
file created after invocation with --nofile.

Basically then, if I compile with --enable-debug I get a 2.2.2 GnuCash
that works in
my environment, but without it I dont.

Whilst I will admit that this might be down to my environment, I do
wonder if it is
an artefact of a hidden problem within Gnucash 2.2.2.

Any thoughts/similar experiences?


FWIW when running in the debugger, execution gets as far as the:

gnc_sx_get_variables

call, specifically having returned into from procedure just before
the call to

xaccAccountForEachTransaction(sx_template_acct, _get_vars_helper, var_hash);


gnc_sx_get_template_transaction_account (sx=0x83a1108) at
gnc-sx-instance-model.c:270
270     }
(gdb) s
gnc_sx_get_variables (sx=0x83a1108, var_hash=0x0) at gnc-sx-instance-model.c:277
277         xaccAccountForEachTransaction(sx_template_acct,
_get_vars_helper, var_hash);
(gdb) s
Warning:
Cannot insert breakpoint 0.
Error accessing memory address 0x0: Input/output error.


another debug session suggests that at that point

(gdb) set args  --nofile
(gdb) b gnc_sx_get_variables
Function "gnc_sx_get_variables" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (gnc_sx_get_variables) pending.
(gdb) r
Starting program: /usr/local/packages/gnucash-2.2.2/bin/gnucash-bin --nofile
[Thread debugging using libthread_db enabled]
[New Thread -1229785424 (LWP 4458)]
Breakpoint 2 at 0xb73ab6d2: file gnc-sx-instance-model.c, line 276.
Pending breakpoint "gnc_sx_get_variables" resolved
[New Thread -1248130128 (LWP 4464)]
[Switching to Thread -1229785424 (LWP 4458)]
Breakpoint 2, gnc_sx_get_variables (sx=0x83f61e8, var_hash=0x8487750)
at gnc-sx-instance-model.c:276
276         sx_template_acct = gnc_sx_get_template_transaction_account(sx);
(gdb) info threads
  2 Thread -1248130128 (LWP 4464)  0xffffe410 in ?? ()
* 1 Thread -1229785424 (LWP 4458)  gnc_sx_get_variables (sx=0x83f61e8,
var_hash=0x8487750) at gnc-sx-instance-model.c:276

./configure --prefix=/usr/local/packages/gnucash-2.2.2-2 --disable-ofx
--disable-mt940 --disable-aqbanking-test --disable-hbci --enable-debug

This worked ???

so try again:

./configure --prefix=/usr/local/packages/gnucash-2.2.2-3 --disable-ofx
--disable-mt940 --disable-aqbanking-test --disable-hbci

Nope ! This blows !!!


More information about the gnucash-devel mailing list