Skip Menu |

This queue is for tickets about the AnyEvent-Worker CPAN distribution.

Report information
The Basics
Id: 64971
Status: resolved
Priority: 0/
Queue: AnyEvent-Worker

People
Owner: MONS [...] cpan.org
Requestors: bphillips [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: (no value)
Fixed in: (no value)



Subject: errors in worker are not correctly passed back to the parent
If worker method dies with an exception that isn't a plain scalar or arrayref, things start going badly. For instance, DBIx::Class throws exception objects. AnyEvent::Worker tries to dereference $@ as an ARRAY. This fails and the child process dies altogether. I submitted a pull request on github and I was hoping you could include the fix in a new official version. Here is the commit diff: https://github.com/brianphillips/AnyEvent- Worker/commit/8a2550a7f5207d50e33c06ba19b8499974f1746d
I didn't remember why that code needed at all, i.e. when the $@ could be array. It was derived from MLEHMANN's AnyEvent::DBI and in those code it's the same. I think It's could be DBI error from some version of DBI or DBD::* So I've removed that code and left ( ref $@ ? $@ : "$@" ) as error; I think its not so bad to pass a reference exception through freeze/thaw Commited and uploaded in 0.05