apache / apache/netbeans

AssertionError in OfflineConnector (maven embedder)

Open
#3,904 4 comments 0 reactions 0 assignees View on GitHub
kind:bug Maven
Dominant language
Java
Stars
3.1k
Forks
935
Avg merge
2d 3h
Merged PRs (30d)
17

Description

### Apache NetBeans version

Apache NetBeans 13

### What happened

AssertionError happens sometime and is :

stacktrace:
```

java.lang.AssertionError
at org.netbeans.modules.maven.embedder.impl.OfflineConnector.newInstance(OfflineConnector.java:43)
at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:107)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:584)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$1.execute(DefaultMetadataResolver.java:510)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultMetadataResolver.java:353)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(DefaultMetadataResolver.java:181)
at org.apache.maven.repository.internal.DefaultVersionResolver.resolveVersion(DefaultVersionResolver.java:213)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:282)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:207)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:262)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:215)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve(LegacyRepositorySystem.java:367)
at org.netbeans.modules.maven.embedder.MavenEmbedder.resolve(MavenEmbedder.java:378)
at org.netbeans.modules.maven.embedder.NBRepositoryModelResolver.resolveModel(NBRepositoryModelResolver.java:74)
at org.netbeans.modules.maven.embedder.NBRepositoryModelResolver.resolveModel(NBRepositoryModelResolver.java:88)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1077)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:853)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:344)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:252)
at org.netbeans.modules.maven.embedder.impl.NBModelBuilder.build(NBModelBuilder.java:53)
at org.netbeans.modules.maven.embedder.MavenEmbedder.executeModelBuilder(MavenEmbedder.java:447)
at org.netbeans.modules.maven.NbMavenProjectImpl.getRawModel(NbMavenProjectImpl.java:199)
at org.netbeans.modules.maven.api.NbMavenProject.getRawModel(NbMavenProject.java:372)
at org.netbeans.modules.maven.MavenProjectPropsImpl.lambda$get$0(MavenProjectPropsImpl.java:93)
at org.netbeans.modules.openide.util.DefaultMutexImplementation.readAccess(DefaultMutexImplementation.java:188)
at org.openide.util.Mutex.readAccess(Mutex.java:199)
at org.netbeans.modules.maven.MavenProjectPropsImpl.get(MavenProjectPropsImpl.java:78)
at org.netbeans.modules.maven.MavenProjectPropsImpl.get(MavenProjectPropsImpl.java:74)
at org.netbeans.modules.maven.MavenProjectPropsImpl$PackagingProviderImpl.packaging(MavenProjectPropsImpl.java:306)
at org.netbeans.modules.maven.api.NbMavenProject.getPackagingType(NbMavenProject.java:359)
at org.netbeans.modules.maven.NbMavenProjectImpl$PackagingTypeDependentLookup.check(NbMavenProjectImpl.java:921)
at org.netbeans.modules.maven.NbMavenProjectImpl$PackagingTypeDependentLookup.(NbMavenProjectImpl.java:880)
at org.netbeans.modules.maven.NbMavenProjectImpl.(NbMavenProjectImpl.java:257)
at org.netbeans.modules.maven.NbMavenProjectFactory.loadProject(NbMavenProjectFactory.java:95)
at org.netbeans.modules.projectapi.nb.NbProjectManager.createProject(NbProjectManager.java:376)
at org.netbeans.modules.projectapi.nb.NbProjectManager.access$300(NbProjectManager.java:69)
at org.netbeans.modules.projectapi.nb.NbProjectManager$2.run(NbProjectManager.java:289)
at org.netbeans.modules.projectapi.nb.NbProjectManager$2.run(NbProjectManager.java:218)
at org.netbeans.modules.openide.util.DefaultMutexImplementation.readAccess(DefaultMutexImplementation.java:188)
at org.openide.util.Mutex.readAccess(Mutex.java:231)
at org.netbeans.modules.projectapi.nb.NbProjectManager.findProject(NbProjectManager.java:218)
at org.netbeans.api.project.ProjectManager.findProject(ProjectManager.java:142)
at org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation.getOwner(SimpleFileOwnerQueryImplementation.java:144)
at org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation.getOwner(SimpleFileOwnerQueryImplementation.java:93)
at org.netbeans.api.project.FileOwnerQuery.getOwner(FileOwnerQuery.java:125)
at org.netbeans.modules.projectapi.ProjectSharabilityQuery2.getSharability(ProjectSharabilityQuery2.java:40)
at org.netbeans.api.queries.SharabilityQuery.getSharability(SharabilityQuery.java:152)
at org.netbeans.modules.git.utils.GitUtils.isIgnored(GitUtils.java:227)
at org.netbeans.modules.git.FileStatusCache$IgnoredFilesHandler.run(FileStatusCache.java:851)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

```

### How to reproduce

Unable to reproduce. issue just appears time to time. I have maven project opened.
I have no clue to propose a PR.

### Did this work correctly in an earlier version?

Apache NetBeans 12.6

### Operating System

Windows 11

### JDK

jdk17

### Apache NetBeans packaging

Apache NetBeans provided installer

### Anything else

_No response_

### Are you willing to submit a pull request?

No

### Code of Conduct

Yes

Contributor guide

Open the contributing guide

Research direction

Start at org.netbeans.modules.maven.embedder.impl.OfflineConnector.newInstance, especially OfflineConnector.java line 43, and trace the repository-connector setup shown in the stack trace. Review merged pull request #4184 for related work and inspect whether it addresses this intermittent Windows 11/JDK 17 failure. Done means the assertion no longer occurs during Maven project loading, with regression coverage if the relevant test location is identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.