This page was last updated on 11/5/2004 and reflects the state of the 1.0.10 core files which fixed most of the bugs that were previously reported here. If you have an earlier version of the core files, you should replace them with 1.0.9 before applying any of these changes!
Known Bugs (11/5/2004)
There are just a few known bugs in the 1.0.10 core files. Bugs are listed here alphabetically with date(s) and some have an internal bugbase number for reference (from WTG's bugbase).
AppFactory.createAppManager() passes configXML to appManager.init() (reported 10/2004; #39913) - This is actually a very old bug that has never been fixed (and it's completely harmless). The fix is to just remove the configXML argument from the call.
BaseComponent.setProperty() has bogus return (reported 10/2004; #39912) - This method has returntype="any" and attempts to return a value using a function that has returntype="void". This is harmless (as long as you don't attempt to use the value returned from setProperty()!). The fix is to change the return type to "void" and change the cfreturn tag to cfset.
Exception object does not contain all of the cfcatch keys (reported 10/2004; #38161) - At present, only the "standard" cfcatch key values are passed into the Mach II Exception object (type, message, errorCode, detail, extendedInfo and tagContext). Technically this isn't a bug - the behavior is by design - but it does make debugging certain types of errors unnecessarily difficult. The fix isn't straightforward because cfcatch isn't always a simple struct (ColdFusion does a little magic to ensure the "standard" key values are always present).
LSParseDateTime() Fails For Non-EN Locales
(reported 10/27/2003; #pending) - In an earlier cut of the framework, AppLoader.cfc used parseDateTime() to
process the modified date returned by <cfdirectory> which
failed in certain locales so it was changed to use LSParseDateTime() instead.
However, this fails on certain platforms when the locale set in ColdFusion
doesn't match the underlying locale of the server on which ColdFusion is
running. At present, we don't have definitive information about this bug
nor do we have a general fix for it. We have reverted to parseDateTime() since
we're running on en_us servers but we're setting the ColdFusion
locale to a variety of values.
Plugin.configure() executed in random order (reported 10/2004; #39868) - As part of the 1.0.10 release, the order of execution for plugin methods was changed to match the order in which the plugins are declared in mach-ii.xml. Unfortunately, we missed configure(). The fix is to change PluginManager.configure() to loop over the pluginArray instead of looping over the plugins collection (i.e., make configure() behave like preProcess(), preEvent() etc).
View not found exception generates White Screen Of Death (reported 2/2004; #28646) - if Mach II fails to load a view during the exception event handler, you get a blank screen instead of an exception report.
Fixed Bugs (11/5/2004)
The format for each item here is:
The Bug Name (date reported - version fixed) - some notes about the bug.
AppLoader.getAppFactory() (8/23/2003 - 1.0.6) - correctly
returns variables.appFactory.
Event.removeArg() return type is
incorrect (1/19/2004 - 1.0.9) - removeArg()
now has a return type of void.
EventBeanCommand still has public getters/setters (2/2004 - 1.0.10) -
methods are now private.
EventContext.hasPreviousEvent() throws error when there
is no previous event (2/2004 - 1.0.10) - no longer throws an error.
EventContext Error Under Load (9/11/2003 - 1.0.6) - event context creation is now correctly thread-safe.
EventManager method misspells output= (2/2004 - 1.0.10) -
typo is fixed.
Exception Event Does Not Contain Originating Event (10/9/2003 - 1.0.7) -
in an exception handler, you can now retrieve the event that caused the exception
from the event object using getArg('exceptionEvent').
Initialization Sequence Error (8/23/2003 - 1.0.4) - listeners
now use a configure() method instead of an init() method.
Listener Access to Properties (8/31/2003 - 1.0.6) - a listener
can now call getAppManager() directly, and from the application manager you
can get the property manager and from that you can get properties. This is
one step simpler than my proposed change against the 1.0.4 core files (which
added an intermediate getListenerManager() method.
Listener/Plugin configure() Called Twice (10/6/2003 - 1.0.7) - configure() is
now called only once.
mach-ii.cfm is not thread safe (12/8/2003
- 1.0.9) -
locking has been added to make this thread safe.
Multiple Mach II Applications (8/31/2003 - 1.0.6) - the core mach-ii.cfm now
caches the application framework CFC instances in application[MACHII_APP_KEY].appLoader where MACHII_APP_KEY is
derived from the directory in which the application's index.cfm lives.
You can override MACHII_APP_KEY in your local copy of mach-ii.cfm if
you need to.
Overriding MACHII_* Parameters (9/25/2003 - 1.0.7) - the mach-ii.cfm file
can now simply be included:
<cfinclude template="/MachII/mach-ii.cfm" />
Plugin Argument Validation (9/14/2003 - 1.0.4) -
now correctly specifies the eventContext argument to all plugin
pre-/post-methods.
PluginManager Argument Validation (8/28/2003 - 1.0.4) - now
correctly specifies the argument to getPlugin().
RequestHandler Performs Unnecessary Loops (10/23/2003 - 1.0.7) -
no longer loops over form and URL scope.
Thread Safety Issues (11/2003 - 1.0.8) - additional var declarations have
made Mach II thread safe.
Read more about...
- Official Mach II resources:
- The Mach II FAQ, Documentation and Articles.
- Configuring Mach II (PDF).
- Mach II DTD for the XML configuration file.
- The Mach II forum (on the Fusebox website) - also available as an RSS feed.
- The Mach II ColdFusion mailing list (on the Topica website).
- Resources on macromedia.com:
- Resources on this website:
- Why Mach II?
- Getting started with Mach II.
- The concepts behind Mach II.
- The anatomy of the "ContactManager" sample application.
- Stuff you can download for free!
- Bug fixes & enhancements for Mach II core files (updated 11/5/2004).
- Other Mach II resources:
- Mach-II.info - community FAQ and a more comprehensive sample application.
- Robby L's Mach II page - includes filters and plugins.