tsantalis / RefactoringMiner

MIT License
363 stars 137 forks source link

NPE TGX-Android/Telegram-X ecc6d58d #576

Closed victorgveloso closed 8 months ago

victorgveloso commented 8 months ago

NPE thrown while analyzing https://github.com/TGX-Android/Telegram-X/commit/ecc6d58dc62536cf93341d518bb620921cde384b

83232668 [main] ERROR b.u.d.l.r.o.AnalyzeProjectsHandler - Error analyzing commit ecc6d58dc62536cf93341d518bb620921cde384b
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "statementWithoutAnonymous1" is null
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
    at org.refactoringminer.rm1.GitHistoryRefactoringMinerImpl.detect(GitHistoryRefactoringMinerImpl.java:762)
    at org.refactoringminer.rm1.GitHistoryRefactoringMinerImpl.detectAll(GitHistoryRefactoringMinerImpl.java:808)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.AnalyzeAllCommits.lambda$analyzeProject$0(AnalyzeAllCommits.java:61)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.TaskWithProjectLock.extractProjectPath(TaskWithProjectLock.java:49)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.AnalyzeAllCommits.analyzeProject(AnalyzeAllCommits.java:52)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.AnalyzeAllCommits.doTask(AnalyzeAllCommits.java:45)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.TaskWithProjectLock.doTask(TaskWithProjectLock.java:75)
    at br.ufmg.dcc.labsoft.refactoringanalyzer.operations.AnalyzeAllCommits.main(AnalyzeAllCommits.java:27)
Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "statementWithoutAnonymous1" is null
    at gr.uom.java.xmi.decomposition.UMLOperationBodyMapper.processAnonymous(UMLOperationBodyMapper.java:10856)
    at gr.uom.java.xmi.decomposition.UMLOperationBodyMapper.processAnonymousAndLambdas(UMLOperationBodyMapper.java:10686)
    at gr.uom.java.xmi.decomposition.UMLOperationBodyMapper.findReplacementsWithExactMatching(UMLOperationBodyMapper.java:8583)
    at gr.uom.java.xmi.decomposition.UMLOperationBodyMapper.processLeaves(UMLOperationBodyMapper.java:4802)
    at gr.uom.java.xmi.decomposition.UMLOperationBodyMapper.<init>(UMLOperationBodyMapper.java:451)
    at gr.uom.java.xmi.diff.UMLClassDiff.createBodyMappers(UMLClassDiff.java:188)
    at gr.uom.java.xmi.diff.UMLClassBaseDiff.process(UMLClassBaseDiff.java:110)
    at gr.uom.java.xmi.UMLModel.diff(UMLModel.java:164)
    at org.refactoringminer.rm1.GitHistoryRefactoringMinerImpl.detectRefactorings(GitHistoryRefactoringMinerImpl.java:162)
    at org.refactoringminer.rm1.GitHistoryRefactoringMinerImpl.lambda$detect$3(GitHistoryRefactoringMinerImpl.java:760)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
tsantalis commented 8 months ago

@victorgveloso Duplicate of #575 Fixed in https://github.com/tsantalis/RefactoringMiner/commit/787c9a1e0422f399be43581469a6a7f05567da53

Refactorings at ecc6d58dc62536cf93341d518bb620921cde384b Change Variable Type additionalInfo : StringBuilder to additionalInfo : SpannableStringBuilder in method private updateUsername(chat TdApi.Chat) : void from class org.thunderdog.challegram.data.TGFoundChat Change Attribute Type text : CharSequence to text : TdApi.FormattedText in class org.thunderdog.challegram.data.TGFoundMessage Change Return Type CharSequence to TdApi.FormattedText in method public getText() : TdApi.FormattedText from class org.thunderdog.challegram.data.TGFoundMessage Change Parameter Type context : ViewController<?> to context : TdlibDelegate in method public valueOf(context TdlibDelegate, formattedText TdApi.FormattedText, openParameters TdlibUi.UrlOpenParameters) : FormattedText from class org.thunderdog.challegram.util.text.FormattedText Change Parameter Type context : ViewController<?> to context : TdlibDelegate in method public valueOf(context TdlibDelegate, charSequence CharSequence, openParameters TdlibUi.UrlOpenParameters) : FormattedText from class org.thunderdog.challegram.util.text.FormattedText Change Variable Type spans : ClickableSpan[] to spans : CharacterStyle[] in method public valueOf(context ViewController<?>, tdlib Tdlib, text CharSequence, openParameters TdlibUi.UrlOpenParameters) : TextEntity[] from class org.thunderdog.challegram.util.text.TextEntity Change Variable Type span : ClickableSpan to span : CharacterStyle in method public valueOf(context ViewController<?>, tdlib Tdlib, text CharSequence, openParameters TdlibUi.UrlOpenParameters) : TextEntity[] from class org.thunderdog.challegram.util.text.TextEntity Change Attribute Type subtitle : CharSequence to subtitle : FormattedText in class org.thunderdog.challegram.widget.BetterChatView Extract Method public setSubtitle(subtitle FormattedText, subtitleHighlight String) : void extracted from public setSubtitle(subtitle CharSequence) : void in class org.thunderdog.challegram.widget.BetterChatView Change Variable Type subtitle : String to subtitle : CharSequence in method private updateSubtitle() : void from class org.thunderdog.challegram.widget.BetterChatView Rename Attribute trimmedSubtitle : CharSequence to displaySubtitle : Text in class org.thunderdog.challegram.widget.BetterChatView Change Attribute Type trimmedSubtitle : CharSequence to displaySubtitle : Text in class org.thunderdog.challegram.widget.BetterChatView