Skip to content

Segmentation fault under Strawberry Perl 5.36.1 x64, build with gcc-13.1 #3

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

Closed
shawnlaffan opened this issue May 28, 2023 · 12 comments
Closed

Comments

@shawnlaffan
Copy link

Opening an issue here per discussion in StrawberryPerl/Perl-Dist-Strawberry@409d29b#r110340879 (and after some delay).

GDB backtrace is below.

Possibly relevant is that Strawberry perl 5.36.1 includes the memory alignment changes in Perl/perl5#19912.

(gdb) bt
#0  0x00007ffe8b1b853d in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f4e2087fb68fa9c1\igxelpicd64.dll
#1  0x00007ffe8b18c133 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f4e2087fb68fa9c1\igxelpicd64.dll
#2  0x00007ffe8b421f79 in igxelpicd64!DrvValidateVersion ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f4e2087fb68fa9c1\igxelpicd64.dll
#3  0x00007ffe8b417bb2 in igxelpicd64!DrvValidateVersion ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f4e2087fb68fa9c1\igxelpicd64.dll
#4  0x00007ffe8b418cee in igxelpicd64!DrvValidateVersion ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f4e2087fb68fa9c1\igxelpicd64.dll
#5  0x00007fff34097504 in glDrawElements () from C:\WINDOWS\SYSTEM32\opengl32.dll
#6  0x00007fff06b2786a in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#7  0x00007fff06b2761d in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#8  0x00007fff06b339e4 in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#9  0x00007fff06b33b20 in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#10 0x00007ffeea1c4e4f in boot_OpenGL ()
   from C:\Users\user\AppData\Local\Temp\YH6e6HfaSw\blib\arch\auto\OpenGL\OpenGL.xs.dll
#11 0x00007ffe7ecf1c3c in perl536!Perl_clear_defarray () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#12 0x00007ffe7ed3ea22 in perl536!Perl_runops_standard () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#13 0x00007ffe7eccd4f7 in perl536!Perl_sv_vcatpvf_mg () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#14 0x00007ffe7ed3ea22 in perl536!Perl_runops_standard () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#15 0x00007ffe7ecfbda6 in perl536!Perl_call_sv () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#16 0x00007ffeea1b2650 in boot_OpenGL ()
   from C:\Users\user\AppData\Local\Temp\YH6e6HfaSw\blib\arch\auto\OpenGL\OpenGL.xs.dll
#17 0x00007fff06b23edd in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#18 0x00007fff06b2ef56 in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#19 0x00007fff06b2f67f in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#20 0x00007fff06b2efdf in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#21 0x00007fff06b31677 in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#22 0x00007fff06b2f02a in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#23 0x00007fff06b2f6c3 in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#24 0x00007fff06b2f75c in ?? () from C:\strawberry_5361_gcc13_20230528\c\bin\libfreeglut__.dll
#25 0x00007ffeea1b8a75 in boot_OpenGL ()
   from C:\Users\user\AppData\Local\Temp\YH6e6HfaSw\blib\arch\auto\OpenGL\OpenGL.xs.dll
#26 0x00007ffe7ecf1c3c in perl536!Perl_clear_defarray () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#27 0x00007ffe7ed3ea22 in perl536!Perl_runops_standard () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#28 0x00007ffe7ed022a4 in perl_run () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#29 0x00007ffe7ed4d95f in perl536!RunPerl () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll
#30 0x00007ff663b61340 in ?? ()
#31 0x00007ff663b61146 in ?? ()
#32 0x00007fff811026ad in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#33 0x00007fff819aa9f8 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#34 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
@shawnlaffan
Copy link
Author

Cross-ref: StrawberryPerl/Perl-Dist-Strawberry#102

@mohawk2
Copy link
Contributor

mohawk2 commented Mar 27, 2025

@shawnlaffan Belatedly (sorry): is this still happening with Perls 5.38 and 5.40?

@shawnlaffan
Copy link
Author

Yes, it still happens with SP 5.40.0.1. Backtrace is essentially the same.

