CFFORM + IE bug?

I've seen numerous posts relating to similar issues (and have
tried many of their solutions) - but the issue I'm having seems to
be a bit more specific. A cfform type="flash" that is compiled,
displayed, and functions issue free in Firefox (Win, Lin, Mac) and
Safari (Mac) will not display in any flavor of IE. The rest of the
page renders, just not the compiled flash object.
The server is running CF MX 7, I have verified the mappings,
I have placed a copy of CFIDE into the site root, I have tried
using the 'scriptsrc' attribute in the cfform opening tag, I have
tried an unofficial custom tag hack to get around the Eolas issue
that seems to be common - all with no success. No errors are being
generated by the application or the coldfusion server that its
running on. I have tried re-installing and upgrading various
computers to Flash Player 9 as well.
Any suggestions or familiarity with this goofy issue?

It's worth fixing some of the 99 errors here too...
http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.smsvb.net%2Fschool%2Findex.ht ml
Jo
"M G 2" <[email protected]> wrote in message
news:fgilo9$9jd$[email protected]..
>I have a page that displays fine in firefox, but not in
IE. In IE, it
>stretches
> the picture across the page. (
http://www.smsvb.net/school/index.html)
I
> thought it was the way I'd structured the tables, but
have checked those
> and
> can't find the problem. I also thought it might be in
the picture width
> and
> height, but changed those and still got the problem. I
posted that at
>
http://www.smsvb.net/school/index2.html.
I've done the browser
> compatibility
> check and dreamweaver only found a few problems in the
spry menu bar
> (which
> doesn't display correctly in IE, either, but that's at
least legible). I
> "fixed" all the "errors" in the menu bar css except one
that was necessary
> (.em; about half way down). I wouldn't think the spry
menu bar would be
> causing the problem, but the problem disappears, it
seems, when I remove
> the
> menu bar -
http://www.smsvb.net/school/index3.html.
As I know next to
> nothing
> about this code, can someone please takea look. It's my
work's web page
> and
> rather embarrassing to have it display so poorly. I've
posted the chunks
> of
> code I changed at
http://www.smsvbnet/school/changes.rft
and the spry css
> is at
>
http://www.smsvb.net/school/SpryAssets/SpryMenuBarHorizontal.css
- thanks
> to
> anyone for looking at this
>

Similar Messages

  • CFForm/CFInput Bug or confusion?

    I have a simple potluck form that I'm useing to learn the ins
    and outs of cfform
    with HTML and Flash
    With flash I need to omit he Submit field from the FormFields
    list to get the CFinput to work.
    I don't if I use HTML. Below the order of names changes even
    though all I change is the Format. Is this a bug or is something
    not set up correctly on my server.
    DISH=Flash
    FIELDNAMES=SUBMIT,TYPE,NAME,DISH,PEOPLE
    NAME=Tim
    PEOPLE=1
    SUBMIT=Add
    TYPE=Appetizer
    DISH=HTML
    FIELDNAMES=TYPE,NAME,DISH,PEOPLE,SUBMIT
    NAME=Tim
    PEOPLE=1
    SUBMIT=Add
    TYPE=Appetizer

    Sure I guess. This is just my testing app . I'm trying to
    understand enough of the issues to support production apps. Will
    any apps using cfinput be broken now?
    ************** Code Begin *******************
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
    Transitional//EN">
    <cfif isdefined("form")>
    <cfinsert datasource="POTLUCK" tablename="dishes"
    formfields="dish,type,name,people">
    </cfif>
    <cfquery datasource="POTLUCK" name="Types">
    SELECT * FROM dishtypes ORDER BY dishType
    </cfquery>
    <html>
    <head>
    <title>MIS Potluck Planner - Home Page</title>
    </head>
    <body style="font-family: Arial, Helvetica,
    sans-serif;">
    <font size="+1">
    <b>MIS Potluck Planner Entry Form <i>MIS Holiday
    Party</i> <br>
    Tuesday December 20, 2005 at Noon</b>
    </font>
    <br>
    <p>Just enter the information below and click on the
    Add button to the right. (If you make a mistake click on its ID
    below to delete it and add a new one).</p>
    <cfform action="index.cfm" method="POST" height="200"
    format="HTML" type="horizontal">
    <cfselect name="Type" width="200" label="Dish Type"
    query="types" value="dishtype" display="dishtype" visible="Yes"
    enabled="Yes" required="Yes"></cfselect>
    <cfinput type="Text" name="Name" label="Your Name"
    required="No" visible="Yes" enabled="Yes" size="10" maxlength="30"
    id="Name">
    <cfinput type="Text" name="Dish" width="150" label="Dish"
    required="No" visible="Yes" enabled="Yes" maxlength="35"
    id="Dish">
    <cfinput type="Text" name="People" value="1" width="50"
    label="People" required="No" visible="Yes" enabled="Yes"
    maxlength="3" id="People">
    <cfinput type="Submit" name="Submit" value="Add"
    visible="Yes" enabled="Yes">
    </cfform>
    <!--- <iframe src="DishList.cfm" width="800"
    height="400" align="middle"></iframe> --->
    </body>
    </html>

  • CFForm Bug or Confusion

    I have a simple potluck form that I'm useing to learn the ins
    and outs of cfform
    with HTML and Flash
    With flash I need to omit he Submit field from the FormFields
    list to get the CFinput to work.
    I don't if I use HTML. Below the order of names changes even
    though all I change is the Format. Is this a bug or is something
    not set up correctly on my server.
    DISH=Flash
    FIELDNAMES=SUBMIT,TYPE,NAME,DISH,PEOPLE
    NAME=Tim
    PEOPLE=1
    SUBMIT=Add
    TYPE=Appetizer
    DISH=HTML
    FIELDNAMES=TYPE,NAME,DISH,PEOPLE,SUBMIT
    NAME=Tim
    PEOPLE=1
    SUBMIT=Add
    TYPE=Appetizer

    Sure I guess. This is just my testing app . I'm trying to
    understand enough of the issues to support production apps. Will
    any apps using cfinput be broken now?
    ************** Code Begin *******************
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
    Transitional//EN">
    <cfif isdefined("form")>
    <cfinsert datasource="POTLUCK" tablename="dishes"
    formfields="dish,type,name,people">
    </cfif>
    <cfquery datasource="POTLUCK" name="Types">
    SELECT * FROM dishtypes ORDER BY dishType
    </cfquery>
    <html>
    <head>
    <title>MIS Potluck Planner - Home Page</title>
    </head>
    <body style="font-family: Arial, Helvetica,
    sans-serif;">
    <font size="+1">
    <b>MIS Potluck Planner Entry Form <i>MIS Holiday
    Party</i> <br>
    Tuesday December 20, 2005 at Noon</b>
    </font>
    <br>
    <p>Just enter the information below and click on the
    Add button to the right. (If you make a mistake click on its ID
    below to delete it and add a new one).</p>
    <cfform action="index.cfm" method="POST" height="200"
    format="HTML" type="horizontal">
    <cfselect name="Type" width="200" label="Dish Type"
    query="types" value="dishtype" display="dishtype" visible="Yes"
    enabled="Yes" required="Yes"></cfselect>
    <cfinput type="Text" name="Name" label="Your Name"
    required="No" visible="Yes" enabled="Yes" size="10" maxlength="30"
    id="Name">
    <cfinput type="Text" name="Dish" width="150" label="Dish"
    required="No" visible="Yes" enabled="Yes" maxlength="35"
    id="Dish">
    <cfinput type="Text" name="People" value="1" width="50"
    label="People" required="No" visible="Yes" enabled="Yes"
    maxlength="3" id="People">
    <cfinput type="Submit" name="Submit" value="Add"
    visible="Yes" enabled="Yes">
    </cfform>
    <!--- <iframe src="DishList.cfm" width="800"
    height="400" align="middle"></iframe> --->
    </body>
    </html>

  • CFMX 7 CFFORM Validation doesn't work in 7.0.1

    We have code that's been running under CF5 and CF6.1 just
    fine, but when we moved it to CF7 all of the cfform validation
    stopped working (standard cfform w/ no additional custom
    javascript, just cfinput tags w/ required attributes). We updated
    the server to the newest version, and even applied the cumulative
    hotfix .jar file, but to no avail. Seems to be some consensus out
    there that there's a bug in version 7.0.1 where the path to the
    cfform.js file (/cfide/scripts/cfform.js) is not being translated
    properly so that the browser can find that .js include. I found a
    workaround, but I had to create a virtual directory "cfide" (that
    points to the actual cfide directory in the webroot) in IIS so that
    the mappings would work properly. This isn't terribly secure and is
    kind of a silly workaround to have to do when it worked perfectly
    under the other versions of CF and the /CFIDE mapping is in place
    in the CF Administrator. Anyone else having this issue, and beyond
    that, know if macromedia/adobe has (or is working on) a fix for
    this?
    Thanks in advance.

    That could be also, but in our case, we're not even using
    custom JavaScript. We're just using the internal cf form
    validation:
    Example:
    <cfform action="default.cfm" method="post">
    <cfinput name="firstname" type="text" required="yes"
    message="enter your name">
    <input type="submit" value="submit" name="submit">
    </cfform>
    And, unless we create an IIS virtual directory mapping to the
    CFIDE folder, even though it's in the CF Administrator mappings,
    the validation doesn't work, even though it did in previous CF
    versions.
    Thanks for the idea, though.

  • Datefield Bug??

    I was trying to allow a user to select a range of dates so
    that they can search the database. It works great with one problem
    that might be considered as a bug. I wanted to see if anybody knows
    how to solve this problem before I go and report it.
    Here's the problem:
    Using the code attached, once the first select box is
    populated without scrolling through the months and then the second
    datefield is populated a problem arises. So once you try to select
    another date in the first datefield box in a month that is at least
    4 to 5 months before, some dates don't display. I thought it was a
    white on white error but I couldn't change the calender's font
    color. So I figured that if I didn't display today's date on the
    first select field that it would take care of the error. This
    worked when I used "Datename1.showToday = false;" in the start of
    the RangeStart function. The thing is, I would like to keep today's
    date selected but haven't found another way around the issue. Does
    anybody know what I could to do eliminate this problem.
    Jeff

    I can't recreate your error with your code. It loads a cfform
    with two date fields. I can select a date in field one, then select
    a date in field two, then move back to field one and select any
    date which comes before field two. I scrolled back 12 months (you
    said 4 or 5 months) without issue.
    Can you elborate any more? Perhaps I misunderstood the nature
    of your issue.

  • Having a bug only with Internet Explorer 7

    I am trying to create a special datagrid to store new member
    of a project (the interface is to create new project). I am able to
    open a cfwindow if the user want to add a new member into the
    datagrid. The cfwindow will consist of a form of 3 cfselects
    (member's type, member's name, and member's role). Once the user
    submit the form, it save the new member into a special table as a
    temp table (this is the way I found to play with many generation of
    information while having all into one single page instead of having
    several steps to create a new project).
    Anyway, when the user click on the submit button from the
    cfwindow, the application will save the new member, refresh the
    datagrid from the parent window and close the cfwindow. It makes me
    very nervous as I was not able to accomplish with success that part
    until I decided to try with Firefox and see what the Firebug
    feature will say about any problem. Instead of seing a problem, I
    saw a success!!! I started again in IE7 and the problem persists.
    The problem is when the form is submitted, the cfwindow comes to be
    the master window and it is not anymore a cfwindow, while Firefox
    can process the submit, the refresh of the datagrid on the
    master/parent window and close the cfwindow properly.
    Anybody have a clue to correct this of we live with this? I
    am not confortable with this bug and to be honest, I would prefer
    the inverse as we are Microsoft Partner and the business want to
    use - as much as possible - Microsoft product including Internet
    Explorer. This is not my decision as I love Firefox but this is
    something I have to deal with!
    I include the code from the CFWindow only as the master
    window contains a large amount of code that it is out of this scope
    since there is not associated problem at the moment.
    Thank you for any help.

    I finally change my interface completely! I decided to go
    with step-by-step philosophy as I had to much problem to play with
    a single page to accommodate all the information and forms. The
    step-by-step method I decided to use is involving a CFLAYOUT which
    is change from simple AHREF link (where I use images instead of
    text to be more stylish for the user) click. This actually help me
    to finish that part of the application (after 2 intensive days of
    bugs investigation concerning the new features of CF8). I am not
    saying that the problem is CF8, in a contrary, but we have to be
    careful when using the new tags because some combinations can be a
    nightmare to figure out the proper way - to not say that is it not
    possible to be used in combination at all for some of them.
    Please note that all datefield input are working perfectly
    now. I do not know what was the problem exactly but I suspected
    that it was concerning embedding tags into tags such as CFFORM
    within CFWINDOW within CFLAYOUT/CFLAYOURAREA within CFFORM. I still
    want to turn myself to the EXT2 library but the time, as I said
    before, is a big issue for me (as I miss the appropriate time to do
    it). Perhaps CF9 will be on a beta version soon and I will be able
    to figure out faster as they certainly expect to use the EXT2 in
    the next version.

  • CFFORM and CFADMIn

    Question, Can anyone think of a reason why when I put a
    CFFORM tag and CFINPUT tag on a page, before the page even loads it
    prompts for a username and password for the ColdFusion
    administrator? It's CF MX 6.1.
    Additionally, if you bypass the user/password box, and hit
    cancel it lets you into the form. Firefox and IE have the same
    problem.

    Hello,
    I have beating my head against the wall for the last week
    trying to figure this out...
    When I ran this code on my most updated cf8 box, I do not get
    the “dropdown” of values I used to get when I click on
    the state column to edit.
    I am going crazy and I need to have some validation that this
    is a bug.
    You can see it in action here….
    http://www.gobluecricket.com/bluecricket/cfgrid/danvegagrid2.cfm
    Do you have any idea if this is a bug in CF8? Is there any
    technical help besides the support forums for developers like me
    who are using CF8?
    Thanks for you time.
    Vince.
    --------------- Grid Test
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <title>Grid Test</title>
    </head>
    <body>
    <!--- <cfquery name="getArtists"
    datasource="cfartgallery">
    SELECT artistId, firstname, lastname, address, city, state,
    postalcode, email
    FROM Artists
    </cfquery> --->
    <cfscript>
    getArtists = QueryNew("artistId, firstname, lastname,
    address, city, state, email");
    newRow = QueryAddRow(getArtists);
    QuerySetCell(getArtists, "artistId", "1" );
    QuerySetCell(getArtists, "FirstName", "Freddie" );
    QuerySetCell(getArtists, "LastName", "Acker" );
    QuerySetCell(getArtists, "address", "cowtown road" );
    QuerySetCell(getArtists, "city", "gayton" );
    QuerySetCell(getArtists, "state", "IL" );
    QuerySetCell(getArtists, "email","[email protected]" );
    newRow = QueryAddRow(getArtists);
    QuerySetCell(getArtists, "artistId", "2" );
    QuerySetCell(getArtists, "FirstName","Angie" );
    QuerySetCell(getArtists, "LastName", "Acker" );
    QuerySetCell(getArtists, "address", "friendship road" );
    QuerySetCell(getArtists, "city", "jamestown" );
    QuerySetCell(getArtists, "state", "TX" );
    QuerySetCell(getArtists, "email","[email protected]" );
    // etc.
    </cfscript>
    <cfset args = structNew()>
    <cfset args.name = "ArtistGrid">
    <cfset args.format = "html">
    <cfset args.query = "getArtists">
    <cfset args.stripeRows = true>
    <cfset args.selectColor = "##D9E8FB">
    <cfset args.selectmode = "edit">
    <cfset args.style="z-index:1000;">
    <cfset args.onchange =
    "cfc:artists.editArtist({cfgridaction},{cfgridrow},{cfgridchanged})">
    <cfset state_abbr =
    "AL,AK,AZ,AR,CA,CO,CT,DE,DC,FL,GA,HI,ID,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MS,MO,MT,NE,NV,N H,NJ,NM,NY,NC,ND,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VT,VA,WA,WV,WI,WY">
    <cfset state_name =
    "Alabama,Alaska,Arizona,Arkansas,California,Colorado,Connecticut,Delaware,District
    of
    Columbia,Florida,Georgia,Hawaii,Idaho,Illinois,Indiana,Iowa,Kansas,Kentucky,Louisiana,Mai ne,Maryland,Massachusetts,Michigan,Minnesota,Mississippi,Missouri,Montana,Nebraska,Nevada, New
    Hampshire,New Jersey,New Mexico,New York,North Carolina,North
    Dakota,Ohio,Oklahoma,Oregon,Pennsylvania,Rhode Island,South
    Carolina,South
    Dakota,Tennessee,Texas,Utah,Vermont,Virginia,Washington,West
    Virginia,Wisconsin,Wyoming">
    <cfform>
    <cfgrid attributeCollection="#args#">
    <cfgridcolumn name="artistid" display="false">
    <cfgridcolumn name="firstname" header="First Name">
    <cfgridcolumn name="lastname" header="Last Name">
    <cfgridcolumn name="email" header="Email Address">
    <cfgridcolumn name="address" header="Address">
    <cfgridcolumn name="city" header="City">
    <cfgridcolumn name="state" header="State" width="125"
    select="yes" values="#state_abbr#" valuesdisplay="#state_name#"
    valuesdelimiter=",">
    </cfgrid>
    </cfform>
    </body>
    </html>
    ------------------- Artists.cfc (in the same directory as
    above file) ----------------------------------------------
    <cfcomponent>
    <cffunction name="editArtist" access="remote"
    returntype="string">
    <cfargument name="gridaction" type="string"
    required="yes">
    <cfargument name="gridrow" type="struct"
    required="yes">
    <cfargument name="gridchanged" type="struct"
    required="yes">
    <cfset myResult="foo">
    <cfreturn myResult>
    </cffunction>
    </cfcomponent>

  • Cftextarea onChange bug

    If richtext is enabled, the onChange attrubute does not work.
    Sample code is below:
    <cfparam name="URL.richtext" default="Yes">
    <cfif IsDefined("form.YOURNAME")>
    <cfset variables.YOURNAME = form.YOURNAME>
    <cfelse>
    <cfset variables.YOURNAME = "">
    </cfif>
    <cfif IsDefined("form.USER_COMMENT")>
    <cfset variables.USER_COMMENT = form.USER_COMMENT>
    <cfelse>
    <cfset variables.USER_COMMENT = "">
    </cfif>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <title>cftextarea onChange bug</title>
    </head>
    <body>
    You should see a javascript 'Hi' alert when you enter some
    text into the the cftextarea field and then click in the Your Name
    field. Unfortunately, you only see the message when richtext
    is not enabled.
    <br /><br />
    <cfif URL.richtext EQ "Yes">
    Richtext is currently enabled and you will not see the 'Hi'
    message after altering the Comment field and clicking in the
    Your Name field.
    <a href="test_cftextarea_bug.cfm?richtext=No"
    style="color:blue;">Click here to
    <strong>disable</strong> richtext</a>.
    <cfelse>
    Richtext is currently disabled and you will see the 'Hi'
    message after altering the Comment field and clicking in the
    Your Name field.
    <a href="test_cftextarea_bug.cfm?richtext=Yes"
    style="color:blue;">Click here to
    <strong>enable</strong> richtext</a>
    </cfif>
    <CFFORM
    ACTION="test_cftextarea_bug.cfm?richtext=#URL.richtext#"
    METHOD="POST" id="test_cftextarea_bug"
    name="test_cftextarea_bug_form">
    Comment:
    <CFTEXTAREA onChange="alert('Hi');" name="USER_COMMENT"
    richtext="#URL.richtext#"><cfoutput>#variables.USER_COMMENT#</cfoutput></CFTEXTAREA>
    <br /><br />
    Your Name: <CFINPUT type="text" name="YOURNAME"
    value="#variables.YOURNAME#">
    <br /><br />
    <cfinput type="submit" name="GO" value="Submit">
    </CFFORM>
    </body>
    </html>

    I also have tried to validate the text on a cftextarea by
    javascript and it was not fired when triggered onChange event.
    So I have put it like,
    <cftextarea name="txtStake" id="txtStake" height="5"
    class="formtextboxRight" onkeyup="checkInput(this,1000)"
    onkeydown="checkInput(this,1000)">
    This worked fine and checkInput() function was fired.

  • Is iBooks having a bug ?

    Hi,
    When trying to import my library to Ibooks, more than 50 % of my books have been discarted supposedly because the file is corrupted, or has an invalid format, or something else.
    All these files where working fine in Itunes and where successfully synchronized with my Ipad.
    All these files can be read with any book reader.
    Any idea ???

    I finally change my interface completely! I decided to go
    with step-by-step philosophy as I had to much problem to play with
    a single page to accommodate all the information and forms. The
    step-by-step method I decided to use is involving a CFLAYOUT which
    is change from simple AHREF link (where I use images instead of
    text to be more stylish for the user) click. This actually help me
    to finish that part of the application (after 2 intensive days of
    bugs investigation concerning the new features of CF8). I am not
    saying that the problem is CF8, in a contrary, but we have to be
    careful when using the new tags because some combinations can be a
    nightmare to figure out the proper way - to not say that is it not
    possible to be used in combination at all for some of them.
    Please note that all datefield input are working perfectly
    now. I do not know what was the problem exactly but I suspected
    that it was concerning embedding tags into tags such as CFFORM
    within CFWINDOW within CFLAYOUT/CFLAYOURAREA within CFFORM. I still
    want to turn myself to the EXT2 library but the time, as I said
    before, is a big issue for me (as I miss the appropriate time to do
    it). Perhaps CF9 will be on a beta version soon and I will be able
    to figure out faster as they certainly expect to use the EXT2 in
    the next version.

  • Index with "or" clause (BUG still exists?)

    The change log for 2.3.10 mentions "Fixed a bug that caused incorrect query plans to be generated for predicates that used the "or" operator in conjunction with indexes [#15328]."
    But looks like the Bug still exists.
    I am listing the steps to-repro. Let me know if i have missed something (or if the bug needs to be fixed)
    DATA
    dbxml> openContainer test.dbxml
    dbxml> getDocuments
    2 documents found
    dbxml> print
    <node><value>a</value></node>
    <node><value>b</value></node>
    INDEX (just one string equality index on node "value")
    dbxml> listIndexes
    Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
    Index: node-element-equality-string for node {}:value
    2 indexes found.
    QUERY
    setVerbose 2 2
    preload test.dbxml
    query 'let $temp := fn:compare("test", "test") = 0
    let $results := for $i in collection("test.dbxml")
    where ($temp or $i/node[value = ("a")])
    return $i
    return <out>{$temp}{$results}</out>'
    When $temp is true i expected the result set to contain both the records, but that was not the case with the index. It works well when there is no index!
    Result WITH INDEX
    dbxml> print
    <out>true<node><value>a</value></node></out>
    Result WITHOUT INDEX
    dbxml> print
    <out>true<node><value>a</value></node><node><value>b</value></node></out>

    Hi Vijay,
    This is a completely different bug, relating to predicate expressions that do not examine nodes. Please try the following patch, to see if it fixes this bug for you:
    --- dbxml-2.3.10-original/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-04-18 10:05:24.000000000 +0100
    +++ dbxml-2.3.10/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-08-08 11:32:10.000000000 +0100
    @@ -1566,11 +1572,12 @@
         else if(name == Or::name) {
              UnionQP *unionOp = new (&memMgr_) UnionQP(&memMgr_);
    +          result.operation = unionOp;
              for(VectorOfASTNodes::iterator i = args.begin(); i != args.end(); ++i) {
                   PathResult ret = generate(*i, ids);
                   unionOp->addArg(ret.operation);
    +               if(ret.operation == 0) result.operation = 0;
    -          result.operation = unionOp;
         // These operators use the presence of the node arguments, not their valueJohn

  • Bug report follow-up

    is there a way to follow-up on a bug report that i submitted?  i have the bug number, but would like to see if the report was understood, filled out properly and determine the status of the bug report.
    thanks,
    doug

    They comment on bugs if actions were taken. Otherwise - don't expect any feedback.

  • Solaris8 and 9 (possibly 7) /dev/poll driver bug report.

    Hello,
    I'd like to report a bug in the solaris 8 and 9 /dev/poll driver (poll(7d)).
    As i do not have a support account with sun or anything like that, there
    seems to be no other way to do that here (which is of course a very sad
    thing).
    Bug details:
    The /dev/poll device provides an ioctl-request (DP_ISPOLLED) for checking
    if a particular filedescriptor is currently in the set of monitored
    filedescriptors for that particular /dev/poll fd set (open /dev/poll fd).
    A quote from the documentation of the poll(7d) manual page taken from
    Solaris9:
    "DP_ISPOLLED ioctl allows you to query if a file descriptor is already in
    the monitored set represented by fd. The fd field of the pollfd structure
    indicates the file descriptor of interest. The DP_ISPOLLED ioctl returns 1
    if the file descriptor is in the set. The events field contains the
    currently polled events. The revents field contains 0. The ioctl returns 0
    if the file descriptor is not in the set. The pollfd structure pointed by
    pfd is not modified. The ioctl returns a -1 if the call fails."
    It says that when you query for an filedescriptor which is currently being
    monitored in the set, that it would return 1, and change the events field of
    the pollfd structure to the events it's currently monitoring that fd for.
    The revents field would be set to zero.
    However the only thing which actually happens here, is that FD_ISPOLLED
    returns 1 when the fd is in the set and 0 if not. When the fd is in the
    set, when FD_ISPOLLED returns 1, the events field remains unmodified, but
    the revents field gets changed.
    A small sample code to illustrate:
    #include <stdio.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <sys/devpoll.h>
    main() {
    struct pollfd a;
    int dp_fd = open("/dev/poll", O_WRONLY);
    a.fd = 0; /* stdin */
    a.events = POLLIN; /* we monitor for readability, POLLIN=1 */
    a.revents = 0;
    write(dp_fd, &a, sizeof(a));
    a.fd = 0;
    a.events = 34; /* filled in with bogus number to show malfunctioning */
    a.revents = 0;
    printf("DP_ISPOLLED returns: %d\n", ioctl(dp_fd, DP_ISPOLLED, &a));
    printf("a.fd=%d, a.events=%hd, a.revents=%hd\n", a.fd, a.events,
    a.revents);
    According to the documentation of /dev/poll and namely DP_ISPOLLED this
    program is supposed to print the following:
    DP_ISPOLLED returns: 1
    a.fd=0, a.events=1, a.revents=0
    However it prints the following:
    DP_ISPOLLED returns: 1
    a.fd=0, a.events=34, a.revents=1
    You can take any number instead of '34' and it will simply remain untouched
    after the DP_ISPOLLED ioctl-request.
    I hope it's clear now that the solaris8 and solaris9 (and probably solaris7
    with /dev/poll patch too) DP_ISPOLLED implementation is broken.
    This bug is also easily illustrated by looking at the solaris8 kernel sourcecode:
    <snippet osnet_volume/usr/src/uts/common/io/devpoll.c:dpioctl()>
    case DP_ISPOLLED:
    pollfd_t pollfd;
    polldat_t *pdp;
    if (pollfd.fd < 0) {
    mutex_exit(&pcp->pc_lock);
    break;
    pdp = pcache_lookup_fd(pcp, pollfd.fd);
    if ((pdp != NULL) && (pdp->pd_fd == pollfd.fd) &&
    (pdp->pd_fp != NULL)) {
    pollfd.revents = pdp->pd_events;
    if (copyout(&pollfd, (caddr_t)arg,
    sizeof(pollfd_t))) {
    mutex_exit(&pcp->pc_lock);
    DP_REFRELE(dpep);
    return (set_errno(EFAULT));
    *rvalp = 1;
    </snippet>
    its' clearly visible that the code writes the current monitored events to
    the revents field:
    'pollfd.revents = pdp->pd_events;'
    and that it doesnt set revents to zero.
    It's funny to see that this has been like this since Solaris8 (possibly 7). That means nobody ever used DP_ISPOLLED that way or people were simply to lazy to file a bug report.
    Another funny thing related to this. is that Hewlett-Packard did seem to know about this. Since HP-UX11i version 1.6 they also support /dev/poll. From their manual page i ll quote some sentences from their WARNING session:
    "The ioctl(DP_ISPOLLED) system call also returns its result in the revents member of the pollfd structure, in order to be compatible with the implementation of the /dev/poll driver by some other vendors."
    Hopefully this will get fixed.
    I also like to reexpress my very negative feelings towards the fact that you're not able to file bug reports when you do not have a support contract. Ridiculous.
    Thanks,
    bighawk

    Have I mentioned how much i love my playbook now Great job on os 2.0

  • [bdb bug]repeatly open and close db may cause memory leak

    my test code is very simple :
    char *filename = "xxx.db";
    char *dbname = "xxx";
    for( ; ;)
    DB *dbp;
    DB_TXN *txnp;
    db_create(&dbp,dbenvp, 0);
    dbenvp->txn_begin(dbenvp, NULL, &txnp, 0);
    ret = dbp->open(dbp, txnp, filename, dbname, DB_BTREE, DB_CREATE, 0);
    if(ret != 0)
    printf("failed to open db:%s\n",db_strerror(ret));
    return 0;
    txnp->commit(txnp, 0);
    dbp->close(dbp, DB_NOSYNC);
    I try to run my test program for a long time opening and closing db repeatly, then use the PS command and find the RSS is increasing slowly:
    ps -va
    PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
    1986 pts/0 S 0:00 466 588 4999 980 0.3 -bash
    2615 pts/0 R 0:01 588 2 5141 2500 0.9 ./test
    after a few minutes:
    ps -va
    PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
    1986 pts/0 S 0:00 473 588 4999 976 0.3 -bash
    2615 pts/0 R 30:02 689 2 156561 117892 46.2 ./test
    I had read bdb's source code before, so i tried to debug it for about a week and found something like a bug:
    If open a db with both filename and dbname, bdb will open a db handle for master db and a db handle for subdb,
    both of the two handle will get an fileid by a internal api called __dbreg_get_id, however, just the subdb's id will be
    return to bdb's log region by calling __dbreg_pop_id. It leads to a id leak if I tried to open and close the db
    repeatly, as a result, __dbreg_add_dbentry will call realloc repeatly to enlarge the dbentry area, this seens to be
    the reason for RSS increasing.
    Is it not a BUG?
    sorry for my pool english :)
    Edited by: user9222236 on 2010-2-25 下午10:38

    I have tested my program using Oracle Berkeley DB release 4.8.26 and 4.7.25 in redhat 9.0 (Kernel 2.4.20-8smp on an i686) and AIX Version 5.
    The problem is easy to be reproduced by calling the open method of db handle with both filename and dbname being specified and calling the close method.
    My program is very simple:
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/time.h>
    #include "db.h"
    int main(int argc, char * argv[])
    int ret, count;
    DB_ENV *dbenvp;
    char * filename = "test.dbf";
    char * dbname = "test";
    db_env_create(&dbenvp, 0);
    dbenvp->open(dbenvp, "/home/bdb/code/test/env",DB_CREATE|DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL, 0);
    for(count = 0 ; count < 10000000 ; count++)
    DB *dbp;
    DB_TXN *txnp;
    db_create(&dbp,dbenvp, 0);
    dbenvp->txn_begin(dbenvp, NULL, &txnp, 0);
    ret = dbp->open(dbp, txnp, filename, dbname, DB_BTREE, DB_CREATE, 0);
    if(ret != 0)
    printf("failed to open db:%s\n",db_strerror(ret));
    return 0;
    txnp->commit(txnp, 0);
    dbp->close(dbp, DB_NOSYNC);
    dbenvp->close(dbenvp, 0);
    return 0;
    DB_CONFIG is like below:
    set_cachesize 0 20000 0
    set_flags db_auto_commit
    set_flags db_txn_nosync
    set_flags db_log_inmemory
    set_lk_detect db_lock_minlocks
    Edited by: user9222236 on 2010-2-28 下午5:42
    Edited by: user9222236 on 2010-2-28 下午5:45

  • Multiple return values (Bug-ID 4222792)

    I had exactly the same request for the same 3 reasons: strong type safety and code correctness verification at compile-time, code readability and ease of mantenance, performance.
    Here is what Sun replied to me:
    Autoboxing and varargs are provided as part of
    JSRs 14 and 201
    http://jcp.org/en/jsr/detail?id=14
    http://jcp.org/en/jsr/detail?id=201
    See also:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://developer.java.sun.com/developer/earlyAccess/adding_generics/index.html
    Multiple return values is covered by Bug-ID 4222792
    Typically this is done by returning an array.
    http://developer.java.sun.com/developer/bugParade/bugs/4222792.html
    That's exactly the problem: we dynamically create instances of array objects that would better fit well within the operand stack without stressing the garbage collector with temporary Array object instances (and with their backing store: 2 separate allocations that need to be recycled when it is clearly a pollution that the operand stack would clean up more efficiently)
    If you would like to engage in a discussion with the Java Language developers, the Generics forum would be a better place:
    http://forum.java.sun.com/forum.jsp?forum=316
    I know that (my report was already refering to the JSR for language extension) Generics is not what I was refering to (even if a generic could handle multiple return values, it would still be an allocated Object
    instance to pack them, i.e. just less convenient than using a static class for type safety.
    The most common case of multiple return values involve values that have known static datatypes and that should be checked with strong typesafety.
    The simple case that involves returning two ints then will require at least two object instances and will not solve the garbage collection overhead.
    Using a array of variable objects is exactly similar, except that it requires two instances for the components and one instance for the generic array container. Using extra method parameters with Integer, Byte, ... boxing objects is more efficient, but for now the only practical solution (which causes the least pollution in the VM allocator and garbage collector) is to use a custom class to store the return values in a single instance.
    This is not natural, and needlessly complexifies many interfaces.
    So to avoid this pollution, some solutions are used such as packing two ints into a long and returning a long, depacking the long after return (not quite clean but still much faster at run-time for methods that need to be used with high frequencies within the application. In some case, the only way to cut down the overhead is to inline methods within the caller code, and this does not help code maintenance by splitting the implementation into small methods (something that C++ can do very easily, both because it supports native types parameters by reference, and because it also supports inline methods).
    Finally, suppose we don't want to use tricky code, difficult to maintain, then we'll have to use boxing Object types to allow passing arguments by reference. Shamely boxed native types cannot be allocated on the operand stack as local variables, so we need to instanciate these local variables before call, and we loose the capacity to track the cases where these local variables are not really initialized by an effective call to the method that will assign them. This does not help debugging, and is against the concept of a strongly typed language like Java should be:
    Java makes lots of efforts to track uninitialized variables, but has no way to determine if an already instanciated Object instance refered in a local variable has effectively received an effective assignment because only the instanciation is kept. A typical code will then need to be written like this:
    Integer a = null;
    Integer b = null;
    if (some condition) {
    //call.method(a, b, 0, 1, "dummy input arg");
    // the method is supposed to have assigned a value to a and b,
    // but can't if a and b have not been instanciated, so we perform:
    call.method(a = new Integer(), b = new Integer(), 0, 1, "dummy input
    arg");
    // we must suppose that the method has modified (not initialized!)
    the value
    // of a and b instances.
    now.use(a.value(), b.value())
    // are we sure here that a and b have received a value????
    // the code may be detected at run-time (a null exception)
    // or completely undetected (the method() above was called but it
    // forgot to assign a value to its referenced objects a and b, in which
    // case we are calling in fact: now.use(0, 0); with the default values
    // or a and b, assigned when they were instanciated)
    Very tricky... Hard to debug. It would be much simpler if we just used:
    int a;
    int b;
    if (some condition) {
    (a, b) = call.method(0, 1, "dummy input arg");
    now.use(a, b);
    The compiler would immediately detect the case where a and b are in fact not always initialized (possible use bere initialization), and the first invoked call.method() would not have to check if its arguments are not null, it would not compile if it forgets to return two values in some code path...
    There's no need to provide extra boxing objects in the source as well as at run-time, and there's no stress added to the VM allocator or garbage collector simply because return values are only allocated on the perand stack by the caller, directly instanciated within the callee which MUST (checked at compile-time) create such instances by using the return statement to instanciate them, and the caller now just needs to use directly the variables which were referenced before call (here a and b). Clean and mean. And it allows strong typechecking as well (so this is a real help for programmers.
    Note that the signature of the method() above is:
    class call {
    (int, int) method(int, int, String) { ... }
    id est:
    class "call", member name "method", member type "(IILjava.lang.string;)II"
    This last signature means that the method can only be called by returning the value into a pair of variables of type int, or using the return value as a pair of actual arguments for another method call such as:
    call.method(call.method("dummy input arg"), "other dummy input arg")
    This is strongly typed and convenient to write and debug and very efficient at run-time...

    Can anyone give me some real-world examples where
    multiple return values aren't better captured in a
    class that logically groups those values? I can of
    course give hundreds of examples for why it's better
    to capture method arguments as multiple values instead
    of as one "logical object", but whenever I've hankered
    for multiple return values, I end up rethinking my
    strategy and rewriting my code to be better Object
    Oriented.I'd personally say you're usually right. There's almost always a O-O way of avoiding the situation.
    Sometimes though, you really do just want to return "two ints" from a function. There's no logical object you can think of to put them in. So you end up polluting the namespace:
    public class MyUsefulClass {
    public TwoInts calculateSomething(int a, int b, int c) {
    public static class TwoInts {
        //now, do I use two public int fields here, making it
        //in essence a struct?
       //or do I make my two ints private & final, which
       //requires a constructor & two getters?
      //and while I'm at it, is it worth implementing
      //equals(), how about hashCode()? clone()?
      //readResolve() ?
    }The answer to most of the questions for something as simple as "TwoInts" is usually "no: its not worth implementing those methods", but I still have to think about them.
    More to the point, the TwoInts class looks so ugly polluting the top level namespace like that, MyUsefulClass.TwoInts is public, that I don't think I've ever actually created that class. I always find some way to avoid it, even if the workaround is just as ugly.
    For myself, I'd like to see some simple pass-by-value "Tuple" type. My fear is it'd be abused as a way for lazy programmers to avoid creating objects when they should have a logical type for readability & maintainability.
    Anyone who has maintained code where someone has passed in all their arguments as (mutable!) Maps, Collections and/or Arrays and "returned" values by mutating those structures knows what a nightmare it can be. Which I suppose is an argument that cuts both ways: on the one hand you can say: "why add Tuples which would be another easy thing to abuse", on the other: "why not add Tuples, given Arrays and the Collections framework already allow bad programmers to produce unmainable mush. One more feature isn't going to make a difference either way".
    Ho hum.

  • Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Remove the extensions, redownload Safari, reload the extensions.
    http://www.apple.com/safari/download/
    And if you really want a better experience, use Firefox, tons more choices and possibilities there.
    Firefox's "NoScript" will block the Trojan going around on websites. Best web security you can get.
    https://addons.mozilla.org/en-US/firefox/addon/noscript/
    Ghostery, Ad Block Plus and thousands of add-ons more have originated on Firefox.

Maybe you are looking for

  • DataTable.Rows.Count property is occasionally wrong

    I have a web service in C#.NET which calls a stored procedure using ADO.NET. The stored procedure is always returning 1 row, which is then loaded into a DataTable. The Rows.Count property of the DataTable is then examined. When this web service is ca

  • Photoshop CC 2014 3D positioning in video animation timeline

    I'm a mac user and experimenting with the 3D and video timeline features. All I am trying to do is make a small custom shaped logo spin in place although it starts to spin around an axis that is off camera. My instructor at school did the exact same

  • No Conflicts found for identical Rules at the Global VS Custom Ruleset

    Hi, We are having an issue with our User level testing where conflicting T-codes(MB01 and ME22N) are showing up with no conflicts at the permission level for the custom Rules. We ran a comparison of the rules at the permission level for both the Glob

  • Write series of space characters in a list

    Hi experts, is there a way i can write a series of space characters in a list, i need a simpler way so that i'll not have to write it manually. right now my code looks like this. write:/1 '|', '****', '|'. "<---(5 spaces)( represents space char). the

  • Can i retrieve photos deleted by ios 7.1.2

    This morning i downloaded IOS 7.1.2 onto my Iphone 5C.  I assumed all my photos were in ICloud.  After the download was completed all my photos have been removed.  Can I retrieve them somehow?