[gobolinux-users] freshen 2.2.7 crash

Michael Homer gobo-users-dufus at wotfun.com
Tue Sep 18 11:39:15 NZST 2007


On 9/18/07, Jonas Karlsson <jonka750 at student.liu.se> wrote:
> 2007/9/17, kenneth marken <k-marken at online.no>:
> > Freshen: Error: topological sort failed: ["Cairo", "Xorg", "DBus", "GTK+", "Pango", "HAL", "DBus-GLib"] [TSort::Cyclic]
> > Backtrace:
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:153:in `tsort_each'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:184:in `each_strongly_connected_component'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:211:in `each_strongly_connected_component_from'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:220:in `each_strongly_connected_component_from'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:210:in `each_strongly_connected_component_from'
> >  /Programs/Freshen/2.2.7/lib/depsort.rb:22:in `each'
> >  /Programs/Freshen/2.2.7/lib/depsort.rb:22:in `tsort_each_child'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:204:in `each_strongly_connected_component_from'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:183:in `each_strongly_connected_component'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:181:in `tsort_each_node'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:181:in `each_strongly_connected_component'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:149:in `tsort_each'
> >  /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:136:in `tsort'
> >  /Programs/Freshen/2.2.7/lib/freshen-functions.rb:379:in `produceUpdatesList'
> >  /System/Links/Executables/Freshen:560:in `sysStatus'
> >  /System/Links/Executables/Freshen:188:in `run'
> >  /System/Links/Libraries/ruby/site_ruby/1.8/gobo.rb:187:in `start'
> >  /System/Links/Executables/Freshen:694
> >
> > it seems to have issues with this package:
> > Intltool 0.35.5-r1
> >
> Seems like an issue with a cyclic graph to me. Xorg and DBus each
> depend on eachother (since Xorg 7.3) and with Xorg depending on DBus
> and HAL one can make a bunch of cycles of the above listing.
Yes, that's it. There's no possible way to order them such that each
one comes after its dependencies, so it chokes. I have special-cased a
few programs when I've noticed that they caused the problem for me,
but I don't think that's really the right way to go about it. I'm not
sure what -is- the right way to do it either.

The hacky way to fix it is either a) add entries like those on lines
79-80 of depsort.rb for packages, or b) use the
exclude-asserting-compatibility option/exceptButCompatible config
entry to strip them out of the graph (which I don't think will work in
all cases).

I am open to suggestions for how to avoid this problem. Those entries
are in the Dependencies for good reason (ChrootCompile), so they can't
be removed from there, but ignoring dependencies in general isn't an
option either.
-Michael


More information about the gobolinux-users mailing list