We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20829
    • 28 Posts
    Getting the following parse error every now and then. A simple refresh and its gone again. Anyone any ideas?
    ---------------------------------------------------------------------------------------

    « MODx Parse Error »
    MODx encountered the following error while attempting to parse the requested resource:

    « Execution of a query to the database failed - Can’t create/write to file ’E:\Program Files\SWsoft\Plesk\Databases\MySQL\Data\#sql_7fc_0.MYI’ (Errcode: 17) »

    SQL: SELECT DISTINCT sc.id,sc.pagetitle,sc.description,sc.content, s_tvcv.value AS startDate, e_tvcv.value AS endDate, h_tvcv.value AS hide FROM (`pg_1`.`modx_site_content` AS sc, `pg_1`.`modx_site_templates` AS t, `pg_1`.`modx_site_tmplvars` AS s_tv, `pg_1`.`modx_site_tmplvars` AS e_tv, `pg_1`.`modx_site_tmplvars` AS h_tv) # Start Date JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS s_tvcv ON s_tvcv.contentid = sc.id AND s_tv.id = s_tvcv.tmplvarid # End Date LEFT JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS e_tvcv ON e_tvcv.contentid = sc.id AND e_tvcv.tmplvarid = e_tv.id # Hide time LEFT JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS h_tvcv ON h_tvcv.contentid = sc.id AND h_tvcv.tmplvarid = h_tv.id LEFT JOIN `pg_1`.`modx_document_groups` AS dg ON dg.document = sc.id WHERE (sc.privateweb = 0 OR dg.document_group IN (0)) AND sc.parent IN (52,55) AND sc.published = 1 AND t.templatename IN (’Easy Event Pg’,’Pg’) # Start date AND s_tv.name = ’EasyEvents_Start’ AND CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2)) <= ’2009-01-06’ # End date AND e_tv.name = ’EasyEvents_End’ AND ( CONCAT(SUBSTRING(e_tvcv.value,7,4),’-’,SUBSTRING(e_tvcv.value,4,2),’-’,SUBSTRING(e_tvcv.value,1,2)) >= ’2009-01-06’ OR ( e_tvcv.value IS NULL AND CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2)) >= ’2009-01-06’ ) ) # Hide AND h_tv.name = ’EasyEvents_HideTime’ ORDER BY CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2),’ ’,RIGHT(s_tvcv.value,8))






    Parser timing

    MySQL:
    0.2926 s
    (58 Requests)

    PHP:
    0.0996 s

      • 26903
      • 1,336 Posts
      Well, it would appear to be saying it can’t create/write to a temp sql file, check the space allocation for this directory/filesystem, you may occasionally be running out of space, hence it only occurs sometimes.
        Use MODx, or the cat gets it!
        • 20829
        • 28 Posts
        Sounds logical, never had this before in previous installs though. Now just wondering how to resolve this undecided

        I am now taking a look at system info


        It has a note; Overhead is unused space preserved by MySQL. To free this space, click on the link in the column Overhead from the tabel. (my translation from dutch to english)

        Dunno what to do from hereon, afraid off screwing it up grin
          • 20829
          • 28 Posts
          Well i freed the space as the note said, now trying to duplicate the parse error laugh
            • 20829
            • 28 Posts
            Problem remains, got the same error.
            • This appears to be a problem with the EasyEvents script that is building/issuing that query.
                • 4172
                • 5,888 Posts
                  -------------------------------

                  you can buy me a beer, if you like MIGX

                  http://webcmsolutions.de/migx.html

                  Thanks!
                  • 26903
                  • 1,336 Posts
                  Also, sorry I misread the original error message, I saw the # and assumed it was a temp file, it is in fact an MYI file, try this link for an explanation of errcode 17, http://bugs.mysql.com/bug.php?id=14325, just the bottom entry summarizes, it would appear that possibly the problem is perms on the directory it is using or you need to specify a temp directory
                    Use MODx, or the cat gets it!
                    • 20829
                    • 28 Posts
                    Quote from: Bruno17 at Jan 06, 2009, 06:03 PM

                    perhaps that can help??: http://modxcms.com/forums/index.php/topic,21007.msg167523.html#msg167523

                    I did replace this piece:

                    $tempSql = "CREATE TEMPORARY TABLE IF NOT EXISTS temp_kids

                    With this:

                    $tempSql = "DROP TABLE IF EXISTS temp_kids";
                    $this->modx->db->query($tempSql);
                    $tempSql = "CREATE TABLE temp_kids

                    Doing some testing now and so far so good, Will let you guys know if the problem is solved smiley
                      • 20829
                      • 28 Posts
                      Wel to bad just got it again:

                      « MODx Parse Error »
                      MODx encountered the following error while attempting to parse the requested resource:
                      « Execution of a query to the database failed - Can’t create/write to file ’E:\Program Files\SWsoft\Plesk\Databases\MySQL\Data\#sql_7fc_0.MYI’ (Errcode: 17) »
                      SQL: SELECT DISTINCT sc.id, s_tvcv.value AS startDate, e_tvcv.value AS endDate, h_tvcv.value AS hide FROM (`pg_1`.`modx_site_content` AS sc, `pg_1`.`modx_site_templates` AS t, `pg_1`.`modx_site_tmplvars` AS s_tv, `pg_1`.`modx_site_tmplvars` AS e_tv, `pg_1`.`modx_site_tmplvars` AS h_tv) # Start Date JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS s_tvcv ON s_tvcv.contentid = sc.id AND s_tv.id = s_tvcv.tmplvarid # End Date LEFT JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS e_tvcv ON e_tvcv.contentid = sc.id AND e_tvcv.tmplvarid = e_tv.id # Hide time LEFT JOIN `pg_1`.`modx_site_tmplvar_contentvalues` AS h_tvcv ON h_tvcv.contentid = sc.id AND h_tvcv.tmplvarid = h_tv.id LEFT JOIN `pg_1`.`modx_document_groups` AS dg ON dg.document = sc.id WHERE (sc.privateweb = 0 OR dg.document_group IN (0)) AND sc.parent IN (52,55) AND sc.published = 1 AND t.templatename IN (’Easy Event Pg’,’Pg’) # Start date AND s_tv.name = ’EasyEvents_Start’ AND CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2)) <= ’2009-01-01’ # End date AND e_tv.name = ’EasyEvents_End’ AND ( CONCAT(SUBSTRING(e_tvcv.value,7,4),’-’,SUBSTRING(e_tvcv.value,4,2),’-’,SUBSTRING(e_tvcv.value,1,2)) >= ’2009-01-01’ OR ( e_tvcv.value IS NULL AND CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2)) >= ’2009-01-01’ ) ) # Hide AND h_tv.name = ’EasyEvents_HideTime’ ORDER BY CONCAT(SUBSTRING(s_tvcv.value,7,4),’-’,SUBSTRING(s_tvcv.value,4,2),’-’,SUBSTRING(s_tvcv.value,1,2),’ ’,RIGHT(s_tvcv.value,8)) LIMIT 1
                      [Copy SQL to ClipBoard]

                      Parser timing
                      MySQL: 0.0979 s (29 Requests)
                      PHP: 0.0965 s
                      Total: 0.1943 s