Tested using version 0.7004 from CPAN.

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
(gdb) bt
#0  0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#1  0x00007ffba81b56d9 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#2  0x00007ffba81968d0 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#3  0x00007ffba820979c in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#4  0x00007ffba8b100b4 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#5  0x00007ffba842130c in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#6  0x00007ffba85bb1c6 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#7  0x00007ffba844bd9e in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#8  0x00007ffc197775d4 in glDrawElements () from C:\WINDOWS\SYSTEM32\opengl32.dll
#9  0x00007ffc26e977ea in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#10 0x00007ffc26e9759d in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#11 0x00007ffc26ea38b4 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#12 0x00007ffc26ea39f0 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#13 0x00007ffc26dd3639 in ?? ()
   from C:\perls\5400~2.1_P\data\.cpanm\work\1743113136.15700\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#14 0x00007ffc1de6269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#15 0x00007ffc1deb85e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#16 0x00007ffc1de6c744 in perl540!Perl_call_sv () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#17 0x00007ffc26dc269f in ?? ()
   from C:\perls\5400~2.1_P\data\.cpanm\work\1743113136.15700\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#18 0x00007ffc26e93edd in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#19 0x00007ffc26e9ee22 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#20 0x00007ffc26e9f557 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#21 0x00007ffc26e9eeab in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#22 0x00007ffc26ea1547 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#23 0x00007ffc26e9eef6 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#24 0x00007ffc26e9f59b in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#25 0x00007ffc26e9f634 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#26 0x00007ffc26dc8e02 in ?? ()
   from C:\perls\5400~2.1_P\data\.cpanm\work\1743113136.15700\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#27 0x00007ffc1de6269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#28 0x00007ffc1deb85e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#29 0x00007ffc1de72a1a in perl_run () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#30 0x00007ffc1dec7bc9 in perl540!RunPerl () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#31 0x00007ff705951340 in ?? ()
#32 0x00007ff705951146 in ?? ()
#33 0x00007ffc6cfc259d in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#34 0x00007ffc6e7aaf38 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#35 0x0000000000000000 in ?? ()

@mohawk2
Copy link
Contributor

mohawk2 commented Mar 27, 2025

OK, so frame no 26 is probably the call to glutMainLoop, no 17 will be the XS wrapper that calls the user-supplied callback, and no 13 might the callback itself. None of that is certain, and absolutely none is useful.

Please adjust the Makefile to have OPTIMIZE = with -g in there (probably best without optimisation at all). Then the bt will have line numbers and we can zoom in on that. The way to see what values it has in there at that moment would be to do e.g.:

If you put on here what that says, that will be very helpful. Thank you (as I said on #5) for sticking with this.

@shawnlaffan
Copy link
Author

That was with perl Makefile.PL OPTIMIZE=-g.

Checking frame 13, it looks like there is no variable called name at that point.

(gdb) list
warning: 1      ../../../libgcc/emutls.c: No such file or directory
(gdb) p name
No symbol "name" in current context.

Calling info args and info locals both result in No symbol table info available.

Some other info that whizzed by at the start of the run might be relevant. See below.

I can provide the full run if needed.

Starting program: C:\perls\5.40.0.1_PDL\perl\bin\perl.exe -Mblib test.pl
[New Thread 33912.0x7424]
[New Thread 33912.0x6d3c]
[New Thread 33912.0x72e0]
warning: onecore\base\appmodel\processcreation\src\packagedcreateprocess.cpp(289)\kernelbase.dll!00007FFC6BCB049A: (caller: 00007FFC6BBB1FE2) ReturnHr(1) tid(70d0) 80070002 The system cannot find the file specified.
warning: onecore\base\appmodel\processcreation\src\packagedcreateprocess.cpp(761)\kernelbase.dll!00007FFC6BBB2005: (caller: 00007FFC6BBB20E0) ReturnHr(2) tid(70d0) 80070002 The system cannot find the file specified.
warning: onecore\base\appmodel\processcreation\src\packagedcreateprocess.cpp(952)\kernelbase.dll!00007FFC6BBB2103: (caller: 00007FFC6BBF83A5) LogHr(1) tid(70d0) 80070002 The system cannot find the file specified.
[New Thread 33912.0x4d40]
[New Thread 33912.0x8c24]
[New Thread 33912.0x56cc]
[New Thread 33912.0x7988]
[New Thread 33912.0x7840]

@mohawk2
Copy link
Contributor

mohawk2 commented Mar 27, 2025

I'm a bit skeptical the previous one was with -g, because then there should have been line numbers. While lldb and gdb are different programs, they do behave similarly on this, and you can look at #5 for the sort of output I'd expect. I tried to be extremely clear that p name was if there were a variable called name, including saying those words.

Currently I don't know which specific bit of code is getting the SEGV. gdb is a good tool for getting that info, if used appropriately.

@shawnlaffan
Copy link
Author

I just re-ran it to double check. The results are the same.

perl Makefile.PL OPTIMIZE="-g" && gmake && gmake test
gdb --args perl -Mblib test.pl

Same for

perl Makefile.PL OPTIMIZE="-g -O0" && gmake && gmake test

@mohawk2
Copy link
Contributor

mohawk2 commented Mar 27, 2025

It seems that for some reason, Strawberry is set to add -s to LDFLAGS and LDDLFLAGS. Those will need to be removed from the Makefile, then you can try again.

@shawnlaffan
Copy link
Author

The -s is not Strawberry specific. It is set in Perl's GNUMakefile.
https://github.com/Perl/perl5/blob/de36a92218b2118db3e5a47294474ce10ed4d379/win32/GNUmakefile#L605-L620

As for the GDB output from frame 13 (calling p on all the variables in the event it is useful):

(gdb) frame 13
#13 0x00007ffc25fb3639 in XS_OpenGL__GLUT_glutWireTeapot (my_perl=0x643050, cv=0x2c4ce38) at lib/OpenGL/GLUT.c:2717
2717            glutWireTeapot(size);
(gdb) list
2712           croak_xs_usage(cv,  "size");
2713        {
2714            GLdouble        size = (double)SvNV(ST(0))
2715    ;
2716
2717            glutWireTeapot(size);
2718        }
2719        XSRETURN_EMPTY;
2720    }
2721
(gdb) p size
$1 = 0.25
(gdb) p cv
$2 = (CV *) 0x2c4ce38

Stack trace:

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
(gdb) bt
#0  0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#1  0x00007ffba81b56d9 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#2  0x00007ffba81968d0 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#3  0x00007ffba820979c in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#4  0x00007ffba8b100b4 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#5  0x00007ffba842130c in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#6  0x00007ffba85bb1c6 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#7  0x00007ffba844bd9e in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#8  0x00007ffc197775d4 in glDrawElements () from C:\WINDOWS\SYSTEM32\opengl32.dll
#9  0x00007ffc22fa77ea in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#10 0x00007ffc22fa759d in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#11 0x00007ffc22fb38b4 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#12 0x00007ffc22fb39f0 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#13 0x00007ffc25fb3639 in XS_OpenGL__GLUT_glutWireTeapot (my_perl=0x643050, cv=0x2c4ce38) at lib/OpenGL/GLUT.c:2717
#14 0x00007ffc1de6269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#15 0x00007ffc1deb85e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#16 0x00007ffc1de6c744 in perl540!Perl_call_sv () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#17 0x00007ffc25fa269f in generic_glut_Display_handler () at lib/OpenGL/GLUT.xs:262
#18 0x00007ffc22fa3edd in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#19 0x00007ffc22faee22 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#20 0x00007ffc22faf557 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#21 0x00007ffc22faeeab in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#22 0x00007ffc22fb1547 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#23 0x00007ffc22faeef6 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#24 0x00007ffc22faf59b in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#25 0x00007ffc22faf634 in ?? () from C:\perls\5.40.0.1_PDL\c\bin\libfreeglut__.dll
#26 0x00007ffc25fa8e02 in XS_OpenGL__GLUT_glutMainLoop (my_perl=0x643050, cv=0x2c414b0) at lib/OpenGL/GLUT.c:879
#27 0x00007ffc1de6269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#28 0x00007ffc1deb85e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#29 0x00007ffc1de72a1a in perl_run () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#30 0x00007ffc1dec7bc9 in perl540!RunPerl () from C:\perls\5.40.0.1_PDL\perl\bin\perl540.dll
#31 0x00007ff705951340 in ?? ()
#32 0x00007ff705951146 in ?? ()
#33 0x00007ffc6cfc259d in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#34 0x00007ffc6e7aaf38 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#35 0x0000000000000000 in ?? ()

@mohawk2
Copy link
Contributor

mohawk2 commented Mar 27, 2025

This is (not hugely surprisingly) similar to the problem in part 1 of #5. If you had a debug-symbols-equipped version of FreeGLUT locally, we'd be able to dig into this. It's probably similar to what's making, with this test.pl, the demo under Mesa on both MacOS and Linux not display anything except the statistics numbers.

I wonder if it's because different compiled versions of FreeGLUT have different numbers of vertices in that teapot, and test.pl has an implied buffer size that does or doesn't get buffer-overrun-ed.

@shawnlaffan
Copy link
Author

I managed to compile FreeGLUT with debug symbols. Backtrace is below.

I'm not sure why the .xs frames no longer debugging details despite being compiled with -g. Hopefully it's now not needed or is the same as for the previous results.

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
(gdb) bt
#0  0x00007ffba8413fbf in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#1  0x00007ffba81b56d9 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#2  0x00007ffba81968d0 in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#3  0x00007ffba820979c in ?? ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#4  0x00007ffba8b100b4 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#5  0x00007ffba842130c in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#6  0x00007ffba85bb1c6 in igxelpicd64!DumpRegistryKeyDefinitions ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#7  0x00007ffba844bd9e in igxelpicd64!RegisterProcTableCallback ()
   from C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_fd80a30ace0a55e5\igxelpicd64.dll
