EvokeNet / humhub

A global network of social innovators
http://evokenet.org
5 stars 3 forks source link

Survey: trying to get property of non-object error in MatchingQuestionsController #516

Closed nathanverrill closed 7 years ago

nathanverrill commented 7 years ago

This error was logged the same night that a user signed up but didn't end up with an initial set of powers on their profile. If it's the same user, they were able to upload an avatar and banner image to their profile.

Here's the error: exception 'yii\base\ErrorException' with message 'Trying to get property of non-object' in /home/ubuntu/humhub/protected/modules/matching_questions/controllers/MatchingQuestionsController.php:53 Stack trace: #0 /home/ubuntu/humhub/protected/modules/matching_questions/controllers/MatchingQuestionsController.php(53): yii\base\ErrorHandler->handleError(8, 'Trying to get p...', '/home/ubuntu/hu...', 53, Array) #1 [internal function]: app\modules\matching_questions\controllers\MatchingQuestionsController->actionMatching() #2 /home/ubuntu/humhub/protected/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array) #3 /home/ubuntu/humhub/protected/vendor/yiisoft/yii2/base/Controller.php(154): yii\base\InlineAction->runWithParams(Array) #4 /home/ubuntu/humhub/protected/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('matching', Array) #5 /home/ubuntu/humhub/protected/vendor/yiisoft/yii2/web/Application.php(84): yii\base\Module->runAction('matching_questi...', Array) #6 /home/ubuntu/humhub/protected/vendor/yiisoft/yii2/base/Application.php(375): yii\web\Application->handleRequest(Object(humhub\components\Request)) #7 /home/ubuntu/humhub/index.php(25): yii\base\Application->run() #8 {main}

nathanverrill commented 7 years ago

This is the player who doesn't have powers.

http://soacha.evokenet.org/index.php?r=user%2Fprofile&uguid=8e107fe1-16cf-4222-a8ca-514aff4616ca

Ingrid Patricia Peñaloza Gutiérrez

Guihrmsfo commented 7 years ago

That's the line that triggered the error if($user->super_admin != 1 && isset($user->superhero_identity_id) && $user->superhero_identity_id >= 0){ @JayantGandhi What are your thoughts?

JayantGandhi commented 7 years ago

My guess is they must have backed out after reading the novel (since it's only one user). It is possible to skip the survey as long as you do something that returns you to the homepage while not ending your session (such as hitting the back button enough). The user should be prompted to fill the survey the next time they log on.

Guihrmsfo commented 7 years ago

Is actionMatching only called after answering the survey? Because that line belongs to this action, it seems like the user answered the survey but never got the result.

nathanverrill commented 7 years ago

@JayantGandhi what are your thoughts on @Guihrmsfo question above? We had another user have the same issue today (so that's 2 out of 7)

JayantGandhi commented 7 years ago

It still seems likely that it has something to do with the user backing out/not completing the whole thing in one sitting. The error is basically saying the user isn't set somehow, but it's not really giving much information beyond that....my best guess without hearing from the user is that something happened when they got to the survey and messed up their session....

Guihrmsfo commented 7 years ago

@nathanverrill Have you asked these users what happened to them?

nathanverrill commented 7 years ago

No but that is a good idea - I'll coordinate with Roxana

On Thu, Feb 23, 2017 at 10:36 AM, Guilherme de Oliveira Fernandes < notifications@github.com> wrote:

@nathanverrill https://github.com/nathanverrill Have you asked these users what happened to them?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/EvokeNet/humhub/issues/516#issuecomment-282045860, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQsFUfA9yYqgE-vbGWqwMysG_79Agi4ks5rfbV_gaJpZM4MIy80 .

nathanverrill commented 7 years ago

@Guihrmsfo @JayantGandhi I've tested hitting back during the signup process and did not recreate this error. What else might be going on in the code?