After updating from net-zope/zope-2.13.7 (official portage tree) to net-zope/zope-2.13.9 (progress overlay) as suggested in the official net-zope/zope-2.13.9 stub ebuild Zope's page templating system doesn't work any more. Zope's errors show that the macros attribute isn't accesible. This causes almost all dynamic pages to fail. Going back to net-zope/zope-2.13.7 solves the issue. Reproducible: Always Steps to Reproduce: 1. Add progress overlay as described in net-zope/zope-2.13.9 stub ebuild 2. Install net-zope/zope-2.13.9 and dependencies 3. Ppen a zope page template that uses a METAL macro like metal:use-macro="here/standard_template.pt/macros/page" Actual Results: A Zope error message appears on the rendered page: Zope Error Zope has encountered an error while publishing this resource. Error Type: NotFound Error Value: macros ... Expected Results: The page template should use the specified "page" macro from "here/standard_template.pt" and render a valid (X)HTML page. Normal page without macros render correctly. Here's the stack trace from Zope's event.log: 2011-09-14T18:00:00 ERROR root Exception while rendering an error message Traceback (most recent call last): File "/usr/lib64/zope-2.13/lib/python-2.7/OFS/SimpleItem.py", line 241, in raise_standardErrorMessage v = s(**kwargs) File "/usr/lib64/zope-2.13/lib/python-2.7/Shared/DC/Scripts/Bindings.py", line 322, in __call__ return self._bindAndExec(args, kw, None) File "/usr/lib64/zope-2.13/lib/python-2.7/Shared/DC/Scripts/Bindings.py", line 359, in _bindAndExec return self._exec(bound_data, args, kw) File "/usr/lib64/zope-2.13/lib/python-2.7/Products/PageTemplates/ZopePageTemplate.py", line 334, in _exec result = self.pt_render(extra_context=bound_names) File "/usr/lib64/zope-2.13/lib/python-2.7/Products/PageTemplates/ZopePageTemplate.py", line 431, in pt_render result = PageTemplate.pt_render(self, source, extra_context) File "/usr/lib64/zope-2.13/lib/python-2.7/Products/PageTemplates/PageTemplate.py", line 79, in pt_render showtal=showtal) File "/usr/lib64/python2.7/site-packages/zope/pagetemplate/pagetemplate.py", line 131, in pt_render File "/usr/lib64/python2.7/site-packages/zope/pagetemplate/pagetemplate.py", line 240, in __call__ File "/usr/lib64/python2.7/site-packages/zope/tal/talinterpreter.py", line 266, in __call__ File "/usr/lib64/python2.7/site-packages/zope/tal/talinterpreter.py", line 338, in interpret s = s[:76] + "...\n" File "/usr/lib64/python2.7/site-packages/zope/tal/talinterpreter.py", line 862, in do_useMacro def do_useMacro(self, (macroName, macroExpr, compiledSlots, block), File "/usr/lib64/python2.7/site-packages/zope/tales/tales.py", line 696, in evaluate return expression(self) File "/usr/lib64/python2.7/site-packages/zope/tales/expressions.py", line 217, in __call__ return self._eval(econtext) File "/usr/lib64/zope-2.13/lib/python-2.7/Products/PageTemplates/Expressions.py", line 147, in _eval ob = self._subexprs[-1](econtext) File "/usr/lib64/python2.7/site-packages/zope/tales/expressions.py", line 124, in _eval ob = self._traverser(ob, element, econtext) File "/usr/lib64/zope-2.13/lib/python-2.7/Products/PageTemplates/Expressions.py", line 74, in boboAwareZopeTraverse object = object.restrictedTraverse(name) File "/usr/lib64/zope-2.13/lib/python-2.7/OFS/Traversable.py", line 316, in restrictedTraverse File "/usr/lib64/zope-2.13/lib/python-2.7/OFS/Traversable.py", line 299, in unrestrictedTraverse NotFound: macros Here's a list of net-zope/* packages installed as listed by `qlist -CIUv net-zope/`: net-zope/accesscontrol-2.13.4 (python_abis_2.7) net-zope/acquisition-2.13.8 (python_abis_2.7) net-zope/btreefolder2-2.13.3 (python_abis_2.7) net-zope/datetime-2.12.6 (python_abis_2.7) net-zope/documenttemplate-2.13.1 (python_abis_2.7) net-zope/extensionclass-2.13.2 (python_abis_2.7) net-zope/externalmethod-2.13.0 (python_abis_2.7) net-zope/initgroups-2.13.0 (python_abis_2.7) net-zope/mailhost-2.13.1 (python_abis_2.7) net-zope/mimetools-2.13.0 (python_abis_2.7) net-zope/missing-2.13.1 (python_abis_2.7) net-zope/multimapping-2.13.0 (python_abis_2.7) net-zope/namespaces-zc-0 (python_abis_2.7 python_abis_3.2 zc) net-zope/namespaces-zope-0 (Products Shared Shared.DC five python_abis_2.7 python_abis_3.2 zope zope.app) net-zope/ofsp-2.13.2 (python_abis_2.7) net-zope/persistence-2.13.2 (python_abis_2.7) net-zope/pythonscripts-2.13.0 (python_abis_2.7) net-zope/record-2.13.0 (python_abis_2.7) net-zope/standardcachemanagers-2.13.0 (python_abis_2.7) net-zope/tempstorage-2.12.1 (python_abis_2.7) net-zope/transaction-1.1.1 (python_abis_2.7) net-zope/zc-lockfile-1.0.0 (python_abis_2.7 python_abis_3.2) net-zope/zcatalog-2.13.20 (python_abis_2.7) net-zope/zconfig-2.9.0 (python_abis_2.7) net-zope/zctextindex-2.13.3 (python_abis_2.7) net-zope/zdaemon-2.0.4 (python_abis_2.7) net-zope/zexceptions-2.13.0 (python_abis_2.7) net-zope/zlog-2.11.1 (python_abis_2.7) net-zope/zodb-3.10.3 (python_abis_2.7) net-zope/zope-2.13.9 (python_abis_2.7) net-zope/zope-annotation-3.5.0 (python_abis_2.7) net-zope/zope-app-appsetup-3.16.0 (python_abis_2.7) net-zope/zope-app-debug-3.4.1 (python_abis_2.7) net-zope/zope-app-dependable-3.5.1 (python_abis_2.7) net-zope/zope-app-form-4.0.2 (python_abis_2.7) net-zope/zope-app-publication-3.13.2 (python_abis_2.7) net-zope/zope-app-testing-3.9.0 (python_abis_2.7) net-zope/zope-authentication-3.7.1 (python_abis_2.7) net-zope/zope-broken-3.6.0 (python_abis_2.7) net-zope/zope-browser-1.3 (python_abis_2.7 python_abis_3.2) net-zope/zope-browsermenu-3.9.1 (python_abis_2.7) net-zope/zope-browserpage-3.12.2 (python_abis_2.7) net-zope/zope-browserresource-3.12.0 (python_abis_2.7) net-zope/zope-component-3.10.0 (python_abis_2.7) net-zope/zope-configuration-3.7.4 (python_abis_2.7) net-zope/zope-container-3.12.0 (python_abis_2.7) net-zope/zope-contentprovider-3.7.2 (python_abis_2.7) net-zope/zope-contenttype-3.5.5 (python_abis_2.7) net-zope/zope-copy-3.5.0 (python_abis_2.7) net-zope/zope-datetime-3.4.0 (python_abis_2.7) net-zope/zope-deferredimport-3.5.3 (python_abis_2.7) net-zope/zope-dottedname-3.4.6 (python_abis_2.7 python_abis_3.2) net-zope/zope-error-3.7.2 (python_abis_2.7) net-zope/zope-event-3.5.1 (python_abis_2.7 python_abis_3.2) net-zope/zope-exceptions-3.6.1 (python_abis_2.7 python_abis_3.2) net-zope/zope-filerepresentation-3.6.0 (python_abis_2.7) net-zope/zope-fixers-1.0 (python_abis_3.2) net-zope/zope-formlib-4.0.6 (python_abis_2.7) net-zope/zope-hookable-3.4.1 (python_abis_2.7) net-zope/zope-i18n-3.7.4 (python_abis_2.7) net-zope/zope-i18nmessageid-3.6.1 (python_abis_2.7 python_abis_3.2) net-zope/zope-interface-3.7.0 (python_abis_2.7 python_abis_3.2) net-zope/zope-lifecycleevent-3.7.0 (python_abis_2.7) net-zope/zope-location-3.9.1 (python_abis_2.7) net-zope/zope-minmax-1.1.2 (python_abis_2.7) net-zope/zope-pagetemplate-3.6.1 (python_abis_2.7) net-zope/zope-password-3.6.1 (python_abis_2.7) net-zope/zope-processlifetime-1.0 (python_abis_2.7) net-zope/zope-proxy-3.6.1 (python_abis_2.7) net-zope/zope-ptresource-3.9.0 (python_abis_2.7) net-zope/zope-publisher-3.12.6 (python_abis_2.7) net-zope/zope-schema-3.8.0 (python_abis_2.7) net-zope/zope-security-3.8.2 (python_abis_2.7) net-zope/zope-sendmail-3.7.4 (python_abis_2.7) net-zope/zope-sequencesort-3.4.0 (python_abis_2.7) net-zope/zope-session-3.9.5 (python_abis_2.7) net-zope/zope-site-3.9.2 (python_abis_2.7) net-zope/zope-size-3.4.1 (python_abis_2.7) net-zope/zope-structuredtext-3.5.1 (python_abis_2.7) net-zope/zope-tal-3.6.0 (python_abis_2.7) net-zope/zope-tales-3.5.1 (python_abis_2.7) net-zope/zope-testbrowser-4.0.2 (python_abis_2.7) net-zope/zope-testing-3.10.2 (python_abis_2.7) net-zope/zope-traversing-3.14.0 (python_abis_2.7) net-zope/zope-viewlet-3.7.2 (python_abis_2.7) net-zope/zopeundo-2.12.0 (python_abis_2.7) net-zope/zsqlmethods-2.13.4 (python_abis_2.7) And finally the output of emerge --info net-zope/zope: Portage 2.1.10.11 (default/linux/amd64/10.0/server, gcc-4.4.5, glibc-2.12.2-r0, 3.0.4-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.0.4-gentoo-x86_64-AMD_Athlon-tm-_64_Processor_3500+-with-gentoo-2.0.3 Timestamp of tree: Wed, 14 Sep 2011 01:00:02 +0000 distcc 3.1 x86_64-pc-linux-gnu [enabled] ccache version 2.4 [disabled] app-shells/bash: 4.1_p9 dev-lang/python: 2.7.3_pre20110911::progress, 3.1.3-r1, 3.2.3_pre20110911::progress dev-util/ccache: 2.4-r9 dev-util/cmake: 2.8.4-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.3-r1 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.4.5 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers) sys-libs/glibc: 2.12.2 Repositories: gentoo progress x-portage ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/fax /var/bind /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distcc distlocks ebuild-locks fixlafiles fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp-stud.hs-esslingen.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/" LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de" MAKEOPTS="-j11" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/progress /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext acl acpi alsa amd64 avahi berkdb bri bzip2 caps cli cracklib crypt cups cxx dbus dri expat fastcgi fortran gdbm iconv idn imap ipv6 jpeg ldap libclamav logrotate mmx mmxext modules mudflap multilib ncurses nfs nls nptl nptlonly oav ogg oggvorbis openmp pam pcre png pppd readline samba session snmp sse sse2 ssl sysfs tcpd threads tiff truetype unicode usb xml xorg zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= net-zope/zope-2.13.9 was built with the following: USE="(multilib) -doc" PYTHON_ABIS="2.7 -2.6 -2.7-pypy-1.5 -2.7-pypy-1.6"
An issue related to macro traversal was fixed in Zope 2.12.4. Maybe it's related: https://mail.zope.org/pipermail/zope-checkins/2010-March/034163.html
There were 33 commits on 2.13 branch between 2.13.7 and 2.13.9: r121623 r121735 r121768 r121833 r121895 r121900 r121901 r121918 r121929 r122021 r122026 r122051 r122161 r122167 r122247 r122248 r122249 r122279 r122286 r122338 r122386 r122413 r122419 r122429 r122433 r122436 r122437 r122634 r122635 r122637 r122642 r122651 r122652 2.13.7 tag was created from r121621. 2.13.8 tag was created from r122021. 2.13.9 tag was created from r122652. I have added net-zope/zope-2.13.9999, which downloads sources from upstream repository. Please add '=net-zope/zope-2.13.9999 **' to /etc/portage/package.keywords and try find revision, which has introduced this bug. Example: ESVN_REVISION="122021" emerge -1 =net-zope/zope-2.13.9999 If this bug still occurs, then try an older revision. Otherwise try a newer revision.
Thanks for the 2.13.9999 ebuild. It seems the issue is not related to the net-zope/zope ebuild itself, but is maybe caused by some kind of dependency or configuration problem. I tried going backwards using the the revisions you mentioned for 2.13.9, 2.13.8, and 2.13.7: ESVN_REVISION="122652" emerge -1 =net-zope/zope-2.13.9999 ESVN_REVISION="122021" emerge -1 =net-zope/zope-2.13.9999 ESVN_REVISION="121621" emerge -1 =net-zope/zope-2.13.9999 The error remained the same for each revision. I didn't try all revisions anymore after that. Even the 2.13.7 revision (121621) doesn't work like the one that used to be in the main portage tree.
If you unmask net-zope/zope-2.13.7 from the main tree and install it: emerge -1O =net-zope/zope-2.13.7::gentoo Then the problem still remains? Please also try older versions of net-zope/zope-pagetemplate and net-zope/zope-tal (after unmasking them): emerge -1 =net-zope/zope-pagetemplate-3.5.2 emerge -1 =net-zope/zope-tal-3.5.2
(In reply to comment #4) > emerge -1 =net-zope/zope-pagetemplate-3.5.2 > emerge -1 =net-zope/zope-tal-3.5.2 emerge -1O =net-zope/zope-pagetemplate-3.5.2 emerge -1O =net-zope/zope-tal-3.5.2
Thank you very much for your efforts. Your last suggestions helped to get a working Zope 2.13.7 again. I unmasked net-zope/zope-2.13.7 and installed the version from the main tree with `emerge -1O =net-zope/zope-2.13.7::gentoo`, but the Zope instance showed the same error. Finally, going back to net-zope/zope-pagetemplate-3.5.2 did the trick and I don't see errors anymore with Zope 2.13.7. So, it's probably an issue with net-zope/zope-pagetemplate-3.6.1.
I have restored net-zope/zope-pagetemplate-3.5.2 in Progress Overlay and adjusted dependencies in net-zope/zope. Please test the following combination to ensure that it works: =net-zope/zope-2.13.9::progress =net-zope/zope-pagetemplate-3.5.2::progress
(In reply to comment #7) > Please test the following combination to ensure that it works: > =net-zope/zope-2.13.9::progress > =net-zope/zope-pagetemplate-3.5.2::progress Yes, this combination works fine here. Thank you very much.
Could you report Zope-2.13.9 + zope.pagetemplate-3.6.* incompatibility to upstream? https://bugs.launchpad.net/zope2
(In reply to comment #9) > Could you report Zope-2.13.9 + zope.pagetemplate-3.6.* incompatibility to > upstream? > > https://bugs.launchpad.net/zope2 Yes, done: https://bugs.launchpad.net/zope2/+bug/854060
I have backported the patch from http://svn.zope.org/?rev=122788&view=rev to net-zope/zope-pagetemplate-3.6.1-r1. Please test it: emerge -1O =net-zope/zope-pagetemplate-3.6.1-r1::progress
(In reply to comment #11) > I have backported the patch from http://svn.zope.org/?rev=122788&view=rev to > net-zope/zope-pagetemplate-3.6.1-r1. > Please test it: > emerge -1O =net-zope/zope-pagetemplate-3.6.1-r1::progress Yes, works like a charm. Thank you for backporting.
Dependencies of net-zope/zope now again accept any version of net-zope/zope-pagetemplate.