Gnucash segmentation fault - Postgresql

h0l0fernes h0l0fernes at o2.pl
Thu May 10 05:20:59 EDT 2012


 
Dear John Ralls, 
Thank you for assistance!, I managed to solve my problem, with your help and guidance, and by the way learnt a lot how the internal gnucash structure looks like/works, and how to analyze/debug problems related to such software. Thousands thanks!
Solution is as always simple ;-), improper datestyle variable for my database.

> The only documentation is the SQL wiki page [1] and the attendant ERD.
This ERD chart with short description is exactly what I was looking for!

> Those dates look seriously malformed, and the field that's causing the error is start_date in schedxactions. Try a 
> SELECT guid, start_date FROM schedxactions;
> and look through them to see if any (or all) of the date fields look bad. 

The results from above select is OK:

gnucash=# SELECT guid, start_date FROM public.schedxactions;
               guid               | start_date 
----------------------------------+------------
 d056957f75be14b065a4ccd6d95b8a32 | 23-12-2010
 2912e5e01ff3b0f9517c3aeab207f4c2 | 10-12-2010
 7c457d9f5909d2ffa6cd9e385e2562a7 | 07-11-2010
(3 rows)

>They should be of the form YYYYMMDD. 

Therefore I checked datestyle set for database:

gnucash=# show datestyle;
   DateStyle   
---------------
 Postgres, DMY
(1 row)

I modified datestyle option to YMD, as you suggested, and Gnucash stopped crashing:

gnucash=# alter database gnucash SET datestyle TO 'iso, ymd';
ALTER DATABASE
gnucash=# show datestyle;
   DateStyle   
---------------
 Postgres, DMY
(1 row)

>The proximate cause of the crash itself is obvious enough: Unchecked dereferencing of a NULL pointer. *That* I can fix.
Maybe you could use my case to implement some datestyle check into Gnucash, and notify user what is root cause of similar problems.

Kind Regards,
H.
 
> Regards,
> John Ralls
> 
> [1] http://wiki.gnucash.org/wiki/SQL
> 


More information about the gnucash-user mailing list