mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #61786
[Bug 1926530] Re: Elasticsearch producing warning: Undefined property: stdClass::$icon
** Description changed:
It is possible to produce a warning via an Elasticsearch call if the
results produce a broken icon link.
The warning is as follows:
[WAR] 85 (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon
Call stack (most recent first):
log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
ElasticsearchPseudotype_all::search("TEST", 10, 0, array(size 4), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
PluginSearchElasticsearch::search_all("TEST", 10, 0, array(size 4), null) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/json/elasticsearch.php:53
This was first produced on dev.mahara.org on 21.04.dev code, while
searching for the term, "test".
+
+
+ --------------------------------------------------------------------------
+
+ ## Testing on dev.mahara.org
+
+ - $icon is an undefined property
+ - function causing this error: getRecordDataById("artefact", "3560")
+
+ Looking at the artefact table ...
+ -[ RECORD 1 ]---+--------------------
+ id | 3560
+ artefacttype | socialprofile
+ container | 0
+ parent |
+ owner | 1
+ institution |
+ group |
+ ctime | 2020-10-08 13:50:27
+ mtime | 2020-10-08 13:50:27
+ atime | 2020-10-08 13:50:27
+ locked | 0
+ title | test tumblr
+ description | Tumblr
+ note | tumblr
+ author | 1
+ authorname |
+ allowcomments | 0
+ approvecomments | 0
+ license |
+ licensor |
+ licensorurl |
+ path | /3560
+
+
+ - a socialprofile artefact caused this, owned by user=1 that is catadmin
+ - try adding another tumblr with username=meow
+ - re-index elasticsearch
+ - search for meow gives the same error
+
+ ```bash
+ [WAR] ca (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon
+ Call stack (most recent first):
+
+ log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
+ error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
+ ElasticsearchType_artefact::getRecordDataById("artefact", "3915") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
+ ElasticsearchPseudotype_all::search("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
+ PluginSearchElasticsearch::search_all("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55
+
+ ```
+
+ log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
+ error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
+ ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
+ ElasticsearchPseudotype_all::search("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
+ PluginSearchElasticsearch::search_all("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55
+
+ ### Trying locally
+
+ 1. Create a social profile for tumblr with meow as the username
+ 2. I get the same warning
+
+ ```bash
+ [DBG] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:334) Array
+ (
+ [0] => stdClass Object
+ (
+ [id] => 6
+ [artefacttype] => socialprofile
+ [parent] =>
+ [owner] => 1
+ [title] => meow
+ [description] => Tumblr
+ [institution] =>
+ [group] =>
+ [author] => 1
+ [parent_artefacttype] =>
+ [parent_title] =>
+ [parent_description] =>
+ [license] =>
+ [width] =>
+ [height] =>
+ [note] => tumblr
+ [link] =>
+ [faicon] => <span class="icon icon-brand icon-lg icon-tumblr-square" style="color: #001935"></span>
+ )
+
+ )
+ [WAR] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:336) Undefined property: stdClass::$icon
+ ```
+
+ - Try creating different profiles
+ - Add a social media account for instagram with username=woof
+ - Re-index elastic search
+ - Same issue
+
+ Turns out!
+
+ $record->icon = $icons [0]->icon; // this property doesn't exist for all socialmedia option in public static function get_profile_icons($data) @ htdocs/artefact;internal/lib.php
+ Fix => $record->icon = $icons [0]->faicon;
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: mahara-contributors
https://bugs.launchpad.net/bugs/1926530
Title:
Elasticsearch producing warning: Undefined property: stdClass::$icon
Status in Mahara:
In Progress
Bug description:
It is possible to produce a warning via an Elasticsearch call if the
results produce a broken icon link.
The warning is as follows:
[WAR] 85 (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon
Call stack (most recent first):
log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
ElasticsearchPseudotype_all::search("TEST", 10, 0, array(size 4), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
PluginSearchElasticsearch::search_all("TEST", 10, 0, array(size 4), null) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/json/elasticsearch.php:53
This was first produced on dev.mahara.org on 21.04.dev code, while
searching for the term, "test".
--------------------------------------------------------------------------
## Testing on dev.mahara.org
- $icon is an undefined property
- function causing this error: getRecordDataById("artefact", "3560")
Looking at the artefact table ...
-[ RECORD 1 ]---+--------------------
id | 3560
artefacttype | socialprofile
container | 0
parent |
owner | 1
institution |
group |
ctime | 2020-10-08 13:50:27
mtime | 2020-10-08 13:50:27
atime | 2020-10-08 13:50:27
locked | 0
title | test tumblr
description | Tumblr
note | tumblr
author | 1
authorname |
allowcomments | 0
approvecomments | 0
license |
licensor |
licensorurl |
path | /3560
- a socialprofile artefact caused this, owned by user=1 that is catadmin
- try adding another tumblr with username=meow
- re-index elasticsearch
- search for meow gives the same error
```bash
[WAR] ca (search/elasticsearch/type/ElasticsearchType_artefact.php:332) Undefined property: stdClass::$icon
Call stack (most recent first):
log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
ElasticsearchType_artefact::getRecordDataById("artefact", "3915") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
ElasticsearchPseudotype_all::search("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
PluginSearchElasticsearch::search_all("meow", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55
```
log_message("Undefined property: stdClass::$icon", 8, true, true, "/var/www/master-dev-prod-mahara/releases/202104280...", 332) at /var/www/master-dev-prod-mahara/releases/20210428075700/lib/errors.php:515
error(8, "Undefined property: stdClass::$icon", "/var/www/master-dev-prod-mahara/releases/202104280...", 332, array(size 7)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/type/ElasticsearchType_artefact.php:332
ElasticsearchType_artefact::getRecordDataById("artefact", "3560") at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1926
ElasticsearchPseudotype_all::search("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/lib.php:1073
PluginSearchElasticsearch::search_all("test", 10, 0, array(size 5), null, object(LiveUser)) at /var/www/master-dev-prod-mahara/releases/20210428075700/search/elasticsearch/index.php:55
### Trying locally
1. Create a social profile for tumblr with meow as the username
2. I get the same warning
```bash
[DBG] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:334) Array
(
[0] => stdClass Object
(
[id] => 6
[artefacttype] => socialprofile
[parent] =>
[owner] => 1
[title] => meow
[description] => Tumblr
[institution] =>
[group] =>
[author] => 1
[parent_artefacttype] =>
[parent_title] =>
[parent_description] =>
[license] =>
[width] =>
[height] =>
[note] => tumblr
[link] =>
[faicon] => <span class="icon icon-brand icon-lg icon-tumblr-square" style="color: #001935"></span>
)
)
[WAR] 94 (search/elasticsearch/type/ElasticsearchType_artefact.php:336) Undefined property: stdClass::$icon
```
- Try creating different profiles
- Add a social media account for instagram with username=woof
- Re-index elastic search
- Same issue
Turns out!
$record->icon = $icons [0]->icon; // this property doesn't exist for all socialmedia option in public static function get_profile_icons($data) @ htdocs/artefact;internal/lib.php
Fix => $record->icon = $icons [0]->faicon;
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1926530/+subscriptions
References