trunk r21710 fails at launch during report loading

Geert Janssens janssens-geert at telenet.be
Tue Dec 13 05:42:01 EST 2011


Op dinsdag 13 december 2011 01:52:18 schreef David Reiser:
> On Dec 11, 2011, at 11:35 PM, John Ralls wrote:
> > On Dec 11, 2011, at 6:22 PM, David Reiser wrote:
> >> On Dec 11, 2011, at 3:02 PM, David Reiser wrote:
> >>> On Dec 11, 2011, at 2:47 PM, John Ralls wrote:
> >>>> On Dec 11, 2011, at 11:30 AM, David Reiser wrote:
> >>>>> On Dec 11, 2011, at 1:41 PM, John Ralls wrote:
> >>>>>> On Dec 10, 2011, at 10:23 PM, David Reiser wrote:
> >>>>>>> On Dec 11, 2011, at 12:39 AM, John Ralls wrote:
> >>>>>>>> On Dec 10, 2011, at 8:03 PM, David Reiser wrote:
> >>>>>>>>> r21708 fixed my build problem (thanks John), but gnucash
> >>>>>>>>> fails to launch with:
> >>>>>>>>> 
> >>>>>>>>> Backtrace:
> >>>>>>>>> In unknown file:
> >>>>>>>>> ?: 21* [#<procedure #f ()>]
> >>>>>>>>> ?: 22* (let* ((file #)) (cond (# => #) (# => #)))
> >>>>>>>>> ?: 23  [#<procedure #f #>
> >>>>>>>>> "/opt/gnucash-svn/share/gnucash/guile-modules/gnucash/r
> >>>>>>>>> eport/standard-reports.scm"] ?: 24  [with-fluid* #<fluid
> >>>>>>>>> 7> #f #<procedure #f ()>]
> >>>>>>>>> ?: 25* [#<procedure #f ()>]
> >>>>>>>>> ?: 26* [load-file #<primitive-procedure primitive-load>
> >>>>>>>>> ...]
> >>>>>>>>> ?: 27* [save-module-excursion #<procedure #f ()>]
> >>>>>>>>> ?: 28  (let (# #) (dynamic-wind # thunk #))
> >>>>>>>>> ?: 29  [dynamic-wind #<procedure #f ()> #<procedure #f
> >>>>>>>>> ()> #<procedure #f ()>] ?: 30* [#<procedure #f ()>]
> >>>>>>>>> ?: 31* [primitive-load
> >>>>>>>>> "/opt/gnucash-svn/share/gnucash/guile-modules/gnucash/r
> >>>>>>>>> eport/standard-reports.scm"] In
> >>>>>>>>> /opt/gnucash-svn/share/gnucash/guile-modules/gnucash/re
> >>>>>>>>> port/standard-reports.scm: 125: 32* [for-each
> >>>>>>>>> #<procedure #f (x)> (trial-balance transaction
> >>>>>>>>> sx-summary ...)] In unknown file:
> >>>>>>>>> ?: 33* [#<procedure #f (x)> balsheet-eg]
> >>>>>>>>> In
> >>>>>>>>> /opt/gnucash-svn/share/gnucash/guile-modules/gnucash/re
> >>>>>>>>> port/standard-reports.scm: 127: 34* [module-use!
> >>>>>>>>> #<directory (gnucash report standard-reports)
> >>>>>>>>> 109f68880> ... 129: 35* [resolve-interface (gnucash
> >>>>>>>>> report standard-reports balsheet-eg)] In unknown file:
> >>>>>>>>> ?: 36  (letrec ((get-keyword-arg #)) (let* (# # # ...)
> >>>>>>>>> (and # #) ...)) ?: 37  (let* (# # # # ...) (and # #)
> >>>>>>>>> (if # public-i #))
> >>>>>>>>> ?: 38* (and (or (not module) (not public-i)) (error "no
> >>>>>>>>> code for module" name)) ?: 39  [error "no code for
> >>>>>>>>> module" (gnucash report standard-reports balsheet-eg)]
> >>>>>>>>> ...
> >>>>>>>>> ?: 40  [scm-error misc-error #f ...]
> >>>>>>>>> 
> >>>>>>>>> <unnamed port>: In procedure scm-error in expression
> >>>>>>>>> (scm-error (quote misc-error) #f ...): <unnamed port>:
> >>>>>>>>> no code for module (gnucash report standard-reports
> >>>>>>>>> balsheet-eg)
> >>>>>>>>> 
> >>>>>>>>> This looks like it might be related to moving
> >>>>>>>>> balsheet-eg in r21591. Geert, could you take a look?>>>>>>>> 
> >>>>>>>> Try:
> >>>>>>>> make maintainer-clean
> >>>>>>>> find src -name gnucash -type d
> >>>>>>>> rm -rf everything you find *except*
> >>>>>>>> gnc-module/(foo|bar|baz)/gnucash
> >>>>>>>> 
> >>>>>>>> Then autogen, configure, build, and install and try again.
> >>>>>>>> 
> >>>>>>>> Regards,
> >>>>>>>> John Ralls
> >>>>>>> 
> >>>>>>> I didn't exactly follow part of that: the found files were:
> >>>>>>> src/gnc-module/test/mod-bar/gnucash
> >>>>>>> src/gnc-module/test/mod-baz/gnucash
> >>>>>>> src/gnc-module/test/mod-foo/gnucash
> >>>>>>> 
> >>>>>>> Looking at the contents of one of those directories looked
> >>>>>>> like it wouldn't interfere on launch. If any of those
> >>>>>>> should be removed, let me know and I'll try again.
> >>>>>>> 
> >>>>>>> But the source directory was a completely clean checkout
> >>>>>>> from yesterday afternoon, and the only config/build
> >>>>>>> activity was the build failure fixed in 21708.
> >>>>>>> 
> >>>>>>> No change in result on launching gnucash. I do rm -rf 
> >>>>>>> base/install/dir too, before installing the new version in
> >>>>>>> an old location.>>>>>> 
> >>>>>> David,
> >>>>>> 
> >>>>>> Sorry, yes, those are the directories I meant.
> >>>>>> 
> >>>>>> What about your installation directories? Might they still
> >>>>>> have old Scheme files or shared libraries?
> >>>>>> 
> >>>>>> Try removing (rm -rf) lib/gnucash and share/gnucash, then
> >>>>>> re-running make install.
> >>>>>> 
> >>>>>> I just tested r21710 and it started up OK -- but I did have to
> >>>>>> clean out the installation and reinstall for it to work.
> >>>>>> 
> >>>>>> Regards,
> >>>>>> John Ralls
> >>>>> 
> >>>>> Still no joy for me. I almost always rm -rf $PREFIX/* before
> >>>>> make install (needed once in the deep dark past, so I got in
> >>>>> the habit of doing it every time). I also removed lib/gnucash
> >>>>> and share/gnucash before reinstalling.
> >>>>> 
> >>>>> My guile is not in a standard location, but that hasn't been a
> >>>>> problem before. I'm using guile 1.8.8 and swig 2.0.4>>>> 
> >>>> OK, then it's not an installation problem; you must have obsolete
> >>>> code somewhere. (Yes, I know you said it was a clean checkout.)
> >>>> 
> >>>> $ manjusri:svn/src/gnucash-git/src> grep -r "standard-reports
> >>>> balsheet-eg" --include="*.scm" . $
> >>>> manjusri:svn/src/gnucash-git/src>
> >>>> 
> >>>> What do you get?
> >>>> 
> >>>> Regards,
> >>>> John Ralls
> >>> 
> >>> [14:57:03] dbr at DOPL6: gnucash $grep -r "standard-reports
> >>> balsheet-eg" --include="*.scm" . [14:57:05] dbr at DOPL6: gnucash $
> >>> 
> >>> but I think that extra balsheet-eg is coming from the (list x) in
> >>> src/report/standard-reports/standard-reports.scm:
> >>> 
> >>> (for-each
> >>> 
> >>>  (lambda (x)
> >>>  
> >>> 	    (module-use!
> >>> 	    
> >>> 		    (current-module)
> >>> 			
> >>> 			(resolve-interface (append '(gnucash report standard-reports)
> >>> 			(list x)))))>>> 	
> >>> 	(get-report-list))
> >>> 
> >>> Dave
> >>> --
> >>> David Reiser
> >>> dbreiser at earthlink.net
> >> 
> >> I guess it's time I learned enough git to do a git bisect.
> >> 
> >> If I check out the 2.4 branch into a clean directory and build that, I
> >> get the same error. If I 'svn update -r21471' (the release point of
> >> 2.4.8, I think), make maintainer-clean, autgen/config/make/make
> >> install, that one works.> 
> > A git bisect only slightly automates what you can do by hand with SVN.
> > 
> > It's just a b-tree search. r21710 is bad, r21471 is good. Halfway
> > between is r21590, so you try that one next. If it's good, go halfway
> > again towards 21710, 21640; if bad, go the other way, to 21530. Lather,
> > rinse, repeat; you'll eventually find (more-or-less) adjacent changes
> > that work and don't; then you can examine what's different. Pay close
> > attention to what fails; if something breaks for some other reason,
> > you'll need to either fix that or try a nearby rev to get around the
> > irrelevant failure.
> > 
> > Good luck, and have fun!
> > 
> > Regards,
> > John Ralls
> 
> Turns out I got it right in the original post:
> 
> [01:45:46] dbr at DOPL6: gnucash $git bisect bad
> 5f0f67f2d06605b30350a5b38ca0484ae21c49f9 is the first bad commit
> commit 5f0f67f2d06605b30350a5b38ca0484ae21c49f9
> Author: Geert Janssens <janssens-geert at telenet.be>
> Date:   Sun Nov 20 09:33:38 2011 +0000
> 
>     Move eguile balance report to business-reports as it depends on business
> utils.
>     This is a source code move, the report will remain in the same menu
> location in the GUI
>     BP
> 
>     git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21591
> 57a11ea4-9604-0410-9ed3-97b8803252fd
> :040000 040000 5b00ef9a1e5a7760616206a95eecfad25ecc0b1c
> :3818a01196e7c6b0e3bf9f40f3ad623defa5a8d2 M	src
> I did one other bisect manually in gnucash a few years ago when my machine
> took 35 minutes per build. Now it only takes 6, so it's a lot less painful.
> Bisect automates one of the most irritating parts for me -- keeping track
> of where I am, so it was worth it to go to git. I did have some adventures
> along the way. :)
> 
Sorry for not responding earlier. I already suspected it was my move causing 
this when you made your first suggestion, but I haven't had time to look at it 
yet.

I will somewhere in the next couple of days.

Geert 


More information about the gnucash-devel mailing list