Beantwortet Bug in BaseSearchQuery.php in Shop v5.2.1 ?

LS|media

Aktives Mitglied
29. Januar 2016
16
0
Hallo,

ich habe den Eindruck, dass in der Datei BaseSearchQuery.php ein Bug sein könnte.

Ausgangssituation: Die Volltextsuche (Einstellung #1657) ist deaktiviert. Die Standardsuche wird verwendet.

Bei der erstmaligen Suche nach einem Suchbegriff (weniger als 3 Suchwörter), zu dem es keine Suchtreffer gibt, erhalte ich folgende Fehlermeldung:

Code:
Fatal error: Uncaught ValueError: str_repeat(): Argument #2 ($times) must be greater than or equal to 0 in [root]/includes/src/Filter/States/BaseSearchQuery.php:867

Stack trace:
#0 [root]/includes/src/Filter/States/BaseSearchQuery.php(867): str_repeat()
#1 [root]/includes/src/Filter/ProductFilter.php(707): JTL\Filter\States\BaseSearchQuery->editSearchCache()
#2 [root]/includes/src/Router/Controller/AbstractController.php(184): JTL\Filter\ProductFilter->initStates()
#3 [root]/includes/src/Router/Controller/SearchController.php(28): JTL\Router\Controller\AbstractController->updateProductFilter()
#4 [root]/includes/src/Router/Controller/SearchController.php(47): JTL\Router\Controller\SearchController->getStateFromSlug()
#5 [root]/includes/src/Router/Controller/RootController.php(40): JTL\Router\Controller\SearchController->getResponse()
#6 [root]/includes/src/Router/Strategy/SmartyStrategy.php(40): JTL\Router\Controller\RootController->getResponse()
#7 [root]/includes/vendor/league/route/src/Route.php(167): JTL\Router\Strategy\SmartyStrategy->invokeRouteCallable()
#8 [root]/includes/vendor/league/route/src/Dispatcher.php(59): League\Route\Route->process()
#9 [root]/includes/src/Router/Middleware/OptinMiddleware.php(49): League\Route\Dispatcher->handle()
#10 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\OptinMiddleware->process()
#11 [root]/includes/src/Router/Middleware/CurrencyCheckMiddleware.php(26): League\Route\Dispatcher->handle()
#12 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CurrencyCheckMiddleware->process()
#13 [root]/includes/src/Router/Middleware/LocaleCheckMiddleware.php(34): League\Route\Dispatcher->handle()
#14 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\LocaleCheckMiddleware->process()
#15 [root]/includes/src/Router/Middleware/CartcheckMiddleware.php(25): League\Route\Dispatcher->handle()
#16 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CartcheckMiddleware->process()
#17 [root]/includes/src/Router/Middleware/WishlistCheckMiddleware.php(24): League\Route\Dispatcher->handle()
#18 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\WishlistCheckMiddleware->process()
#19 [root]/includes/src/Router/Middleware/SSLRedirectMiddleware.php(30): League\Route\Dispatcher->handle()
#20 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\SSLRedirectMiddleware->process()
#21 [root]/includes/src/Router/Middleware/MaintenanceModeMiddleware.php(40): League\Route\Dispatcher->handle()
#22 [root]/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\MaintenanceModeMiddleware->process()
#23 [root]/includes/vendor/league/route/src/Strategy/ApplicationStrategy.php(37): League\Route\Dispatcher->handle()
#24 [root]/includes/vendor/league/route/src/Dispatcher.php(59): Psr\Http\Server\MiddlewareInterface@anonymous->process()
#25 [root]/includes/vendor/league/route/src/Dispatcher.php(53): League\Route\Dispatcher->handle()
#26 [root]/includes/vendor/league/route/src/Router.php(111): League\Route\Dispatcher->dispatchRequest()
#27 [root]/includes/src/Router/Router.php(659): League\Route\Router->dispatch()
#28 [root]/includes/src/Shop.php(455): JTL\Router\Router->dispatch()
#29 [root]/index.php(7): JTL\Shop::dispatch()
#30 {main} thrown in [root]/includes/src/Filter/States/BaseSearchQuery.php on line 867

Jede weitere Suchanfrage mit gleichem Suchbegriff scheint fehlerfrei zu funktionieren. Es wird wie erwartet die Suchseite angezeigt - mit der Meldung, dass nichts gefunden wurde.

Ich vermute, dass der Suchbegriff noch nicht im Cache gespeichert ist und daher an folgender Stelle im Code $rows leer ist und str_repeat() mit dem Wert -1 aufgerufen wird:
PHP:
$brackets = 0;
$prio     = 1;

foreach ($rows as $i => $col) {
    [...]
    ++$brackets;
    [...]
}

$sql .= \str_repeat(')', ($brackets - 1));

Kann das jemand reproduzieren?
Liegt das an einer falschen Konfiguration in unserem Shop oder ist das ein Bug im Code?

Gerade teste ich, ob der Fehler auch bei aktivierter Volltextsuche auftritt (Volltextindex wird gerade erstellt). Ich werde hier berichten.

VG Sven
 

LS|media

Aktives Mitglied
29. Januar 2016
16
0
Sorry, ich war etwas voreilig und kann meine Frage selbst beantworten: Nein, es ist kein Bug... vielleicht ein kleiner :)

Ursache war, dass jemand alle Suchprioritäten im Shop auf 0 gesetzt und damit deaktiviert hat. Das fiel mir zu spät auf und macht natürlich wenig Sinn.
Vielleicht könnte man dennoch für diesen Fall den Code etwas stabiler machen.

Mit aktivierter Volltextsuche trat die Fehlermeldung nicht auf.

VG Sven
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Gratisgeschenk Auswahl BUG - Funktioniert nur bei Klick auf das Bild JTL-Shop - Fehler und Bugs 1
Neu 5.22 - Sch**ss BUG /admin/searchconfig JTL-Shop - Fehler und Bugs 10
Neu Bug im JTL Backend / Plugineinstellung JTL-Shop - Fehler und Bugs 1
Neu Umlagerungen / Artikel nachschlagen / Bug 66212 JTL-Wawi - Fehler und Bugs 2
Neu Doppel-Bug: "Eigene ID" aus Reiter "Sonstiges" wird nicht mehr vererbt und heißt in Liste immer noch "Serie" JTL-Wawi - Fehler und Bugs 1
Bug? Doppelter Betrag bei Export der Rechnungskorrekturen JTL-Wawi 1.6 3
Neu Bug in der Ameise? Scrollen zu weiteren Sprachen unmöglich User helfen Usern - Fragen zu JTL-Wawi 3
Neu Bug nach löschen von Produkt Fehler 500 oder Whitescreen JTL-Shop - Fehler und Bugs 2
Neu Bug? Grundpreis bei Staffelpreis mit verschiedenen Einheiten JTL-Shop - Fehler und Bugs 4
Neu Böser Bug im WMS JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu JTL Shop kritischer Bug - mehrfache Bestellung inkl. Zahlung! JTL-Shop - Fehler und Bugs 1
BUG: E-Mail Versand im Hintergrund crasht JTL-Wawi 1.7 13
BUG JTL-Wawi 1.6 16
Neu Nach Verbindungsproblem bei der Inventur wurde Menge doppelt erfasst [BUG??] JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
BUG: Fenster im Tablet-Modus JTL-Wawi 1.7 1
Neu Frontend Debug Bar - PHP Debug Bar ? Technische Fragen zu Plugins und Templates 1
Neu 500er Serverfehler suggest.php JTL-Search 0
TIP wieder Modified shop auf PHP 8 läuft mit Connector 3.11 und älteren Versionen JTL-Wawi 1.6 0
Neu Dient der Connector als API oder muss ich dann mit PHP die Seite aufbauen Allgemeines zu den JTL-Connectoren 1
Neu Suche Kunden von Strato Managed Server wegen Probleme mit PHP / ZIP Installation / Updates von JTL-Shop 1
Neu URL aufrufen/PHP-Code ausführen bei Bestellabschluss, in Template möglich? Technische Fragen zu Plugins und Templates 0
Neu Shop Systemcheck Skript zeigt falsche PHP Version / 8.1 oder 8.2 für 5.2.2? Einrichtung JTL-Shop5 2
Neu nach update auf 5.2.2. Cron/Starter/Curl.php Fatal Error Upgrade JTL-Shop4 auf JTL-Shop5 0
Neu Eigene Methode im Plugin - PHP Fatal error: Call to undefined method JTL\\Plugin\\Plugin::view_pdf() Technische Fragen zu Plugins und Templates 0
Neu Eigene PHP Funktion mit externer Klasse aufrufen Technische Fragen zu Plugins und Templates 5
Neu Fehlermeldung bei Installation "Keine config.JTL-Shop.ini.php gefunden". Installation / Updates von JTL-Shop 2
Neu PHP Fatal error in Verfügbarkeitsbenachrichtigungen (OptinAvailAgain.php) JTL-Shop - Fehler und Bugs 4
Neu Strato Managed Server und PHP 8 bzw. PHP 7.4 Installation / Updates von JTL-Shop 6
Neu php 8.0 konform Shopware-Connector 1
Neu JTL Shop 5.1.5 & PHP 8.0 - Fehlermeldung auf manchen Shopseiten (str_replace) Betrieb / Pflege von JTL-Shop 4
Neu PHP 8.1 Liste der PlugIns Plugins für JTL-Shop 24
Neu Update von 5.1.5 auf 5.2.1 - mod_fcgid: stderr: PHP Deprecated Installation / Updates von JTL-Shop 3

Ähnliche Themen