Skip to content
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

Infinite IDE crash loop when interface has members foo and _foo #1820

Closed
fafalone opened this issue Apr 1, 2024 · 1 comment
Closed

Infinite IDE crash loop when interface has members foo and _foo #1820

fafalone opened this issue Apr 1, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@fafalone
Copy link
Collaborator

fafalone commented Apr 1, 2024

Describe the bug
This was originally identified in a derived interface, but applies within a single interface as well:

Normally names starting with an underscore work fine, except when there's already a method with the same name without the underscore;

3:41:03.390
0001 03:41:03.381 NATIVE EXCEPTION: ACCESS_VIOLATION  {no-basic-code}
     thread 0009: CompilerOrganizationParsingEnd
     thread 0008: CompilerPackageIntellisenseAwaiting
     thread 0007: CompilerPackageIntellisenseAwaiting
     thread 0006: CompilerPackageIntellisenseAwaiting
     thread 0005: CompilerPackageIntellisenseAwaiting
 >>> thread 0004: IntellisenseAfterCompilationStart
     thread 0003: CompilerPackageIntellisenseAwaiting
     thread 0002: ProjectPushCustomControlsToClientEnd

That error repeats until the safe mode breakout kicks in.

To Reproduce
New StdExe:

[InterfaceId("08DD6ADC-728D-4774-A13B-AEF6E1ACE8FC")]
Interface IFoo Extends IUnknown
    Sub test1(ByVal a As Long)
    Sub test2(ByVal a As Long)
    Sub test3(ByVal a As Long)
    Sub test2(ByVal a As Long)    
End Interface

Then rename the second test2 by putting an underscore to make it _test2

Expected behavior
At the very least, this shouldn't cause a crash loop. Ideally it should work with both of them: This issue came up defining the Windows SDK provided version of IBrowserService and IBrowserService2. The first one has NavigateToPidl, the second inherits from the first and has _NavigateToPidl.
It could be renamed if proper support would require major changes, but ideally since tB is trying to support leading underscores in names it should be possible as-is.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • twinBASIC compiler version 0.15.487

Additional context
Add any other context about the problem here.

@fafalone fafalone added the bug Something isn't working label Apr 1, 2024
@WaynePhillipsEA
Copy link
Collaborator

Fixed in BETA 494. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants