-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exceptions not propagated through Transformer #40868
Comments
assign core |
New categories assigned: core @Dr15Jones,@smuzaffar,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks |
A new Issue was created by @makortel Matti Kortelainen. @Dr15Jones, @perrotta, @dpiparo, @rappoccio, @makortel, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
I think I see the origin of the problem. The exception from earlier in the chain is supposed to get propagated in TransformingProductResolver::prefetchAsync_ cmssw/FWCore/Framework/src/ProductResolvers.cc Lines 537 to 554 in cb3e8bb
The resolveProductImpl() calls the lambda that rethrows iPtr if it is non-null incmssw/FWCore/Framework/src/ProductResolvers.cc Lines 51 to 67 in cb3e8bb
The problem is that the presentStatus for Transformer is ResolveFailed instead of the expected ResolveNotRun , as set incmssw/FWCore/Framework/src/ProductResolvers.h Lines 259 to 260 in cb3e8bb
The rationale for |
I checked that simply using cmssw/FWCore/Framework/src/ProductResolvers.h Lines 259 to 260 in cb3e8bb
indeed does not work. |
I have a possible fix in #40879 |
+core |
This issue is fully signed and ready to be closed. |
In a case where a module A uses
edm::Transformer
ability, and module B consumes the transformed product, if an exception is thrown in the processing chain consumed by A, that exception is lost, and instead module B fails with a missing product exception. While the job still fails, the first exception getting lost makes it difficult to understand why the job fails.I have a demonstrator in makortel@0280750 (commit on top of CMSSW_13_0_0_pre4) that makes the first module in the
transformTest_cfg.py
to throw an exception. If the Transformer is disabled, the job fails with the proper exception being reportedEnabling Transformer shows, instead, a
ProductNotFound
exceptionThe text was updated successfully, but these errors were encountered: