Error handlers

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Error handlers

Esteban A. Maringolo
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Error handlers

jvalteren@objectguild.com
Hi Esteban,

I've been wanting to do the same, but haven't had the time to implement this yet. However, I did find the following links that will be of use:

https://marianopeck.blog/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
https://github.com/ba-st/Launchpad/blob/release-candidate/docs/Debugging.md

Some of our fellow Smalltalkers have paved the road for us already ;-)

I would love to hear about your results!


Best,


Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

+316 22500930
On 1 Aug 2020, 17:32 +0200, Esteban Maringolo <[hidden email]>, wrote:
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Error handlers

Esteban A. Maringolo
Hi Jonathan,

I remember Mariano Martinez (who developed Fuel initially, cc: for the heads up) did something like this while working in the Quuve project, but with GemStone
I tried to access it but it's in SmalltalkHub and it is down now.

At this point a text dump of the stacktrace could work.

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 2:02 PM Jonathan van Alteren <[hidden email]> wrote:
Hi Esteban,

I've been wanting to do the same, but haven't had the time to implement this yet. However, I did find the following links that will be of use:

https://marianopeck.blog/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
https://github.com/ba-st/Launchpad/blob/release-candidate/docs/Debugging.md

Some of our fellow Smalltalkers have paved the road for us already ;-)

I would love to hear about your results!


Best,


Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

+316 22500930
On 1 Aug 2020, 17:32 +0200, Esteban Maringolo <[hidden email]>, wrote:
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Error handlers

Johan Brichau-2
In addition to ’saving the stack to the objectlog in Gemstone’, we also report the error to sentry.io using a port of https://github.com/peteruhnak/pharo-sentry
Although I must say Sentry does not cope too well with the Smalltalk stack trace, there might be some room for improvement.

But there is hardly anything Seaside-specific to it, as you just need to subclass WAExceptionHandler and override the necessary handle methods with whatever you want to export.

Also: serializing the stack (printing) is probably quite different in each Smalltalk dialect. At least I know we have vastly different code between Pharo and GemStone for that.

cheers
Johan

On 1 Aug 2020, at 19:22, Esteban Maringolo <[hidden email]> wrote:

Hi Jonathan,

I remember Mariano Martinez (who developed Fuel initially, cc: for the heads up) did something like this while working in the Quuve project, but with GemStone
I tried to access it but it's in SmalltalkHub and it is down now.

At this point a text dump of the stacktrace could work.

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 2:02 PM Jonathan van Alteren <[hidden email]> wrote:
Hi Esteban,

I've been wanting to do the same, but haven't had the time to implement this yet. However, I did find the following links that will be of use:

https://marianopeck.blog/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
https://github.com/ba-st/Launchpad/blob/release-candidate/docs/Debugging.md

Some of our fellow Smalltalkers have paved the road for us already ;-)

I would love to hear about your results!


Best,


Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

+316 22500930
On 1 Aug 2020, 17:32 +0200, Esteban Maringolo <[hidden email]>, wrote:
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Error handlers

Esteban A. Maringolo
Hi Johan, 

I wasn't aware of this Sentry integration, thanks for the reference (although it might seem overkill for my _current_ needs).

For other Seaside app I have a custom error handler that writes the stack to disk, but it leverages on some existing features, already provided by VisualWorks (+customer tweaks).
So I can do `anException dumpLogFile` and it will dump the whole stack trace to the globally specified "log dumps" directory.

But since doing a post-mortem analysis with Fuel could be a superior option, that's why I wanted to ask about its existence, before adding it to the list of "things to do whenever I have time" after I finish salvaging a VPS do-release-upgrade that went bananas :-D

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 3:33 PM Johan Brichau <[hidden email]> wrote:
In addition to ’saving the stack to the objectlog in Gemstone’, we also report the error to sentry.io using a port of https://github.com/peteruhnak/pharo-sentry
Although I must say Sentry does not cope too well with the Smalltalk stack trace, there might be some room for improvement.

But there is hardly anything Seaside-specific to it, as you just need to subclass WAExceptionHandler and override the necessary handle methods with whatever you want to export.

