On Tue, Apr 4, 2023 at 9:20 PM mariappan balraj
<mariappan.bal...@gmail.com> wrote:
>
> In my test case, I have tried, Go-->C-->Go->panic() only.

You can run a bunch of cgo tests by running "go test" in the directory
$GOROOT/misc/cgo/test.

Ian


> On Wed, Apr 5, 2023 at 3:35 AM Ian Lance Taylor <i...@golang.org> wrote:
>>
>> On Mon, Apr 3, 2023 at 9:26 PM mariappan balraj
>> <mariappan.bal...@gmail.com> wrote:
>> >
>> > Hi Kurtis Rader,
>> >
>> > Thanks for your response. I am working on it. I will quickly share it. 
>> > Before that one more update. I have commented the below two lines. Now 
>> > from the core, I am able to see the correct stack trace.
>> >
>> > 326 func unwindm(restore *bool) {
>> > 327         if *restore {
>> > 328                 // Restore sp saved by cgocallback during
>> > 329                 // unwind of g's stack (see comment at top of file).
>> > 330                 mp := acquirem()
>> > 331                 //sched := &mp.g0.sched
>> > 332                 //sched.sp = *(*uintptr)(unsafe.Pointer(sched.sp + 
>> > alignUp(sys.MinFrameSize, sys.StackAlign)))
>> > 333
>> > 334                 // Do the accounting that cgocall will not have a 
>> > chance to do
>> > 335                 // during an unwind.
>> > 336                 //
>> > 337                 // In the case where a Go call originates from C, ncgo 
>> > is 0
>> > 338                 // and there is no matching cgocall to end.
>> > 339                 if mp.ncgo > 0 {
>> > 340                         mp.incgo = false
>> > 341                         mp.ncgo--
>> > 342                         osPreemptExtExit(mp)
>> > 343                 }
>> > 344
>> > 345                 releasem(mp)
>> > 346         }
>> > 347 }
>>
>>
>>
>> Just a note that in general we can't make that change, as it will
>> break the case where a Go function calls a C function calls a Go
>> function and that Go function calls panic.
>>
>> Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcVEOhyBGBuq4R8GM%3D4cEknHTczwpYjj%2Bhm316WA6vyv-w%40mail.gmail.com.

Reply via email to