summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Foster <savetheinternet@tinyboard.org>2013-09-23 10:21:18 +1000
committerMichael Foster <savetheinternet@tinyboard.org>2013-09-23 10:21:18 +1000
commitfcbc21131431725e4cb4cafde0fd907e9c607fa1 (patch)
tree525a2e94e4a67dcd611baed5750fcf2d937a6075
parent39be89ba4945238f6311454283a66930b94577be (diff)
Fixed weird bug with ?/debug/sql trying to allocate a few GB on some instances. Assuming bug with APCu.
-rw-r--r--inc/mod/pages.php8
-rw-r--r--templates/mod/debug/apc.html9
2 files changed, 9 insertions, 8 deletions
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index 4346cf94..b240db55 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -2363,7 +2363,13 @@ function mod_debug_apc() {
if ($config['cache']['enabled'] != 'apc')
error('APC is not enabled.');
- $cached_vars = new APCIterator('user', '/^' . $config['cache']['prefix'] . '/');
+ $cache_info = apc_cache_info('user');
+ // $cached_vars = new APCIterator('user', '/^' . $config['cache']['prefix'] . '/');
+ $cached_vars = array();
+ foreach ($cache_info['cache_list'] as $var) {
+ $cached_vars[] = $var;
+ }
+
mod_page(_('Debug: APC'), 'mod/debug/apc.html', array('cached_vars' => $cached_vars));
}
diff --git a/templates/mod/debug/apc.html b/templates/mod/debug/apc.html
index 53f59eb0..0aa05e9f 100644
--- a/templates/mod/debug/apc.html
+++ b/templates/mod/debug/apc.html
@@ -5,19 +5,14 @@
<th class="minimal">Created</th>
<th class="minimal">Expires</th>
<th class="minimal">Size</th>
- <th>Value</th>
</tr>
{% for var in cached_vars %}
<tr>
- <td class="minimal">{{ var.key }}</td>
+ <td class="minimal">{% if var.key %}{{ var.key }}{% else %}{{ var.info }}{% endif %}</td>
<td class="minimal">{{ var.num_hits }}</td>
<td class="minimal">{{ var.creation_time|ago }} ago</td>
- <td class="minimal">{{ (var.creation_time + var.ttl)|until }} (ttl: {{ var.ttl }}s)</td>
+ <td class="minimal">{{ (var.creation_time + var.ttl)|until }} (ttl: {{ (time() + var.ttl)|until }})</td>
<td class="minimal">{{ var.mem_size }} bytes</td>
- <td style="word-wrap:break-word">
- {% set value = var.value|json_encode %}
- <code>{{ value[:80]|e('html') }}{% if value|length > 80 %}&hellip;{% endif %}</code>
- </td>
</tr>
{% endfor %}
</table> \ No newline at end of file