Also: serializing the stack (printing) is probably quite different in each Smalltalk dialect. At least I know we have vastly different code between Pharo and GemStone for that.

cheers
Johan

On 1 Aug 2020, at 19:22, Esteban Maringolo <[hidden email]> wrote:

Hi Jonathan,

I remember Mariano Martinez (who developed Fuel initially, cc: for the heads up) did something like this while working in the Quuve project, but with GemStone
I tried to access it but it's in SmalltalkHub and it is down now.

At this point a text dump of the stacktrace could work.

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 2:02 PM Jonathan van Alteren <[hidden email]> wrote:
Hi Esteban,

I've been wanting to do the same, but haven't had the time to implement this yet. However, I did find the following links that will be of use:

https://marianopeck.blog/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
https://github.com/ba-st/Launchpad/blob/release-candidate/docs/Debugging.md

Some of our fellow Smalltalkers have paved the road for us already ;-)

I would love to hear about your results!


Best,


Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

+316 22500930
On 1 Aug 2020, 17:32 +0200, Esteban Maringolo <[hidden email]>, wrote:
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Error handlers

Johan Brichau-2
You can check out SmalltalkCI (https://github.com/hpi-swa/smalltalkCI) if you want to see the Fuel serialisation of a stack at work. By default, for every failing test, the stack is serialized to disk using Fuel.
I don’t think there are Seaside-specific issues to mind, but perhaps somebody who is doing that already can chime in?

Johan

On 1 Aug 2020, at 22:08, Esteban Maringolo <[hidden email]> wrote:

Hi Johan, 

I wasn't aware of this Sentry integration, thanks for the reference (although it might seem overkill for my _current_ needs).

For other Seaside app I have a custom error handler that writes the stack to disk, but it leverages on some existing features, already provided by VisualWorks (+customer tweaks).
So I can do `anException dumpLogFile` and it will dump the whole stack trace to the globally specified "log dumps" directory.

But since doing a post-mortem analysis with Fuel could be a superior option, that's why I wanted to ask about its existence, before adding it to the list of "things to do whenever I have time" after I finish salvaging a VPS do-release-upgrade that went bananas :-D

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 3:33 PM Johan Brichau <[hidden email]> wrote:
In addition to ’saving the stack to the objectlog in Gemstone’, we also report the error to sentry.io using a port of https://github.com/peteruhnak/pharo-sentry
Although I must say Sentry does not cope too well with the Smalltalk stack trace, there might be some room for improvement.

But there is hardly anything Seaside-specific to it, as you just need to subclass WAExceptionHandler and override the necessary handle methods with whatever you want to export.

Also: serializing the stack (printing) is probably quite different in each Smalltalk dialect. At least I know we have vastly different code between Pharo and GemStone for that.

cheers
Johan

On 1 Aug 2020, at 19:22, Esteban Maringolo <[hidden email]> wrote:

Hi Jonathan,

I remember Mariano Martinez (who developed Fuel initially, cc: for the heads up) did something like this while working in the Quuve project, but with GemStone
I tried to access it but it's in SmalltalkHub and it is down now.

At this point a text dump of the stacktrace could work.

Regards!

Esteban A. Maringolo


On Sat, Aug 1, 2020 at 2:02 PM Jonathan van Alteren <[hidden email]> wrote:
Hi Esteban,

I've been wanting to do the same, but haven't had the time to implement this yet. However, I did find the following links that will be of use:

https://marianopeck.blog/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
https://github.com/ba-st/Launchpad/blob/release-candidate/docs/Debugging.md

Some of our fellow Smalltalkers have paved the road for us already ;-)

I would love to hear about your results!


Best,


Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

+316 22500930
On 1 Aug 2020, 17:32 +0200, Esteban Maringolo <[hidden email]>, wrote:
Hi all,

Does anybody know about a publicly available Seaside Error handler
that serializes the exception to disk (to a configurable location)
either in a plaintext format or, ideally, using Fuel?

Thanks!

Esteban A. Maringolo
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside