segfaults when running graphical reports

Thomas Klausner tk at giga.or.at
Sun Apr 13 08:05:30 EDT 2014


Hi Carsten!

I'm fine with trying out debugging options.
With "--debug --log gnc=debug", the log ends in:

* 14:01:37  INFO <gnc.account>         [xaccAccountGetBalanceInCurrency]  baln=0/100
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_tree_model_account_get_value()]  
* 14:01:37 DEBUG <gnc.gui>     [enter gnc-tree-model-account.c:gnc_tree_model_account_get_iter()] model 0x7f7ff1df4520, iter 0x7f7fffff9e48, path 0:3:9
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_tree_model_account_get_iter()] iter [stamp:db6580d5 data:0x7f7ff2596e40 (nfotex), 0x7f7ff2596120, 9]
* 14:01:37 DEBUG <gnc.gui>     [enter gnc-tree-model-account.c:gnc_tree_model_account_get_value()] model 0x7f7ff1df4520, iter [stamp:db6580d5 data:0x7f7ff2596e40 (nfotex), 0x7f7ff2596120, 9], col 18
* 14:01:37  INFO <gnc.account>         [xaccAccountGetBalanceInCurrency]  baln=0/100
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_tree_model_account_get_value()]  
* 14:01:37 DEBUG <gnc.html>     [enter gnc-html-webkit.c:impl_webkit_show_data()] datalen 7440, data <!DOCTYPE html PUBLI
* 14:01:37 DEBUG <gnc.html>         [impl_webkit_show_data] Loading uri 'file:////var/tmp/gnc-report-XEN7DX.html'
* 14:01:37 DEBUG <gnc.html>         [enter gnc-html-webkit.c:webkit_navigation_requested_cb()] requesting file:////var/tmp/gnc-report-XEN7DX.html
* 14:01:37 DEBUG <gnc.html>             [gnc_html_parse_url] parsing file:////var/tmp/gnc-report-XEN7DX.html, base_location (null base_location)
* 14:01:37 DEBUG <gnc.html>         [leave webkit_navigation_requested_cb()] URI type is 'file'
* 14:01:37 DEBUG <gnc.html>     [leave impl_webkit_show_data()] 
* 14:01:37 DEBUG <gnc.gui>     [enter gnc-plugin-page-report.c:gnc_plugin_page_report_load_cb()] load_cb: type=[report], location=[id=0], label=[(null)]
* 14:01:37 DEBUG <gnc.gui>         [gnc_plugin_page_report_load_cb] parsed id=0
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_plugin_page_report_load_cb()] done
* 14:01:37 DEBUG <gnc.gui> [leave gnc_plugin_page_report_create_widget()] container 0x7f7ff77fb320
* 14:01:37 DEBUG <gnc.app-utils.gsettings> [enter gnc-gsettings.c:gnc_gsettings_get_schema_ptr()] 
* 14:01:37 DEBUG <gnc.app-utils.gsettings>     [gnc_gsettings_get_schema_ptr] Looking for schema org.gnucash.general returned gsettings 0x7f7ff7b22920
* 14:01:37 DEBUG <gnc.app-utils.gsettings> [leave gnc_gsettings_get_schema_ptr()] 
* 14:01:37 DEBUG <gnc.app-utils.gsettings> [enter gnc-gsettings.c:gnc_gsettings_get_schema_ptr()] 
* 14:01:37 DEBUG <gnc.app-utils.gsettings>     [gnc_gsettings_get_schema_ptr] Looking for schema org.gnucash.general returned gsettings 0x7f7ff7b22920
* 14:01:37 DEBUG <gnc.app-utils.gsettings> [leave gnc_gsettings_get_schema_ptr()] 
* 14:01:37 DEBUG <gnc.gui> [enter gnc-main-window.c:gnc_main_window_switch_page()] Notebook 0x7f7ff731d0c0, page, 0x7f7ff77fb320, index 1, window 0x7f7ff7bcb240
* 14:01:37 DEBUG <gnc.gui>     [enter gnc-plugin.c:gnc_plugin_add_actions()] ui_merge 0x7f7ff77ea480, action_group 0x7f7ff67a5e60, filename gnc-plugin-page-report-ui.xml
* 14:01:37 DEBUG <gnc.gui>         [gnc_plugin_add_actions] merge_id is 21
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_plugin_add_actions()]  
* 14:01:37 DEBUG <gnc.gui>     [enter gnc-main-window.c:gnc_main_window_update_menu_item()] window 0x7f7ff7bcb240
* 14:01:37 DEBUG <gnc.gui>         [enter gnc-main-window.c:gnc_main_window_update_one_menu_action()] window 0x7f7ff7bcb240, action Window0Action, label _1 2014.gnucash (read-only) - Expense Over Time - GnuCash, visible 1
* 14:01:37 DEBUG <gnc.gui>         [leave gnc_main_window_update_one_menu_action()]  
* 14:01:37 DEBUG <gnc.gui>     [leave gnc_main_window_update_menu_item()]  
* 14:01:37 DEBUG <gnc.gui> [leave gnc_main_window_switch_page()]  
* 14:01:37 DEBUG <gnc.gui> [leave gnc_main_window_open_page()] 
* 14:01:37 DEBUG <gnc.gui> [enter gnc-plugin-page-report.c:gnc_plugin_page_report_expose_event_cb()] report_draw
* 14:01:37 DEBUG <gnc.gui> [leave gnc_plugin_page_report_expose_event_cb()] no reload needed

