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

Dong Lin c54e-gnucash at yahoo.com
Sun Jul 18 21:24:27 EDT 2021


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.
>




More information about the gnucash-user mailing list