Heroku: Force Error Backtrace To Display In Development Mode - heroku

I am running a sinatra application on Heroku, and I'm seeing the generic error page:
Stuff I've Tried So Far
heroku logs returns a generic "H10 - Application Crashed" error, which doesn't tell me what the actual cause is.
I've used heroku config vars to set RACK_ENV=development and verified that it is set that way using heroku config. I thought this would force a backtrace to be displayed on the screen but it does not.
Questions
How can I force a backtrace to be displayed in dev mode?
What else can I do to track down the source of this error?

I got a response from Heroku support about this.
Everything I did was correct, the problem is the application boot errors won't display to the screen, and this was a boot error. The source of the error was further back in the backtrace in heroku logs, so that was in fact the right place to look in this case, I just missed it.
Setting RACK_ENV=development is the correct way to display application runtime errors to the screen, according to support.

Related

Why when I return back from login to I get an ERROR with the sample app?

This is in regards to the sample: msal-web-sample-0.1.0
I am using tomcat 9 and maven to build and run the msal-web-sample code. It is building fine and running, loading spring, etc. I am able to go out and get a username and passowrd login. However, when it tries to return back to my system (https://localhost:8443/msal4jsample/secure/aad) it just has a bit "ERROR PAGE!" heading with Home Page link going back to the main tomcat page.
In the tomcat runtime it has:
2021-06-29 15:28:06.108 ERROR 6360 --- [io-8443-exec-10] o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for request [/secure/aad] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false
Of course, that doesn't apply to my setup.
I see the get in the logs returning back OK and don't see any errors on startup. I am at a loss as to where to go from here. Any thoughts?
Also, is there a non-spring implementation that can be used with java but still using MSAL?
Thanks
Alan
Please share additional information about the error. Do you have trouble regrading AAD? Check your environmental settings (Tomcat) if this isn't the case.

How to debug HyperLedger Composer Transaction code in Playground

I am using a local install of Playground on MacOS.
I was successful to create my business network, add my model file and logic to this network and create assets and participants instances.
So now I am ready to submit my first transaction, but I get an error message in the popup window as a result to my request. The message per se is not the problem (it's about some Undefined asset), my problem is I want to debug this transaction code by producing some execution traces, using old-school printf or log message.
I tried to insert console.log(message) instructions in my transaction code but eventually I was not able to retrieve those logs traces (eg. using a command like docker logs -f composer).
Is there another way to produce logs traces? Or did I miss a config setting to defilter logs in docker logs?
Any help greatly appreciated!
Olivier.
On console logging (and seeing them in the browser Developer console), see this Stack Overflow here (hyperledger composer playground) Can you see results of console.log('something') in browser? (it also has a link to more info there
See here https://hyperledger.github.io/composer/latest/problems/diagnostics.html for more on logging / where to find debug logs.
As for setting checkpoint/breakpoints: These are set by the Editor tooling 🙂 In H/Composer, you can just use the embedded connector (eg such as TP functions) to try out / step through each breakpoint - for more info on VSCode -> https://code.visualstudio.com/docs/editor/debugging and Atom -> How do I set a breakpoint inside of atom's package? and I posted the link to diagnostics/logging above.
One quick way I used to insert breakpoints with debug messages, is to throw an exception using throw new Error(...) in the transaction method.
This shows up in the playground interface as well.

Why is my meteor app getting these errors on firefox but not other browsers?

The web app that I am building in meteor works in chrome and I.E.(Other than a UI bug in I.E.) but it starts acting strange in Firefox. When I run it on my localhost and on the deployment to meteor.com, I don't get any errors in the console in the browsers' developer tools.
When I run it in Firefox, things start acting weird. On Mac OSX, if I run the app on my localhost and open it in FF it is just fine. However, when I open up the app that deployed to meteor.com via meteor deploy [my-app-url].com, I get the following errors but I can still use everything in my app:
Error 1:
mutating the [[Prototype]] of an object will cause your code to run very slowly;
instead create the object with the correct initial [[Prototype]] value using Object.create
Error 2:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource
at https://ddp--3071-[my-app-url].com/sockjs/info?cb=v9pygo9mzn.
(Reason: CORS request failed).
While right now I am not able to figure out what is causing the first error, I am mostly worried about the second error.
When I open up the app from it's deployment in FF on Windows 8, I get the first error once, and then I get the second error repeatedly and the app never loads(it just stays on my loading template from the iron router). My deployed app runs just fine on Chrome and I.E.
I don't send any kind of request to another server in my app, so I am not sure why I am getting a CORS request error. I have not set up SSL or began to make a certificate yet, so I am not sure if this could be causing this kind of error in FF as I got another exception on my login page in FF on my localhost saying that I shouldn't have password elements when I'm not using https.
Does anyone know what could be causing this?
Sorry that I provide any code, as I don't know what code I would post to solve this problem since I don't actually request anything from another server in code that I have written.
Thanks in advance for any responses!
If anyone is interested, it seems as if my combination of the aldeed:collectio2 package and one of my other packages was the cause of my problems. I removed this package and my issues went away.

Deploying laravel app on Fortrabbit - 403 internal server serror

I followed the setup to deploy laravel app on fortrabbit but now I am stuck with this error:
Error 403
Internal server error
Overload: More requests than the App can handle.
A script stops with an error. Are your config files up to date? Maybe turn on debugging to trace the error.
There is an error in the .htaccess file.
Something else. Please check the fortrabbit status.
I have checked the configurations but I keep find a cause for that or even a solution for this issue.
That's not really a good question to post her on StackOverflow. It's too specific - probably App- or even service-related. For such cases: please try customer support.

Heroku: get error stack when an error is happening

Is there any chance we can modify Heroku's behaviour to get the error stack like I have in local?
Ex:
NameError in Best#search
Showing /media/augustin/Documents/Workspace/best/app/views/layouts/application.html.haml where line #29 raised:
undefined local variable or method `new_user_session_pat' for #<#<Class:0x00000002eb09b8>:0x00000004a12008>
Instead of:
We're sorry, but something went wrong.
I know there are heroku logs, I know its certainly not recommended in production environment, but since I'm still developping, I'd be happy to have nicer messages than the logs ones.
Thanks
You can use heroku logs:
$ heroku logs --app your_heroku_app_name
references: http://devcenter.heroku.com/articles/logging
Long time no talk, but the answer was actually very easy :
In /config/environments/env_name.rb (eg. production or staging), you need to set:
config.consider_all_requests_local = true
Besides, it could also be interesting to intercept the error message in production, not to display heroku's default page. It could be done like this :
http://blog.yangtheman.com/2012/10/11/user-friendly-500-and-404-pages-on-rails-3/

Resources