microsoft / botbuilder-tools

Welcome to the Bot Framework Tools repository, which is the home for a set of tools for developers building bots with the Microsoft Bot Framework
https://github.com/Microsoft/botframework
MIT License
444 stars 262 forks source link

Deploying a bot to azure with luis functionality is completely broken and I believe it is the LUISRecognizer class #1426

Closed xtianus79 closed 4 years ago

xtianus79 commented 4 years ago

From 9pm last night until 7am this morning I could not get the bot to deploy to Azure through any means. Either sending a zip file package or through continuous deployment. Since this is such an emergency issue for us and I don't know where to else to post this report to I will try a couple different places.

As a mitigation step to see what was going on I tried to upload samples to Azure to see if those would work and they would not.

Everything, of course, works in a local development environment.

The seems to be with the a node package for LUIS. The Luis recognizer specifically. It keeps saying there is an undefined intent.

Before I show sample error reporting I want to show you some of the other difficulties we experienced trying to get this to work.

  1. Lets start with the continuous deployment. Whatever environment that we are deploying to doesn't seem to use Nodejs correctly at all. It keeps giving a tsc error. The package is included and is there in the deployment. that bug #1. Here is a stackoverflow question on the exact matter with no answer since February. this link here is from 4 years ago and seems to be the root of the issue.

Here is a quote from an answer someone gave regarding the issue.

Right... After a lot of heartache I finally got this going. The fundamental issue is that my dev box is Windows and the Azure Web App is Linux. Therefore deploy.cmd is not going to fly at all. You need a deploy.sh bash script to run on Linux. There is apparently no way to generate it on Windows...you need fire up your Linux box and use azure site deploymentscript --node

Is this the case and if so why isn't this officially communicated? I've always developed on a mac at home i'm on a pc so this is painful as that poster suggested.

  1. Deploying the zip file directly I posted number 1 first because I think it may relate to number this issue. Everything works fine locally and then falls apart upon deployment.

All it gives repeatedly is this error:

[info] The logging level is 'Information'. To change this, go to the 'Diagnostics Logs' page in your app settings and change the 'Application Logging' setting.
Running dialog with Message Activity.

 [onTurnError] unhandled error: TypeError: Cannot read property 'intents' of undefined
2020-04-11T19:26:39  PID[16888] Information Loading modules from D:\Program Files (x86)\MiddlewareModules\1.2.7\Microsoft.Azure.AppService.Middleware.Modules.dll
2020-04-11T19:26:39  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_LOGOUT_PATH' = '/.auth/logout'
2020-04-11T19:26:39  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_ENABLED' = 'False'
2020-04-11T19:26:40  PID[16888] Warning     Error reading value from environment variable WEBSITE_AUTH_COOKIE_EXPIRATION_MODE. 0 value used for cookie expiration setting instead.
2020-04-11T19:26:40  PID[16888] Verbose     Detected application setting 'WEBSITE_CORS_ALLOWED_ORIGINS' = 'https://portal.azure.com,https://botservice.hosting.portal.azure.net,https://botservice-ms.hosting.portal.azure.net,https://hosting.onecloud.azure-test.net/'
2020-04-11T19:26:40  PID[16888] Verbose     Detected application setting 'WEBSITE_CORS_SUPPORT_CREDENTIALS' = 'False'
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_LOGOUT_PATH' = '/.auth/logout'
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_ENABLED' = 'False'
2020-04-11T19:26:41  PID[16888] Warning     Error reading value from environment variable WEBSITE_AUTH_COOKIE_EXPIRATION_MODE. 0 value used for cookie expiration setting instead.
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_CORS_ALLOWED_ORIGINS' = 'https://portal.azure.com,https://botservice.hosting.portal.azure.net,https://botservice-ms.hosting.portal.azure.net,https://hosting.onecloud.azure-test.net/'
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_CORS_SUPPORT_CREDENTIALS' = 'False'
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_SIGNING_KEY' = '18****'
2020-04-11T19:26:41  PID[16888] Verbose     Detected application setting 'WEBSITE_AUTH_ENCRYPTION_KEY' = 'D0****'
(node:7312) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

restify listening to http://undefined:undefined

Get Bot Framework Emulator: https://aka.ms/botframework-emulator

To talk to your bot, open the emulator select "Open Bot"
Running dialog with Message Activity.

 [onTurnError] unhandled error: TypeError: Cannot read property 'intents' of undefined

Hopefully you can diagnose this issue. If I need to start a linux box I will but please advise if this is the issue and what can be done to fix it.

jwiley84 commented 4 years ago

Hi @xtianus79 !

I see you've opened this issue here as well. I'm going to go ahead and close this one so that we can assist you in just one location.