Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Catchable Fatal Error (4096)
#1
Hallo und guten Abend Gemeinde.

Ein User hat mich auf einen seltsamen Fehler aufmerksam gemacht:

Code:
MyBB has experienced an internal error and cannot continue.

Error Type:
   Catchable Fatal Error (4096)
Error Message:
   Object of class mysqli_result could not be converted to string
Location:
   File: newthread.php(1178) : eval()'d code
   Line: 29
Backtrace:
   File Line Function
   /inc/class_error.php 208 errorHandler->output_error
   /newthread.php(1178) : eval()'d code 29 errorHandler->error
   /newthread.php 1178 eval

Please contact the MyBB Group for technical support.

Das seltsame ist: dieser Fehler trifft nicht bei jeder Neueröffnung eines Themas auf.
(Im fehlerauslösenden Fall sind jedoch ineinander geschachtelte Spoiler verwendet worden. 
Also
[code]
[spoiler][spoiler] Bla bla [/spoiler][/spoiler]

Der Lösungsansatz aus https://www.mybb.de/forum/thread-25879-p...#pid173464 kann ich leider nicht anwenden, da in der newthread.php kein {$captcha} zu finden ist. Sad

Das betreffende Forum ist die Spiegeldimension.
(Siehe Link im Footer)

Vielen Dank im Vorfeld für eure Hilfe.

MfG
Santhony
Zitieren
#2
Welche MyBB-Version verwendest du? Die Zeile in der newthread.php ist bei MyBB 1.8.17 leer.

Die Fehlermeldung deutet wahrscheinlich auf einen Fehler im Template "newthread" hin. Am besten vergleichst du das mit dem Original (z.B. eine Variable, die dort nicht hin gehört). Falls das nicht hilft, poste bitte den Inhalt des Templates.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Hallo und guten Abend Stefan.
Ich verwende in diesem Forum noch 1.8.15.

Die verbauten Plugins haben diverse Variablen gesetzt, von denen ich jetzt aber keine entdecke, die fehl am Platze erscheint.
Ein Unterschied, der mir aufgefallen ist, ist jedoch eine unterschiedliche Javascript Version im Header.
(Im Original ist es 1813 und in dem Style, den der User benutzt 1808)


Hier ist das Template:
Code:
<html>
<head>
<title>{$lang->newthread_in}</title>
{$headerinclude}
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/post.js?ver=1808"></script>
</head>
<body>
{$header}
{$preview}
{$thread_errors}
{$attacherror}
{$moderation_notice}
<form action="newthread.php?fid={$fid}&amp;processed=1" method="post" enctype="multipart/form-data" name="input">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="2"><strong>{$lang->post_new_thread}</strong><a name="switch" id="switch"></a></td>
</tr>
{$loginbox} {$tracker_partners} {$tracker_date} {$tracker_ort} {$tracker_daytime}      
<tr>
<td class="trow2" width="20%"><strong>{$lang->thread_subject}</strong></td>
<td class="trow2">{$prefixselect}<input type="text" class="textbox" name="subject" size="40" maxlength="85" value="{$subject}" tabindex="1" /></td>
</tr>
  {$threaddescription}{$posticons}
<tr>
<td class="trow2" valign="top"><strong>{$lang->your_message}</strong>{$smilieinserter}<!-- TableGenerator -->{$tabgen_button}<!-- /TableGenerator --></td>
<td class="trow2">
<textarea name="message" id="message" rows="20" cols="70" tabindex="2">{$message}{$forum['form']}</textarea>
{$codebuttons}
{$multiquote_external}
</td>
</tr>
<tr>
<td class="trow1" valign="top"><strong>{$lang->post_options}</strong></td>
<td class="trow1"><span class="smalltext">
<label><input type="checkbox" class="checkbox" name="postoptions[signature]" value="1" tabindex="7"{$postoptionschecked['signature']} /> {$lang->options_sig}</label>
{$disablesmilies}</span></td>
</tr>
{$modoptions}
{$subscriptionmethod}
{$pollbox}
{$captcha}
</table>
{$attachbox}
<br />
<div style="text-align:center">{$as_post}&nbsp;<input type="submit" class="button" name="submit" value="{$lang->post_thread}" tabindex="4" accesskey="s" />  <input type="submit" class="button" name="previewpost" value="{$lang->preview_post}" tabindex="5" />{$savedraftbutton}</div>
<input type="hidden" name="action" value="do_newthread" />
<input type="hidden" name="posthash" value="{$posthash}" />
<input type="hidden" name="attachmentaid" value="" />
<input type="hidden" name="attachmentact" value="" />
<input type="hidden" name="quoted_ids" value="{$quoted_ids}" />
<input type="hidden" name="tid" value="{$tid}" />
{$editdraftpid}
</form>
{$forumrules}
{$footer}
<script type="text/javascript">
    $(".author_avatar img").error(function () {
        $(this).unbind("error").closest('.author_avatar').remove();
    });
</script>
</body>
</html>
Zitieren
#4
Das MyBB hat doch standardmäßig keinen BBCode für Spoiler; da ist anscheinend ein Plugin verbaut?
Der problematische Teil ist m.E. daher
Code:
{$codebuttons}

Warum werden da eigentlich Spoiler verschachtelt? Macht das einen speziellen Sinn? Funktioniert es, wenn nur ein Spoiler-Tag vorhanden ist, d.h. tritt das Problem nur beim verschachtelten Spoiler auf?
Zitieren
#5
Im Template sind einige Variablen, die offenbar zu Plugins oder Modifikationen gehören. Welche davon den Fehler verursacht, ist schwer zu sagen. Dafür müsste man jeweils den dazugehörigen PHP-Code kennen.
Anhand der Zeilenangabe in der Fehlermeldung würde ich auf {$forum['form']} tippen. Wie bv64 vermutet, könnte auch {$codebuttons} durch ein Plugin überschrieben werden.

Ich würde an deiner Stelle im Ausschlussprinzip nacheinander die Variablen, die nicht standardmäßig im Template vorhanden sind, entfernen bis der Fehler verschwindet. Alle anderen kannst du danach natürlich wieder einfügen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#6
Hallo und guten Abend.
Vielen Dank für eure Rückmeldungen.

@bv64:
Das mehrfach ineinander verschachtelte hatte den Zweck diverse Grafiken in eine geeordenete Struktur zu bringen, ohne dass sie beim Ansehen des Themas sofort den User erschlagen.

Was die Reproduktion des Fehlers anbelangt so weiß ich mir grade keinen Rat.
Denn momentan funktioniert der gleiche Inhalt, der noch vor einigen Tagen den Fehler verursacht hat, ohne, dass ich etwas an den Einstellungen verändert habe.
Ich kann also daher noch nicht einmal per Ausschlussverfahren auf Fehlersuche gehen; würde daher das Thema erst noch als ungelöst offen stehen lassen - falls erlaubt - wenn der Fehler wieder auftritt und ich dann mehr sagen kann. öö

Lieben Gruß
Santhony
Zitieren
#7
welches Spoiler-Plugin wird denn überhaupt genutzt? Ich meine, da wären mehrere am Markt.
Zitieren
#8
Hallo und guten Morgen, bv64.

Verbaut habe ich MyCode: [spoiler] (1.2.1) von Dark Neo

Und es gibt mehrere? ^^°
Irgendwie habe ich immer nur diesen gefunden...
Zitieren
#9
ich habe diesen verbaut: https://www.mybb.de/erweiterungen/16x/pl...myspoiler/
ist zwar ursprünglich für MyBB 1.6, funktioniert aber auch problemlos mit 1.8

Verschachtelte Spoiler hatte ich die Tage mal ausprobiert, ohne Probleme
Zitieren
#10
(10.08.2018, 08:11)Santhony schrieb: Verbaut habe ich MyCode: [spoiler] (1.2.1) von Dark Neo
Ich habe den Code einmal kurz überflogen und habe keine Stelle gefunden, die die oben genannte Fehlermeldung erklären könnte. Die Ursache liegt also wahrscheinlich irgendwo anders.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Fatal Error bei "Neueste Beiträge ansehen" nach Passworteingabe für eine Kategorie Inge 3 1.847 31.08.2018, 19:03
Letzter Beitrag: Inge
  Neue Gruppe erstellen: PHP Fatal error 1.8.14 Radler 2 1.753 07.12.2017, 11:16
Letzter Beitrag: Radler
  Fatal error beim zufallsgenerierten Passwort verschicken Doktor_Y 4 2.459 20.02.2016, 17:12
Letzter Beitrag: Doktor_Y
  Bekomme ein Error : Catchable Fatal Error (4096) Acid3urn 2 1.940 23.11.2014, 19:48
Letzter Beitrag: Acid3urn