[racktables-users] Re: I triggered an error.

  • From: Michael Tiernan <mtiernan@xxxxxxx>
  • To: racktables-users@xxxxxxxxxxxxx
  • Date: Wed, 02 Jun 2010 08:36:01 -0400

On 6/2/10 8:24 AM, Denis Ovsienko wrote:
It should fit MySQL's TEXT type, which is about 64KB big (I didn't try personally though). What the error text was?
I suspected as much. I think we have a problem of not sanitizing input. I'll revist it shortly.

Here's the error itself:
Pdo exception: PDOException
SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters (HY093)

at file /var/www/html/RackTables-0.18.0/inc/database.php, line 635

/var/www/html/RackTables-0.18.0/inc/database.php:635 query('update
RackObject set name='APC UPS for Cisco', label='Symmetra LX 16000 RM
        (SYAF16KRMT) ', barcode=NULL, objtype_id='12', has_problems='no',
        asset_no=NULL,
comment='http://xxxxxxxxxxxxxxx/twiki/bin/view/Tier2/HPRCF_APC_UPS\n\nMachine
        Notes:\nThis serial number is not available via any of the web
interfaces, it can only be read directly off of the chassis label from the back of the rack! The serial number that you'll see by using the
        GUI is one of the internal boards and is not valid!\n\nInformation
        from the web interface:\nFirmware Revision:  269.513.S\nManufacture
Date: 04/29/09\n\nAbout Battery: Main Frame\nBattery Serial Number
        Manufacture Date Firmware Rev\nBattery 1 QD10xxxxx524 01/18/2010 10
(Installed 3/10/2010 14:25:28)\nBattery 2 QD09xxxxx376 11/26/2009 10
        (Installed 03/05/2010 11:35:10)\nBattery 3 QD09xxxxx372 05/07/2009
10\nBattery 4 QD09xxxxx361 05/07/2009 10\n\nHow I make connections to the UPS via a web browser.\nYou must be able to display an X11 window
        for this to work!\n\n 1.  Create a terminal window and log into
        'xxxxx'.\n 2.  Execute this command:  (You'll need to enter your
        password if you don't use ssh keys.)\n /usr/bin/ssh -24 -L
        12345:172.xxxxxx:80 txxxxxxx1\n 3.  Now create a second terminal
window and execute this command:\n firefox http://127.0.0.1:12345\n 4. You will then get a firefox webbrowser window opened on your screen.
        The username is 'apc' and the password is TBD.\n 5.  When you close
        the firefox window (via "File" -> "Quit") you can hit CTRL-C in the
        first window to shutdown the SSH link and you can then close both
        windows.  \n\nSome notes about the above:\nThe number "12345" is
        arbitrary, you can choose any number you want that is greater than
        1024 and no one else is using.  To test if someone is using it, you
can use (on xxxxx) telnet 127.0.0.1 xxxxxx where 'xxxxx' is the number you wish to use. If it fails to connect no one is using it. You must
        then use that number in the next line to make it work.\n\nSPECIAL
        WARNINGS\n\n 1.  *DO NOT EXECUTE THE "RUNTIME CALIBRATION"
        OPERATION*\n The guy at APC support said that it should not be done
because it puts too much of a load on the batteries.\n Now I question
        this statement but am passing on the info until I get any
        clarification about this.\n (My point being, if it's too much of a
load on the UPS batteries then why the heck do we have the product to
        begin with?)\n 2.  Yes, the batteries and modules are hot pluggable
        but you should still contact support at APC http://www.apc.com/ to
        work through it.\n 3.  We use the education link which is
http://www.apc.com/solutions/index.cfm?segmentID=4\n 4. You must use
        the serial number above and not the one shown on the GUI!\n 5.  Our
        "Support page" is located at
        http://www.apc.com/support/my_support.cfm\n * Username:  xxxxxx (In
all caps)\n * Password: (See Michael Tiernan) \n' where id='2' limit
        1')

/var/www/html/RackTables-0.18.0/inc/ophandlers.php:812
        commitUpdateObject('2', 'APC UPS for Cisco', 'Symmetra LX 16000 RM
        (SYAF16KRMT) ', '', '12', 'no', '',
'http://xxxxxxxxxxxxxxxxx/twiki/bin/view/Tier2/HPRCF_APC_UPS\n\nMachine
        Notes:\nThis serial number is not available via any of the web
interfaces, it can only be read directly off of the chassis label from the back of the rack! The serial number that you'll see by using the
        GUI is one of the internal boards and is not valid!\n\nInformation
        from the web interface:\nFirmware Revision:  269.513.S\nManufacture
Date: 04/29/09\n\nAbout Battery: Main Frame\nBattery Serial Number
        Manufacture Date Firmware Rev\nBattery 1 QD10xxxxxx24 01/18/2010 10
(Installed 3/10/2010 14:25:28)\nBattery 2 QD09xxxxxx76 11/26/2009 10
        (Installed 03/05/2010 11:35:10)\nBattery 3 QD09xxxxxx72 05/07/2009
10\nBattery 4 QD09xxxxxx61 05/07/2009 10\n\nHow I make connections to the UPS via a web browser.\nYou must be able to display an X11 window
        for this to work!\n\n 1.  Create a terminal window and log into
        'xxxxx'.\n 2.  Execute this command:  (You'll need to enter your
        password if you don't use ssh keys.)\n /usr/bin/ssh -24 -L
        12345:172.xxxxxx:80 xxxxxxxxx\n 3.  Now create a second terminal
window and execute this command:\n firefox http://127.0.0.1:12345\n 4. You will then get a firefox webbrowser window opened on your screen.
        The username is 'apc' and the password is TBD.\n 5.  When you close
        the firefox window (via "File" -> "Quit") you can hit CTRL-C in the
        first window to shutdown the SSH link and you can then close both
        windows.  \n\nSome notes about the above:\nThe number "12345" is
        arbitrary, you can choose any number you want that is greater than
        1024 and no one else is using.  To test if someone is using it, you
can use (on xxxxx) telnet 127.0.0.1 xxxxxx where 'xxxxx' is the number you wish to use. If it fails to connect no one is using it. You must
        then use that number in the next line to make it work.\n\nSPECIAL
        WARNINGS\n\n 1.  *DO NOT EXECUTE THE "RUNTIME CALIBRATION"
        OPERATION*\n The guy at APC support said that it should not be done
because it puts too much of a load on the batteries.\n Now I question
        this statement but am passing on the info until I get any
        clarification about this.\n (My point being, if it's too much of a
load on the UPS batteries then why the heck do we have the product to
        begin with?)\n 2.  Yes, the batteries and modules are hot pluggable
        but you should still contact support at APC http://www.apc.com/ to
        work through it.\n 3.  We use the education link which is
http://www.apc.com/solutions/index.cfm?segmentID=4\n 4. You must use
        the serial number above and not the one shown on the GUI!\n 5.  Our
        "Support page" is located at
        http://www.apc.com/support/my_support.cfm\n * Username:  xxxxxx (In
        all caps)\n * Password:  (See Michael Tiernan) \n')

: updateObject()
/var/www/html/RackTables-0.18.0/process.php:37 call_user_func('updateObject')

Error info:

Array
(
    [0] => HY093
    [1] => 0
)

Parameters:
GET
page    object
tab     edit
op      update
POST
object_id       2
object_type_id  12
object_name     APC UPS for Cisco
object_label    Symmetra LX 16000 RM (SYAF16KRMT)
object_asset_no
object_barcode
num_attrs       6
0_attr_id       3
0_value
1_attr_id       13
1_value
2_attr_id       7
2_value
3_attr_id       1
3_value QD09xxxxxx03
4_attr_id       20
4_value
5_attr_id       8
5_value
object_comment http://xxxxxxxxxxxxxxxxx/twiki/bin/view/Tier2/HPRCF_APC_UPS Machine
        Notes:  This serial number is not available via any of the web
interfaces, it can only be read directly off of the chassis label from the back of the rack! The serial number that you'll see by using the GUI is one of the internal boards and is not valid! Information from
        the web interface:  Firmware Revision:  269.513.S Manufacture Date:
04/29/09 About Battery: Main Frame Battery Serial Number Manufacture
        Date Firmware Rev Battery 1 QD10xxxxxx24 01/18/2010 10 (Installed
        3/10/2010 14:25:28) Battery 2 QD09xxxxxx76 11/26/2009 10 (Installed
        03/05/2010 11:35:10) Battery 3 QD09xxxxxx72 05/07/2009 10 Battery 4
QD09xxxxxx61 05/07/2009 10 How I make connections to the UPS via a web browser. You must be able to display an X11 window for this to work! 1. Create a terminal window and log into 'xxxxx'. 2. Execute this
        command:  (You'll need to enter your password if you don't use ssh
        keys.) /usr/bin/ssh -24 -L 12345:172.xxxxxx:80 xxxxxxxxx 3.  Now
        create a second terminal window and execute this command:  firefox
        http://127.0.0.1:12345 4.  You will then get a firefox webbrowser
window opened on your screen. The username is 'apc' and the password is TBD. 5. When you close the firefox window (via "File" -> "Quit")
        you can hit CTRL-C in the first window to shutdown the SSH link and
        you can then close both windows.  Some notes about the above:  The
number "12345" is arbitrary, you can choose any number you want that is greater than 1024 and no one else is using. To test if someone is using it, you can use (on xxxxx) telnet 127.0.0.1 xxxxxx where 'xxxxx' is the number you wish to use. If it fails to connect no one is using it. You must then use that number in the next line to make it work.
        SPECIAL WARNINGS 1.  *DO NOT EXECUTE THE "RUNTIME CALIBRATION"
        OPERATION* The guy at APC support said that it should not be done
because it puts too much of a load on the batteries. Now I question
        this statement but am passing on the info until I get any
clarification about this. (My point being, if it's too much of a load on the UPS batteries then why the heck do we have the product to begin
        with?) 2.  Yes, the batteries and modules are hot pluggable but you
        should still contact support at APC http://www.apc.com/ to work
        through it.  3.  We use the education link which is
        http://www.apc.com/solutions/index.cfm?segmentID=4 4.  You must use
        the serial number above and not the one shown on the GUI!  5.  Our
"Support page" is located at http://www.apc.com/support/my_support.cfm * Username: xxxxxx (In all caps) * Password: (See Michael Tiernan)

submit_x        11
submit_y        16
COOKIE
PHPSESSID       ia48ggcpnpmkifd1fl4vrbvj57

Other related posts: