Hello, Michael Thanks ! I've tried to rerun my experiment with --no-devel, but it still went to internal modules.
So, for the current compiler, reasonable stack frame should be mapped to the internal module file with line# in the internal module instead of user code right ? On Fri, Oct 30, 2015 at 1:05 PM, Michael Ferguson <mfergu...@cray.com> wrote: > Hi - > > Answering your other email - I think it's a bug in the compiler > if the line number is right but the filename is wrong... > > Also, I think you should try running your experiments with > CHPL_DEVELOPER unset (or set to 0). It might be that the > work Brad described will form your work-around. So that > your tool wouldn't see any internal module file/line #s. > > Cheers, > > -michael > > On 10/30/15, 1:01 PM, "Hui Zhang" <wayne.huizh...@gmail.com> wrote: > > >Hello, Brad > > > > > >On Fri, Oct 30, 2015 at 12:58 PM, Brad Chamberlain > ><br...@cray.com> wrote: > > > > > >I'm only following this conversation at a high-level, but wanted to throw > >out a couple of data points in case they're useful: > > > >* for code that is considered "internal" (e.g., in modules/internal), the > > compiler makes a best attempt to refer to the user's code that called > > into the internal module rather than pointing into code that arguably > > isn't under the user's control. We generally do OK with this, though I > > believe it sometimes goes awry when a callchain goes from user code to > > internal modules and then back into user code (and maybe back into > > internal modules). > > > >* if CHPL_DEVELOPER is set (or --devel is thrown), > > > > > >we don't do any of > > the above and just point to the actual line # (figuring that developers > > don't want to have these details papered over). > > > > > >Yes, I did set CHPL_DEVELOPER. What do you mean by "we don't do any of > > the above and just point to the actual line #" > > > > > >? the actual line# in the user code or the internal module ? > > > > > >thanks > > > > > > > >-Brad > > > > > >On Fri, 30 Oct 2015, Michael Ferguson wrote: > > > > > >Hi - > > > >On 10/30/15, 12:45 PM, "Hui Zhang" <wayne.huizh...@gmail.com> wrote: > > > >Hello, Michael > > > > > >Okay....that makes a lot more sense now > > > > > >In my case, as your example, I need a nice stack trace when a sample fell > >on that "writeln", but now it'll give me something like this (assume file > >is user.chpl, forall is on line > >#1): > > > >wrap_coforall_fn (user.chpl : 1) -> coforall_fn (ChapelRange.chpl: 2) -> > >writeln (..) > > > >I expected it to be something like: > > > >wrap_coforall_fn(user.chpl: 1) -> coforall_fn(user.chpl: 2) -> writeln(..) > > > > > >So if the filename is internal modules, then it'll be difficult for me > >to transfer data along the stack since my previous analysis only > >concerns about user code... > > > > > > > >I don't think it's philosophically wrong for the compiler to include > >these internal module line numbers. Can you arrange for your tool to > >ignore them somehow? > > > > > > > >Another question: why the line# of the frame I got is "correct"(right > >line# in the user code, here '2') when the file/module is internal module > >? > > > > > > > >That just looks like a bug to me. > > > >-michael > > > > > > > > > > > > > > > > > > > > > > > > > >-- > >Best regards > > > > > >Hui Zhang > > > > > > > > -- Best regards Hui Zhang
------------------------------------------------------------------------------
_______________________________________________ Chapel-developers mailing list Chapel-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/chapel-developers