#8  0x00007ffc197775d4 in glDrawElements () from C:\WINDOWS\SYSTEM32\opengl32.dll
#9  0x00007ffc01ad77ea in fghDrawGeometryWire11 (vertices=0x7ffc01b3de00 <vertsTeapotW>,
    normals=0x7ffc01b34800 <normsTeapotW>, vertIdxs=0x7ffc01b31600 <vertIdxsTeapotW>, numParts=640, numVertPerPart=10,
    vertexMode=3, vertIdxs2=0x0, numParts2=0, numVertPerPart2=0)
    at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_geometry.c:350
#10 0x00007ffc01ad759d in fghDrawGeometryWire (vertices=0x7ffc01b3de00 <vertsTeapotW>, normals=0x7ffc01b34800 <normsTeapotW>,
    numVertices=3200, vertIdxs=0x7ffc01b31600 <vertIdxsTeapotW>, numParts=640, numVertPerPart=10, vertexMode=3,
    vertIdxs2=0x0, numParts2=0, numVertPerPart2=0) at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_geometry.c:155
#11 0x00007ffc01ae38b4 in fghTeaset (scale=0.25, useWireMode=1 '\001', cpdata=0x7ffc01af7ee0 <cpdata_teapot>,
    patchdata=0x7ffc01af7c60 <patchdata_teapot>, vertIdxs=0x7ffc01b31600 <vertIdxsTeapotW>,
    verts=0x7ffc01b3de00 <vertsTeapotW>, norms=0x7ffc01b34800 <normsTeapotW>, texcs=0x0,
    lastScale=0x7ffc01b47400 <lastScaleTeapotW>, inited=0x7ffc01b47404 <initedTeapotW> "\001", needNormalFix=1 '\001',
    rotFlip=1 '\001', zOffset=1.57500005, nVerts=3200, nInputPatches=10, nPatches=32, nTriangles=0)
    at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_teapot.c:470
#12 0x00007ffc01ae39f0 in glutWireTeapot (size=0.25) at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_teapot.c:484
#13 0x00007ffc227d7866 in ?? ()
   from C:\perls\5400~3.1_P\data\.cpanm\work\1743125079.27760\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#14 0x00007ffc21a0269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#15 0x00007ffc21a585e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#16 0x00007ffc21a0c744 in perl540!Perl_call_sv () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#17 0x00007ffc227d4f40 in ?? ()
   from C:\perls\5400~3.1_P\data\.cpanm\work\1743125079.27760\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#18 0x00007ffc01ad3edd in fghDisplayFuncCallback (userData=0x7ffc227d4de1)
    at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_callbacks.c:166
#19 0x00007ffc01adee22 in fghRedrawWindow (window=0x3446b20) at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:133
#20 0x00007ffc01adf557 in fgProcessWork (window=0x3446b20) at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:435
#21 0x00007ffc01adeeab in fghcbProcessWork (window=0x3446b20, enumerator=0x5ffad0)
    at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:157
#22 0x00007ffc01ae1547 in fgEnumWindows (enumCallback=0x7ffc01adee84 <fghcbProcessWork>, enumerator=0x5ffad0)
    at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_structure.c:406
#23 0x00007ffc01adeef6 in fghProcessWork () at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:172
#24 0x00007ffc01adf59b in glutMainLoopEvent () at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:457
#25 0x00007ffc01adf634 in glutMainLoop () at Z:/extlib/_bfgdebug__.src/freeglut-3.4.0/src/fg_main.c:489
#26 0x00007ffc227de4c9 in ?? ()
   from C:\perls\5400~3.1_P\data\.cpanm\work\1743125079.27760\OpenGL-0.7004\blib\arch\auto\OpenGL\GLUT\GLUT.xs.dll
#27 0x00007ffc21a0269b in perl540!Perl_clear_defarray () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#28 0x00007ffc21a585e2 in perl540!Perl_runops_standard () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#29 0x00007ffc21a12a1a in perl_run () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#30 0x00007ffc21a67bc9 in perl540!RunPerl () from C:\perls\5.40.0.1_PDL_freeglutdebug\perl\bin\perl540.dll
#31 0x00007ff67aee1340 in ?? ()
#32 0x00007ff67aee1146 in ?? ()
#33 0x00007ffc6cfc259d in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
#34 0x00007ffc6e7aaf38 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
#35 0x0000000000000000 in ?? ()

@mohawk2
Copy link
Contributor

mohawk2 commented Apr 3, 2025

Thank you for sticking with this. Would you mind if we track this now on #5? That's now also about a GLUT SEGV. If you're content, then please close this issue. Hopefully as noted on the other issue, this is now actually sorted, but if not I have a backup plan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants