View Issue Details

IDProjectCategoryView StatusLast Update
415RackTablesdefaultpublic2011-03-25 12:42
Reporteruser211Assigned Toinfrastation  
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Product Version0.19.0 
Target Version0.19.3Fixed in Version0.19.3 
Summary415: Object 'object'#'' does not exist error when trying to view object details
DescriptionAs soon as I place an object in a rack, I can't view details screen (index.php?page=object&tab=default) of this object. Instead, I am getting a blank page with following error:

Missing record
Object 'object'#'' does not exist

I was facing this problem on 0.19.1 as well as on latest SVN revision from today.

Let me know if I can provide any further details that will help solve this issue.
TagsNo tags attached.

Relationships

duplicate of 399 closedinfrastation Unable to mount any server in the RackSpace 

Activities

infrastation

infrastation

2011-03-24 20:10

administrator   ~0000309

This could be the same issue, which is described in the second part of bug 399, or not. If release 0.19.2 still shows this bug on your system, could you obtain relevant debugging information by means of temporary change below? You should get a full stack trace of the error. Please pay attention to filter out sensitive details from the trace (best is to reproduce the error on an empty database with username/password, which are not used anywhere else).

--- wwwroot/index.php (revision 4389)
+++ wwwroot/index.php (working copy)
@@ -215,6 +215,6 @@
     # prevent message appearing in foreign tab
     if (isset ($_SESSION['log']))
         unset ($_SESSION['log']);
- printException ($e);
+ printGenericException ($e);
 }
 ?>

user211

2011-03-25 09:43

  ~0000311

Below a full trace of the error.

Also, if I comment out lines:

        if (!in_array($info['objtype_id'], $virtual_obj_types))
        {
                // rackspace portlet
                startPortlet ('rackspace allocation');
                foreach (getResidentRacksData ($object_id, FALSE) as $rack_id)
                        renderRack ($rack_id, $object_id);
                echo '
';
                finishPortlet();
        }

from inc/interface.php the problem goes away but as you can see, I can't see the rack allocation on the right hand bar anymore. This may help you narrow down troubleshooting.

Uncaught exception: EntityNotFoundException

Object 'object'#'' does not exist (0)
at file /var/www/default/racktables/inc/database.php, line 380

/var/www/default/racktables/inc/functions.php:744 spotEntity('object', NULL)
/var/www/default/racktables/inc/interface.php:318 markupObjectProblems(Array
(
    [realm] => rack
    [id] => 6
    [name] => TEA03
    [height] => 42
    [comment] => tea
    [row_id] => 3
    [row_name] => TEA
    [etags] => Array
        (
        )

    [itags] => Array
        (
        )

    [atags] => Array
        (
            [0] => Array
                (
                    [tag] => $rackid_6
                )

            [1] => Array
                (
                    [tag] => $any_rack
                )

            [2] => Array
                (
                    [tag] => $untagged
                )

        )

    [mountedObjects] => Array
        (
            [0] => 64
            [1] => 67
            [2] => 68
            [3] => 58
            [4] => 57
            [5] => 82
            [6] => 83
            [7] => 60
            [8] => 84
            [9] => 73
            [10] => 37
        )

    [42] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 37
                    [colspan] => 1
                    [rowspan] => 1
                )

        )

    [41] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 73
                    [colspan] => 1
                    [rowspan] => 1
                )

        )

    [40] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [39] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [38] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [37] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [36] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [35] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [34] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [33] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [32] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [31] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [30] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [29] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [28] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [27] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [26] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [25] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [24] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 84
                    [colspan] => 3
                    [rowspan] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 84
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 84
                    [skipped] => 1
                )

        )

    [23] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 60
                    [colspan] => 3
                    [rowspan] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 60
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 60
                    [skipped] => 1
                )

        )

    [22] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [colspan] => 3
                    [rowspan] => 3
                    [hl] => h
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

        )

    [21] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

        )

    [20] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 83
                    [skipped] => 1
                    [hl] => h
                )

        )

    [19] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] =>
                )

        )

    [18] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] =>
                )

        )

    [17] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] =>
                )

        )

    [16] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] =>
                )

        )

    [15] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [colspan] => 3
                    [rowspan] => 4
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

        )

    [14] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

        )

    [13] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

        )

    [12] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 82
                    [skipped] => 1
                )

        )

    [11] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 57
                    [colspan] => 3
                    [rowspan] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 57
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 57
                    [skipped] => 1
                )

        )

    [10] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 58
                    [colspan] => 3
                    [rowspan] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 58
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 58
                    [skipped] => 1
                )

        )

    [9] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [8] => Array
        (
            [0] => Array
                (
                    [state] => F
                )

            [1] => Array
                (
                    [state] => F
                )

            [2] => Array
                (
                    [state] => F
                )

        )

    [7] => Array
        (
            [0] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 68
                    [colspan] => 1
                    [rowspan] => 1
                )

        )

    [6] => Array
        (
            [0] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 67
                    [colspan] => 1
                    [rowspan] => 1
                )

        )

    [5] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [colspan] => 3
                    [rowspan] => 3
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

        )

    [4] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

            [1] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

            [2] => Array
                (
                    [state] => T
                    [object_id] => 64
                    [skipped] => 1
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => A
                    [object_id] =>
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [1] => Array
                (
                    [state] => A
                    [object_id] =>
                )

            [2] => Array
                (
                    [state] => A
                    [object_id] =>
                )

        )

)
)
/var/www/default/racktables/inc/interface.php:1035 renderRack()
/var/www/default/racktables/index.php:29 renderRackObject('6', '83')
Parameters:

GET

page object
object_id 83
POST

COOKIE

PHPSESSID 7ade4ac4a9d0e766e33f377d085c029f
infrastation

infrastation

2011-03-25 10:26

administrator   ~0000312

This "entity not found" bug seems to be a post-effect of "SQL syntax error" condition. The query below should resolve this situation:

DELETE FROM RackSpace WHERE object_id IS NULL AND state IN ('T', 'W');
infrastation

infrastation

2011-03-25 10:33

administrator   ~0000313

The right query is:

DELETE FROM RackSpace WHERE object_id IS NULL AND state = 'T';

user211

2011-03-25 10:37

  ~0000314

mysql> SELECT * FROM RackSpace WHERE object_id IS NULL AND state = 'T';
+---------+---------+----------+-------+-----------+
| rack_id | unit_no | atom | state | object_id |
+---------+---------+----------+-------+-----------+
| 6 | 16 | front | T | NULL |
| 6 | 16 | interior | T | NULL |
| 6 | 16 | rear | T | NULL |
| 6 | 17 | front | T | NULL |
| 6 | 17 | interior | T | NULL |
| 6 | 17 | rear | T | NULL |
| 6 | 18 | front | T | NULL |
| 6 | 18 | interior | T | NULL |
| 6 | 18 | rear | T | NULL |
| 6 | 19 | front | T | NULL |
| 6 | 19 | interior | T | NULL |
| 6 | 19 | rear | T | NULL |
+---------+---------+----------+-------+-----------+
12 rows in set (0.00 sec)

After removing these - all is good! :-) Thanks. This hint alongside with a query could be added to some kind of FAQ.
infrastation

infrastation

2011-03-25 10:45

administrator   ~0000315

This bug has its roots in 0.19.1.
infrastation

infrastation

2011-03-25 12:42

administrator   ~0000319

Status update. The original bug (SQL syntax error) belongs to release 0.19.0, and release 0.19.1 fixes it. But the inconsistent rows still left in RackSpace table require a manual fix, which will be included into the next upgrade batch. In addition to this, the function, which was leaving incomplete rows in the table, was modified to do the work in a transaction, so this situation is very unlikely to reoccur again.

With the next release this issue should be completely resolved. Closing.

Issue History

Date Modified Username Field Change
2011-03-24 12:38 user211 New Issue
2011-03-24 20:10 infrastation Note Added: 0000309
2011-03-24 20:10 infrastation Status new => assigned
2011-03-24 20:10 infrastation Assigned To => infrastation
2011-03-25 09:43 user211 Note Added: 0000311
2011-03-25 10:26 infrastation Note Added: 0000312
2011-03-25 10:33 infrastation Note Added: 0000313
2011-03-25 10:37 user211 Note Added: 0000314
2011-03-25 10:45 infrastation Note Added: 0000315
2011-03-25 10:45 infrastation Product Version => 0.19.1
2011-03-25 10:45 infrastation Target Version => 0.19.2
2011-03-25 10:47 infrastation Relationship added duplicate of 399
2011-03-25 12:42 infrastation Note Added: 0000319
2011-03-25 12:42 infrastation Status assigned => closed
2011-03-25 12:42 infrastation Resolution open => fixed
2011-03-25 12:42 infrastation Product Version 0.19.1 => 0.19.0
2011-03-25 12:42 infrastation Fixed in Version => 0.19.3
2011-03-25 12:42 infrastation Target Version 0.19.2 => 0.19.3