Aw: Re: segfaults when running graphical reports

Carsten Rinke carsten.rinke at gmx.de
Sun Apr 13 10:17:15 EDT 2014


   (oh dear, lucky those who can read ... sorry for that!)

   Hi Thomas,

   No, nothing obvious.
   I think that goes beyond my horizon - this is code I haven't looked at.
   Hopefully someone else can jump in.

   Just for curiousity:
   You see this everytime?
   You can reproduce this on a minimalistic book?

   Gruss,
   Carsten

   Gesendet: Sonntag, 13. April 2014 um 14:05 Uhr
   Von: "Thomas Klausner" <tk at giga.or.at>
   An: "Carsten Rinke" <carsten.rinke at gmx.de>
   Cc: "GnuCash development list" <gnucash-devel at gnucash.org>
   Betreff: Re: segfaults when running graphical reports
   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"></scri
   pt>
   > ><script language="javascript" type="text/javascript"
   src="file:///usr/pkg/share/gnucash/jqplot/jqplot.categoryAxisRenderer.j
   s"></script>
   > ><script language="javascript" type="text/javascript"
   src="file:///usr/pkg/share/gnucash/jqplot/jqplot.highlighter.js"></scri
   pt>
   > ><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
   > >>>>>[1]https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   > >>>>>
   > >>>>_______________________________________________
   > >>>>gnucash-devel mailing list
   > >>>>gnucash-devel at gnucash.org
   > >>>>[2]https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   > >>>>
   > >>_______________________________________________
   > >>gnucash-devel mailing list
   > >>gnucash-devel at gnucash.org
   > >>[3]https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   > >>
   >
   > _______________________________________________
   > gnucash-devel mailing list
   > gnucash-devel at gnucash.org
   > [4]https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   >

References

   1. https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   2. https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   3. https://lists.gnucash.org/mailman/listinfo/gnucash-devel
   4. https://lists.gnucash.org/mailman/listinfo/gnucash-devel


More information about the gnucash-devel mailing list