[GNC] piecharts/linecharts turned blank in reports after upgrade

John Ralls jralls at ceridwen.us
Tue Jul 20 23:40:34 EDT 2021


Switched how? What libwebkit2gtk.so and libjavascriptcoregtk.so was libgnc-html.so linked to if not the ones in /usr/lib?

Regards,
John Ralls

> On Jul 20, 2021, at 7:55 PM, Dong Lin <c54e-gnucash at yahoo.com> wrote:
> 
> 
> On a freshly installed Ubuntu 21.04 VM with apt installed GNC 4.4. the apt
> installed GNC runs fine with charts visible.
> 
> But locally built GNC (tip of the latest maint branch) has the same issue.
> I tried switching the libs in build_dir to point to 
> /usr/lib/x86_64-linux-gnu/gnucash,  but the local gnucash encountered an
> undefined symbol gnc_run_report_with_error_handling and couldn't start.
> 
> apt removed the system gnucash, purged ~/.cache. reran the local gnc, same
> problem, blank charts.
> only the table is visible.
> 
> the build environment was prepared with apt-get build-dep gnucash as
> instructed.
> 
> 
>> 
>> Thank you John.  I can confirm that 4.x works with Ubuntu 21.04.
>> 
>> As for release 3.11, the problem exists with the unstable version of 3.11
>> (4064c58cd) only. The stable 3.11 (0fe8ba79e) release works just fine.
>> 
>> | * | | 0fe9ba79e21d0545f4c1f9eb373a9450803a83c4 Release GnuCash 3.11
>> * | | | | | | 4064c58cd03b7f7fb613d59eeee3c93569048adb Release GnuCash
>> 3.11
>> 
>> I guess issue lies in it's one of the 163 shared libs that GNC uses that
>> came with Ubuntu 20.04.
>> 
>> 
>>> Dong Lin,
>>> 
>>> You've already demonstrated that the problem doesn't happen on 3.11 so
>>> there's no point going backwards in 3.x.
>>> According to https://repology.org/project/gnucash/versions Ubuntu 21.04
>>> provides GnuCash 4.5. I suggest that you clean up your system and
>>> install
>>> GnuCash 4.4 from apt. If it has trouble displaying charts then raise a
>>> bug
>>> on Ubuntu and let their packager figure out what's going on.
>>> 
>>> Regards,
>>> John Ralls
>>> 
>>>> On Jul 18, 2021, at 6:24 PM, Dong Lin <c54e-gnucash at yahoo.com> wrote:
>>>> 
>>>> 
>>>> Thanks for the instructions John. I tried it on a Ubuntu 20.04 system
>>>> with
>>>> no GNC installed.  The problem still exists in 4.x.  It seems the 3.x
>>>> stable branch works.  The issue happens in the unstable branch only.
>>>> 
>>>> I also tried running 4.x on a Mac, I can see the plot. Not sure if the
>>>> issue is Linux only or Ubuntu only.
>>>> 
>>>> unstable 2455071 bad
>>>> stable   3.6-d42695e75  good
>>>> unstable 3.5-b7479e8fb  bad
>>>> 
>>>> I cannot build 3.4 or anything older.  The fix for
>>>> G_TYPE_INSTANCE_GET_PRIVATE does not apply cleanly on older commits.
>>>> Compile still fails after resolving all conflicts.
>>>> 
>>>> So it seems a very old bug that hasn't been fixed in the unstable
>>>> branch.
>>>> I believe running 4.x or any 3.x unstable build on standard issue
>>>> Ubuntu
>>>> 20.04 should easily reproduce.
>>>> 
>>>> 
>>>>> It turns out that bisecting between 63232f and 8024f4 flat won't work,
>>>>> they're on different branches. 63232f is on the 3.x branch which is
>>>>> why
>>>>> it
>>>>> works. 2c637a is from 2019 where the master branch splits off from the
>>>>> maint branch (we had a pull request merge mishap at aa53c23 that
>>>>> temporarily collapsed them together, but there hadn't been any
>>>>> development
>>>>> on master at that point anyway). 2c637a is actually the first commit
>>>>> where
>>>>> the two branches start to diverge.
>>>>> 
>>>>> Since the failing 8024f4 is on master I looked at the changes leading
>>>>> up
>>>>> to that in a graphical history viewer. One particular change stands
>>>>> out,
>>>>> 2455071 where we start the conversion from jqplot to chartjs. That
>>>>> would
>>>>> be a good place to test.
>>>>> 
>>>>> ****HOWEVER****
>>>>> The problem may well be that there are remnants of the Ubuntu-provided
>>>>> GnuCash 3.8 that are interfering with the 4.x chartjs-based chart
>>>>> rendering, so before you do any more bisecting I suggest that you
>>>>> completely remove all GnuCash shared libraries, loadable modules, and
>>>>> Scheme caches from your system, then reinstall GnuCash 4.6 with apt.
>>>>> The
>>>>> shared libraries will be /usr/lib/libgnc* and you can get rid of the
>>>>> shared modules and system cached guile by `sudo rm -rf
>>>>> /usr/lib/gnucash/`.
>>>>> Remove ~/.cache/guile/ccache as well if it exists. That may fix the
>>>>> problem with no more troubleshooting required. If it doesn't `sudo
>>>>> apt-get
>>>>> remove gnucash` to have a clean system before doing any test builds.
>>>>> Guile
>>>>> is exceptionally stupid about what it loads and trying to build
>>>>> GnuCash
>>>>> when there's a package-manager version installed seldom comes out
>>>>> well.
>>>>> 
>>>>> If more bisecting is in order, try 2455071. If it works, try 598c37;
>>>>> that's the end of the chartjs upgrades. If that works then check
>>>>> 8024f4
>>>>> again to make sure that that still fails, then `git bisect
>>>>> --first-parent
>>>>> start 8024f4 598c37` to find the problem commit (which may well be a
>>>>> merge).
>>>>> 
>>>>> Regards,
>>>>> John Ralls
>>>>> 
>>>>> 
>>>>>> On Jul 17, 2021, at 8:01 PM, Dong Lin <c54e-gnucash at yahoo.com> wrote:
>>>>>> 
>>>>>> 
>>>>>> I see two 3.11 release commits in maint.
>>>>>> 
>>>>>> 3.11-4064c58cd bad
>>>>>> 3.11-0fe9ba79e good
>>>>>> 
>>>>>> bisecting in this range pointed to 2c637a971.
>>>>>> 
>>>>>> bisecting in 63232f388..8024f44bc also singled out 2c637a971.
>>>>>> 
>>>>>> But it cannot be as it's just a version update.  Reverting it did not
>>>>>> produce a good run.
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> That the problem seems to have arisen during the transition between
>>>>>>> 3.x
>>>>>>> and 4.0 does make it a bit more complicated. There are 391 commits
>>>>>>> between
>>>>>>> 63232f and 8024f4 including 57 merges from maint and 8 feature
>>>>>>> branches.
>>>>>>> That makes knowing that the problem exists in the latter commit and
>>>>>>> not
>>>>>>> in
>>>>>>> the former less helpful than it might be.
>>>>>>> 
>>>>>>> You can test your hypothesis that a merge caused the regression by
>>>>>>> testing
>>>>>>> 3.11, the last release on the 3.x maint branch. If that fails you
>>>>>>> can
>>>>>>> bisect between it and 63232f. Use `git bisect`, it's the quickest
>>>>>>> and
>>>>>>> easiest way to find the commit that caused the problem.
>>>>>>> 
>>>>>>> If 3.11 is good then you can run bisect so that it always tests
>>>>>>> merge
>>>>>>> commits and ignores the commits being merged with `git bisect
>>>>>>> --first-commit start 8024f4 63232f`.
>>>>>>> 
>>>>>>> Regards,
>>>>>>> John Ralls
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Jul 17, 2021, at 7:46 AM, Dong Lin via gnucash-user
>>>>>>>> <gnucash-user at gnucash.org> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Did more searches.  the issue exists in 4.6, running gnc on Ubuntu
>>>>>>>> 20.04.1
>>>>>>>> LTS with standard gnome.
>>>>>>>> 
>>>>>>>> I've gone through the following commits in maint:
>>>>>>>> 
>>>>>>>> 4.6  2021 228954c40 bad
>>>>>>>> 0425-2020 8024f44bc bad
>>>>>>>> 0425-2020 63232f388 good
>>>>>>>> 3.10 2020 7d39ccc9d good
>>>>>>>> 3.6  2019 d42695e75 good
>>>>>>>> 0615-2019 410ae9575 good
>>>>>>>> 0601-2019 170651602 good
>>>>>>>> 0601-2019 3a91eedb4 good
>>>>>>>> 0531-2019 69ea174cd bad
>>>>>>>> 0415-2019 0251d044b bad
>>>>>>>> 3.5  2019 b7479e8fb bad
>>>>>>>> 
>>>>>>>> I couldn't go any older because ancient code cannot be compiled by
>>>>>>>> my
>>>>>>>> environment.
>>>>>>>> 
>>>>>>>> The merges really obscured the search. the order of the merged
>>>>>>>> commits
>>>>>>>> are
>>>>>>>> not chronological. timestamps are time of commit, not time of
>>>>>>>> merge.
>>>>>>>> 
>>>>>>>> It looks as if the bug was fixed at one point, but it was lost in a
>>>>>>>> merge.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> Running gnc in Ubuntu 20.04 LTS.  Default gnc is
>>>>>>>>> 3.8.  I
>>>>>>>>> built the
>>>>>>>>> gnc
>>>>>>>>> trees based off of master at various commits for the bisect.
>>>>>>>>> ; lsb_release -a
>>>>>>>>> No LSB modules are available.
>>>>>>>>> Distributor ID: Ubuntu
>>>>>>>>> Description:Â Â Â  Ubuntu 20.04.1
>>>>>>>>> LTS
>>>>>>>>> Release:Â Â Â Â
>>>>>>>>> Â
>>>>>>>>> Â Â  20.04
>>>>>>>>> Codename:Â Â Â Â
>>>>>>>>> Â Â  focal
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> ; grep WEBKIT ./common/config.h
>>>>>>>>> /* Definitions for what WEBKIT version we're compiling against: */
>>>>>>>>> #define WEBKIT2_4 1
>>>>>>>>> /* #undef WEBKIT2_3 */
>>>>>>>>> /* #undef WEBKIT1 */
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I compared the preprocessor output for
>>>>>>>>> html/gnc-html-webkit2.c,Â
>>>>>>>>> the
>>>>>>>>> affected code block between  the working and
>>>>>>>>> non-working
>>>>>>>>> versions are
>>>>>>>>> identical.  But some line numbers for other .h files
>>>>>>>>> are
>>>>>>>>> different.
>>>>>>>>> So I
>>>>>>>>> have assumed that it's not 8024f44bc,  but other 100+
>>>>>>>>> commits
>>>>>>>>> that
>>>>>>>>> came
>>>>>>>>> with the tree merge.
>>>>>>>>> 
>>>>>>>>> the VNC server runs on Ubuntu (the same machine that the binary is
>>>>>>>>> built
>>>>>>>>> on). The VNC viewer is MacOS (TigherVNC). Tried another viewer
>>>>>>>>> running
>>>>>>>>> on
>>>>>>>>> Linux, same outcome.
>>>>>>>>> 
>>>>>>>>> There are many commits affecting barcharts in that range. The most
>>>>>>>>> relevant one seems to be this:
>>>>>>>>> 6b74f80bc Wed Dec 18 21:55:51 2019 +0800Â
>>>>>>>>> [html-pie/scatter/bar/linechart] defer to html-chart renderer
>>>>>>>>> 
>>>>>>>>> But reverting it resulted in too many conflicts that I dont know
>>>>>>>>> how
>>>>>>>>> to
>>>>>>>>> resolve.
>>>>>>>>> Will try again later using the maint branch.
>>>>>>>>> 
>>>>>>>>> Thanks!
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Jul 11, 2021, at 10:36 PM, Dong Lin via gnucash-user
>>>>>>>>>>> <gnucash-user at gnucash.org> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> I am trying to upgrade from 3.8 to 4.6. But found that piecharts
>>>>>>>>>>> and
>>>>>>>>>>> linecharts in reports have turned blank. The associated tables
>>>>>>>>>>> are
>>>>>>>>>>> present
>>>>>>>>>>> though.
>>>>>>>>>>> 
>>>>>>>>>>> Attempted to perform a binary search in master, and found the
>>>>>>>>>>> latest
>>>>>>>>>>> working commit is 63232f388.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 8024f44bc Sat Apr 25 15:40:07 2020
>>>>>>>>>>> -0700Â Â Â Â Â
>>>>>>>>>>> Â Â Â Â Â
>>>>>>>>>>> Â Â Â Â Â
>>>>>>>>>>> Â  Remove leftover
>>>>>>>>>>> webkit2 conditional.
>>>>>>>>>>> 63232f388 Sat Apr 25 14:40:57 2020
>>>>>>>>>>> -0700Â Â Â Â Â
>>>>>>>>>>> Â Â Â Â Â
>>>>>>>>>>> Â Â Â Â Â
>>>>>>>>>>> Â  Merge Jean
>>>>>>>>>>> Laroche's 'Fix-3-SX-Problems' into maint
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Unfortunately 8024f44bc came from the maint branch and was
>>>>>>>>>>> merged
>>>>>>>>>>> with
>>>>>>>>>>> over a hundred other commits.  I am not sure how to
>>>>>>>>>>> narrow it
>>>>>>>>>>> down.
>>>>>>>>>>> Reverting one of them resulted in lots of conflicts that I dont
>>>>>>>>>>> know
>>>>>>>>>>> how
>>>>>>>>>>> to resolve.
>>>>>>>>>>> 
>>>>>>>>>>> I figured the problem has to be related to my environment as no
>>>>>>>>>>> one
>>>>>>>>>>> else
>>>>>>>>>>> has brought up the issue. My virtual desktop is
>>>>>>>>>>> driven by a VNC server (Ubuntu 20.04 LTS).  It's not
>>>>>>>>>>> directly
>>>>>>>>>>> associated
>>>>>>>>>>> with a hardware graphics card with a physical cable to the
>>>>>>>>>>> monitor.
>>>>>>>>>> 
>>>>>>>>>> We release off of the maint branch so you should do your bisect
>>>>>>>>>> there.
>>>>>>>>>> 
>>>>>>>>>> This isn't likely to have anything to do with your VNC server,
>>>>>>>>>> nor
>>>>>>>>>> with
>>>>>>>>>> whatever you're connecting to it. In what environment are you
>>>>>>>>>> actually
>>>>>>>>>> running GnuCash and what version of WebKit is it using?
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> John Ralls
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> gnucash-user mailing list
>>>>>>>>> gnucash-user at gnucash.org
>>>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>>>> If you are using Nabble or Gmane, please see
>>>>>>>>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>>>>>>>>> -----
>>>>>>>>> Please remember to CC this list on all your replies.
>>>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> gnucash-user mailing list
>>>>>>>> gnucash-user at gnucash.org
>>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>>> If you are using Nabble or Gmane, please see
>>>>>>>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>>>>>>>> -----
>>>>>>>> Please remember to CC this list on all your replies.
>>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>> 
>> 
>> 
>> _______________________________________________
>> gnucash-user mailing list
>> gnucash-user at gnucash.org
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> If you are using Nabble or Gmane, please see
>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.



More information about the gnucash-user mailing list