Oh, that contains the filename
"file:////var/tmp/gnc-report-XEN7DX.html" -- opening that in firefox
works.

So I can at least look at the result :)
I don't see anything obvious in the log though.
 Thomas

(Btw, it's "Thomas", not "Klaus")

On Sun, Apr 13, 2014 at 11:43:46AM +0200, Carsten Rinke wrote:
> Hi Klaus,
> 
> I know this is a bit of playing around ...
> 
> Did you try running gnucash with the "--debug --log gnc=debug" option?
> Does that reveal more info in the trace log?
> 
> Carsten
> 
> On 04/13/2014 10:45 AM, Thomas Klausner wrote:
> >Hi Carsten!
> >
> >On Sun, Apr 13, 2014 at 10:34:20AM +0200, Carsten Rinke wrote:
> >>the gnucash.trace file is created automatically and re-written at each start
> >>up.
> >>
> >>Maybe you don't see it because your crash comes before this file is filled
> >>with data.
> >>
> >>Just to double-check:
> >>If you start gnucash successfully (no crash), and close it again gracefully
> >>(no attempt of graphical report creation) the file should be there.
> >No, I don't get any gnucash* file in /tmp (or . or $HOME) even in with
> >a successful exit.
> >
> >Ok, I've ktraced the process, the file is in /var/tmp/gnucash.trace.
> >Looking at it, I see a report:
> >
> >* 10:41:43 MESSG <gnc.scm> <script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jquery.min.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jquery.jqplot.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jqplot.barRenderer.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jqplot.categoryAxisRenderer.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jqplot.highlighter.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jqplot.canvasTextRenderer.js"></script>
> ><script language="javascript" type="text/javascript" src="file:///usr/pkg/share/gnucash/jqplot/jqplot.canvasAxisTickRenderer.js"></script>
> ><link rel="stylesheet" type="text/css" href="file:///usr/pkg/share/gnucash/jqplot/jquery.jqplot.css" />
> ><div id="chart-968125" style="width:400px;height:400px;"></div>
> ><script id="source">
> >$(function () {var data = [];var series = [];
> >var d0 = [];
> >...
> >   function formatTooltip(str, seriesIndex, pointIndex) {
> >       if (options.axes.xaxis.ticks[pointIndex] !== undefined)
> >           x = options.axes.xaxis.ticks[pointIndex];
> >       else
> >           x = pointIndex;
> >       y = data[seriesIndex][pointIndex][1].toFixed(2);
> >       return options.series[seriesIndex].label + ' ' + x + '<br><b>' + y + '</b>';
> >   }
> >});
> ></script>
> >
> >Then a few lines of (with varying x/y):
> >
> >* 10:41:43  INFO <gnc.account> [xaccAccountGetBalanceInCurrency]  baln=x/y
> >
> >And then it ends.
> >  Thomas
> >
> >>Carsten
> >>
> >>On 04/13/2014 10:10 AM, Thomas Klausner wrote:
> >>>Hi Carsten!
> >>>
> >>>Thanks for your reply.
> >>>
> >>>On Sun, Apr 13, 2014 at 09:56:11AM +0200, Carsten Rinke wrote:
> >>>>two first thoughts:
> >>>>
> >>>>- is 'jqpplot' part of the package?
> >>>>The display of graphical reports has changed from gnuplot to jqplot between
> >>>>2.4 and 2.6.
> >>>>Should reside under <gnucash-installation-path>/share/gnucash/jqplot.
> >>>Yes:
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.BezierCurveRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.barRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.blockRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.bubbleRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.canvasAxisLabelRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.canvasAxisTickRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.canvasTextRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.categoryAxisRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.ciParser.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.cursor.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.dateAxisRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.donutRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.dragable.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.enhancedLegendRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.funnelRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.highlighter.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.json2.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.logAxisRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.mekkoAxisRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.mekkoRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.meterGaugeRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.ohlcRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.pieRenderer.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.pointLabels.js
> >>>/usr/pkg/share/gnucash/jqplot/jqplot.trendline.js
> >>>/usr/pkg/share/gnucash/jqplot/jquery.jqplot.css
> >>>/usr/pkg/share/gnucash/jqplot/jquery.jqplot.js
> >>>/usr/pkg/share/gnucash/jqplot/jquery.min.js
> >>>/usr/pkg/share/gnucash/scm/html-jqplot.scm
> >>>
> >>>I see that these are javascript, does this need any particular support
> >>>in any of the libraries gnucash depends upon?
> >>>
> >>>>- can you find something interesting in /tmp/gnucash.trace?
> >>>>Maybe try running "gnucash --debug --log gnc.scm=debug" to get more info
> >>>>into this trace.
> >>>I don't have any /tmp/gnucash* , not even when I start it as you
> >>>suggested. How do I make gnucash create that?
> >>>  Thomas
> >>>
> >>>>Gruss,
> >>>>/Carsten
> >>>>
> >>>>
> >>>>On 04/13/2014 09:35 AM, Thomas Klausner wrote:
> >>>>>Hi!
> >>>>>
> >>>>>I'm using gnucash-2.6.3 from pkgsrc on NetBSD-6.99.40/amd64.
> >>>>>
> >>>>>I see two recent changes compared to 2.4.13, the previous version in
> >>>>>pkgsrc.
> >>>>>
> >>>>>The first: If I start gnucash without a terminal or in the background,
> >>>>>it doesn't finish startup. When started in the background, I see (with
> >>>>>zsh):
> >>>>>
> >>>>>>gnucash &
> >>>>>[1] 7303
> >>>>>[1]  + suspended (tty output)  gnucash
> >>>>>
> >>>>>When I put it in the foreground again, it continues starting
> >>>>>successfully. This seems to happen during the splash screen, the last
> >>>>>thing that's displayed in the progress text at the bottom is
> >>>>>"gnucash/python". Perhaps this is a problem with a python module, but
> >>>>>how do I find out which?
> >>>>>
> >>>>>The worse problem I have is when I try to run a graphical report (e.g.
> >>>>>Income & Expense / Expense barchart) I get a segfault:
> >>>>>
> >>>>>zsh: segmentation fault (core dumped)  gnucash
> >>>>>
> >>>>>The backtrace is not very helpful, even when compiled with '-g -O0':
> >>>>>(gdb) bt
> >>>>>#0  0x00007f7f87800a0c in ?? ()
> >>>>>#1  0x00007f7f857fe088 in ?? ()
> >>>>>#2  0x00007f7ff6a9efc0 in ?? ()
> >>>>>#3  0x00007f7feb1641a8 in ?? ()
> >>>>>#4  0x00007f7ff6a9e1c0 in ?? ()
> >>>>>#5  0x00007f7fee3be8e8 in ?? ()
> >>>>>#6  0x00007f7feecf9c00 in WTF::central_cache () from /usr/pkg/lib/libjavascriptcoregtk-1.0.so.0
> >>>>>#7  0x0000000000000000 in ?? ()
> >>>>>
> >>>>>I have webkit-gtk-1.10.2 installed if that matters.
> >>>>>
> >>>>>Thanks,
> >>>>>  Thomas
> >>>>>_______________________________________________
> >>>>>gnucash-devel mailing list
> >>>>>gnucash-devel at gnucash.org
> >>>>>https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> >>>>>
> >>>>_______________________________________________
> >>>>gnucash-devel mailing list
> >>>>gnucash-devel at gnucash.org
> >>>>https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> >>>>
> >>_______________________________________________
> >>gnucash-devel mailing list
> >>gnucash-devel at gnucash.org
> >>https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> >>
> 
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> 


More information about the gnucash-devel mailing list