Einzelnen Beitrag anzeigen

DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#1

Exception abfangen und Fortsetzen

  Alt 22. Dez 2020, 13:52
Hi,
ich habe ein RIESEN Problem. Eventuell bin ich nur zu doof zum suchen, bzw. ich suche nach den falschen Sachen. Ich schreibe einen Newsletter-Versender der unter Debian läuft. Es laufen ca. 40 Threads um die Mails per Synapse zu versenden. Es wird ein Bodyhash und DKIM berechnet. Dabei wird ab und zu eine Exception im OpenSSL ausgelöst. Ich kann diesen Fehler leider nicht reproduzieren. Mal läuft das Programm 4 Tage durch, dann kommt der Fehler schon nach 2 Stunden. Ich hänge die Exception die mir gdb anzeigt hier dran. Vielleicht hat ja jemand eine Idee.

Nun dachte ich, egal, eine Mail weniger die rausgeht und möchte die Exception abfangen. Das mache ich mit einem Override von HandleException. Nun zur eigentlichen Frage. Gibt es eine Möglichkeit das er danach weiter macht, und nicht das Programm "intern" neu Startet?

Hier die Exception die kommt:
Code:
Thread 5 "newsletter" received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7ffff6dc8700 (LWP 2906)]
__libc_write (nbytes=35, buf=0x7fffe00f4c43, fd=5) at ../sysdeps/unix/sysv/linux/write.c:26
26             return SYSCALL_CANCEL (write, fd, buf, nbytes);
(gdb) bt
#0  __libc_write (nbytes=35, buf=0x7fffe00f4c43, fd=5) at ../sysdeps/unix/sysv/linux/write.c:26
#1  __libc_write (fd=5, buf=0x7fffe00f4c43, nbytes=35) at ../sysdeps/unix/sysv/linux/write.c:24
#2  0x00007ffff7b21ad5 in ?? () from /lib/x86_64-linux-gnu/libcrypto.so
#3  0x00007ffff7b1cd5a in ?? () from /lib/x86_64-linux-gnu/libcrypto.so
#4  0x00007ffff7b1bdb3 in ?? () from /lib/x86_64-linux-gnu/libcrypto.so
#5  0x00007ffff7b1c253 in BIO_write () from /lib/x86_64-linux-gnu/libcrypto.so
#6  0x00007ffff79f0877 in ?? () from /lib/x86_64-linux-gnu/libssl.so
#7  0x00007ffff79f1b71 in ?? () from /lib/x86_64-linux-gnu/libssl.so
#8  0x00007ffff7a03f82 in ?? () from /lib/x86_64-linux-gnu/libssl.so
#9  0x00007ffff7a040b3 in SSL_write () from /lib/x86_64-linux-gnu/libssl.so
#10 0x0000000000656478 in SSLWRITE (SSL=0x7fffe002f370, BUF=0x686960, NUM=6) at ../HelperUnits/Synapse/ssl_openssl_lib.pas:1328
#11 0x00000000004c8d07 in SENDBUFFER (this=0x7fffe00557d8, BUFFER=0x686960, LEN=6) at ../HelperUnits/Synapse/ssl_openssl.pas:637
#12 0x000000000062d538 in SENDBUFFER (this=0x7fffe00a3f38, BUFFER=0x686960, LENGTH=6) at ../HelperUnits/Synapse/blcksock.pas:4066
#13 0x0000000000626968 in SENDSTRING (this=0x7fffe00a3f38, DATA=0x686960 "QUIT\r\n") at ../HelperUnits/Synapse/blcksock.pas:2113
#14 0x00000000004bf57c in LOGOUT (this=0x7fffe0061338) at ../HelperUnits/Synapse/smtpsend.pas:486
#15 0x000000000049567d in SENDTHREAD (VARPTR=0xa1b9d8) at ../uSendMailThrdRuleVx.pas:651
#16 0x0000000000428750 in CTHREADS_$$_THREADMAIN$POINTER$$POINTER ()
#17 0x0000000000493590 in ?? ()
#18 0x0000000000a1b9d8 in ?? ()
#19 0x0000000000400000 in ?? ()
#20 0x00000000000004c8 in ?? ()
#21 0x0000000000000000 in ?? ()
Vielen dank im Voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat