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

Dong Lin c54e-gnucash at yahoo.com
Wed Jul 21 00:16:16 EDT 2021


vm-ubuntu-1:~/src/build-gnucash$ mv lib lib-local-build
vm-ubuntu-1:~/src/build-gnucash$ ln -s /usr/lib/x86_64-linux-gnu/gnucash lib

this only switches the libgnc-*.so libs only.  all other libs continue to
point to /usr/lib.

vm-ubuntu-1:~/src/build-gnucash$ ./bin/gnucash
./bin/gnucash: symbol lookup error: ./bin/gnucash: undefined symbol:
gnc_run_report_with_error_handling


> 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