Program: 174084
Project: 174084
Buggy source:
@Override public void onGuildMemberJoin(GuildMemberJoinEvent event){
  Guild guild=event.getGuild();
  TextChannel serverlog=db.getServerlogChannel(guild);
  TextChannel welcome=db.getWelcomeChannel(guild);
  TextChannel channel=FinderUtil.getDefaultChannel(event.getGuild());
  User newmember=event.getMember().getUser();
  Calendar calendar=GregorianCalendar.getInstance();
  calendar.setTime(new Date());
  String hour=String.format("String_Node_Str",calendar.get(Calendar.HOUR_OF_DAY));
  String min=String.format("String_Node_Str",calendar.get(Calendar.MINUTE));
  String sec=String.format("String_Node_Str",calendar.get(Calendar.SECOND));
  String msg=db.getWelcomeMessage(guild);
  parser.clear().put("String_Node_Str",newmember).put("String_Node_Str",guild).put("String_Node_Str",welcome);
  if (!(serverlog == null)) {
    if (!(serverlog.getGuild().getSelfMember().hasPermission(serverlog,Permission.MESSAGE_READ,Permission.MESSAGE_WRITE,Permission.MESSAGE_EMBED_LINKS,Permission.MESSAGE_HISTORY)))     guild.getOwner().getUser().openPrivateChannel().queue(s -> s.sendMessage(Messages.SRVLOG_NOPERMISSIONS).queue(null,(e) -> channel.sendMessage(Messages.SRVLOG_NOPERMISSIONS).queue()));
 else     serverlog.sendMessage("String_Node_Str" + hour + "String_Node_Str"+ min+ "String_Node_Str"+ sec+ "String_Node_Str"+ newmember.getName()+ "String_Node_Str"+ newmember.getDiscriminator()+ "String_Node_Str"+ newmember.getId()+ "String_Node_Str"+ guild.getMembers().size()+ "String_Node_Str").queue();
  }
  if (!(welcome == null) && !(msg.isEmpty())) {
    if (!(welcome.getGuild().getSelfMember().hasPermission(welcome,Permission.MESSAGE_READ,Permission.MESSAGE_WRITE,Permission.MESSAGE_HISTORY)))     guild.getOwner().getUser().openPrivateChannel().queue(s -> s.sendMessage(Messages.WELCOME_NOPERMISSIONS).queue(null,(e) -> channel.sendMessage(Messages.WELCOME_NOPERMISSIONS).queue()));
 else     welcome.sendMessage(parser.parse(msg).trim()).queueAfter(2,TimeUnit.SECONDS);
  }
}

Fixed version (ground truth):
@Override public void onGuildMemberJoin(GuildMemberJoinEvent event){
  Guild guild=event.getGuild();
  TextChannel serverlog=ldm.getServerlogChannel(guild);
  TextChannel welcome=jldm.getWelcomeChannel(guild);
  TextChannel channel=FinderUtil.getDefaultChannel(event.getGuild());
  User newmember=event.getMember().getUser();
  Calendar calendar=GregorianCalendar.getInstance();
  calendar.setTime(new Date());
  String hour=String.format("String_Node_Str",calendar.get(Calendar.HOUR_OF_DAY));
  String min=String.format("String_Node_Str",calendar.get(Calendar.MINUTE));
  String sec=String.format("String_Node_Str",calendar.get(Calendar.SECOND));
  String msg=jldm.getWelcomeMessage(guild);
  parser.clear().put("String_Node_Str",newmember).put("String_Node_Str",guild).put("String_Node_Str",welcome);
  if (!(serverlog == null)) {
    if (!(serverlog.getGuild().getSelfMember().hasPermission(serverlog,Permission.MESSAGE_READ,Permission.MESSAGE_WRITE,Permission.MESSAGE_EMBED_LINKS,Permission.MESSAGE_HISTORY)))     guild.getOwner().getUser().openPrivateChannel().queue(s -> s.sendMessage(Messages.SRVLOG_NOPERMISSIONS).queue(null,(e) -> channel.sendMessage(Messages.SRVLOG_NOPERMISSIONS).queue()));
 else     serverlog.sendMessage("String_Node_Str" + hour + "String_Node_Str"+ min+ "String_Node_Str"+ sec+ "String_Node_Str"+ newmember.getName()+ "String_Node_Str"+ newmember.getDiscriminator()+ "String_Node_Str"+ newmember.getId()+ "String_Node_Str"+ guild.getMembers().size()+ "String_Node_Str").queue();
  }
  if (!(welcome == null) && !(msg.isEmpty())) {
    if (!(welcome.getGuild().getSelfMember().hasPermission(welcome,Permission.MESSAGE_READ,Permission.MESSAGE_WRITE,Permission.MESSAGE_HISTORY)))     guild.getOwner().getUser().openPrivateChannel().queue(s -> s.sendMessage(Messages.WELCOME_NOPERMISSIONS).queue(null,(e) -> channel.sendMessage(Messages.WELCOME_NOPERMISSIONS).queue()));
 else     welcome.sendMessage(parser.parse(msg).trim()).queueAfter(2,TimeUnit.SECONDS);
  }
}