Jump to content

[RISOLTO] Blocco improvisso su PS 1.6.0.11 (Backoffice K.O)


ScenaS

Recommended Posts

Buongiorno a tutti, ho un problema abbastanza grave.

Sito fatto con ps 1.6.0.11 e funzionante senza problemi da circa un anno

Nelle ultime settimane, non vedendo arrivare ordini mi sono insospettito fino a quando un giorno, nel voler rispondere ad un messaggio tramite Backoffice è scoppiata la tragedia

All'accesso del BO ogni pagina impiega circa 1 minuto a caricarsi dando sempre in alto l'errore su MYsql server go away...

Non è possibile installare o dinistallare moduli, vedere i clienti, vedere gli ordini, chiudere il negozio per manutenzione e praticamente tutte le altre cose perchè  la pagina dopo un minuto butta fuori l'errore MySQL e visualizza una pagina incompleta o bianca

Abilitando il debug mode segnala un elevato tempo di apertura della home del B.O.

Ho provato a ricaricare delle snapshot del sito precedenti ma nulla, ho provato anche a ripristinare backup del db .... niente

Su altri forum hanno avuto problemi simili, chi con le cron task chi con altri moduli..... MA io non ho la possibilità di rimuovere a occhio alcuni moduli... va in time out e non succede nulla

C'è modo di rimuovere moduli  in altro modo??

Consigli??

Sono abbastanza nella palta...... non si lavora

grazie

p.s. il Front office funziona apparentemente in modo corrette e in tempistiche standard

Link to comment
Share on other sites

Posso sbagliare ma hai raggiunto il limite per il tuo Database; Se non hai modificato moduli o altro  dovresti sentire il responsabile del tuo Hosting, non hai piú risorse per il DB questa é la causa piú probabile...

Link to comment
Share on other sites

  • 2 weeks later...

Ciao, grazie per la risposta ma da pannello di controllo del servizio di hosting ti devo purtroppo dire che non è così in quanto il db è 34 mb su 200 disponibili

Probabilmente Fabry non si riferiva alla dimensione del database, ma al numero di query orarie o giornaliere. Ad ogni modo un contatto all'hosting te lo consigliamo, in quanto sembrerebbe un problema del server.

Link to comment
Share on other sites

RIcordo inoltre che pur avendo letto svariate soluzione su diversi forum, non riesco ad applicarne nessuna in quanto:

Il back office non visualizza tutte le sue parti .

Se voglio disintallare un modulo, rimane in elaborazione per circa un minuto e poi va in errore HTTP 500

Se voglio disabilitare moduli di terze parti idem come sopra

Se voglio aprire qualsiasi menu del BO arriva la risposta di QUERY SQL NON VALIDA

SERVER MYSQL gone away

Quindi dal BO ho poco raggio di azione.

Effettivamente non ho mai pulito il db dai carrelli vuoti o abbandonati

qualcuno sa le tabelle e come andare ad agire????

grazie

Link to comment
Share on other sites

RIcordo inoltre che pur avendo letto svariate soluzione su diversi forum, non riesco ad applicarne nessuna in quanto:

Il back office non visualizza tutte le sue parti .

Se voglio disintallare un modulo, rimane in elaborazione per circa un minuto e poi va in errore HTTP 500

Se voglio disabilitare moduli di terze parti idem come sopra

Se voglio aprire qualsiasi menu del BO arriva la risposta di QUERY SQL NON VALIDA

SERVER MYSQL gone away

Quindi dal BO ho poco raggio di azione.

Effettivamente non ho mai pulito il db dai carrelli vuoti o abbandonati

qualcuno sa le tabelle e come andare ad agire????

grazie

Prova ad attivare la modalità di debug, vai in 

prestashop/config/defines.inc.php

e cambia questa riga:

define('_PS_MODE_DEV_', false);

in questa:

define('_PS_MODE_DEV_', true);

Vediamo se ti esce qualche errore in particolare.

Link to comment
Share on other sites

Ciao, ho fatto e qui sotto il report del debug

Effettivamente il modulo Inixframe fa capricci.

Ho provato a rinominare la sua cartella sotto moduli ed effettivamente il backoffice ha ricominciato a funzionare bene!!!

Il problema è che dopo un tot di tempo quella cartella viene ricreata e tutto si impalla come prima

Purtroppo tra i moduli installati post Prestashop non ricordo per niente a chi possa appartenere quella cartella

Qual'è la strada per capire a quale modulo è abbinata quella cartella????

grazie

 

 

 

[PrestaShopDatabaseException]

MySQL server has gone away
 

UPDATE `pre7148_configuration` SET `value` = '1476797090',`date_upd` = '2016-10-18 15:24:50' WHERE `name` = 'IWFRAME_LAST_UPDATE_CHECK' AND (id_shop_group IS NULL OR id_shop_group = 0) AND (id_shop IS NULL OR id_shop = 0) LIMIT 1

at line 639 in file classes/db/Db.php

 

634. 			WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);635. 		}636. 		elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS'))637. 		{638. 			if ($sql)639. 				throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');640. 			throw new PrestaShopDatabaseException($this->getMsgError());641. 		}642. 	}643. 644. 	/**
  • DbCore->displayError - [line 333 - classes/db/Db.php] - [1 Arguments]
    328. 		if ($sql instanceof DbQuery)329. 			$sql = $sql->build();330. 331. 		$this->result = $this->_query($sql);332. 		if (_PS_DEBUG_SQL_)333. 			$this->displayError($sql);334. 		return $this->result;335. 	}336. 337. 	/**338. 	 * Execute an INSERT query
    Argument [0]UPDATE `pre7148_configuration` SET `value` = '1476797090',`date_upd` = '2016-10-18 15:24:50' WHERE `name` = 'IWFRAME_LAST_UPDATE_CHECK' AND (id_shop_group IS NULL OR id_shop_group = 0) AND (id_shop IS NULL OR id_shop = 0) LIMIT 1
  • DbCore->query - [line 613 - classes/db/Db.php] - [1 Arguments]
    608. 	{609. 		if ($sql instanceof DbQuery)610. 			$sql = $sql->build();611. 612. 		$this->result = false;613. 		$result = $this->query($sql);614. 		if ($use_cache && $this->is_cache_enabled)615. 			Cache::getInstance()->deleteQuery($sql);616. 		if (_PS_DEBUG_SQL_)617. 			$this->displayError($sql);618. 		return $result;
    Argument [0]UPDATE `pre7148_configuration` SET `value` = '1476797090',`date_upd` = '2016-10-18 15:24:50' WHERE `name` = 'IWFRAME_LAST_UPDATE_CHECK' AND (id_shop_group IS NULL OR id_shop_group = 0) AND (id_shop IS NULL OR id_shop = 0) LIMIT 1
  • DbCore->q - [line 435 - classes/db/Db.php] - [2 Arguments]
    430. 		$sql = rtrim($sql, ',');431. 		if ($where)432. 			$sql .= ' WHERE '.$where;433. 		if ($limit)434. 			$sql .= ' LIMIT '.(int)$limit;435. 		return (bool)$this->q($sql, $use_cache);436. 	}437. 438. 	/**439. 	 * Execute a DELETE query440. 	 *
    Argument [0]UPDATE `pre7148_configuration` SET `value` = '1476797090',`date_upd` = '2016-10-18 15:24:50' WHERE `name` = 'IWFRAME_LAST_UPDATE_CHECK' AND (id_shop_group IS NULL OR id_shop_group = 0) AND (id_shop IS NULL OR id_shop = 0) LIMIT 1Argument [1]1
  • DbCore->update - [line 362 - classes/Configuration.php] - [5 Arguments]
    357. 				{358. 					// Update config not linked to lang359. 					$result &= Db::getInstance()->update(self::$definition['table'], array(360. 						'value' => pSQL($value, $html),361. 						'date_upd' => date('Y-m-d H:i:s'),362. 					), '`name` = \''.pSQL($key).'\''.Configuration::sqlRestriction($id_shop_group, $id_shop), 1, true);363. 				}364. 				else365. 				{366. 					// Update multi lang367. 					$sql = 'UPDATE `'._DB_PREFIX_.bqSQL(self::$definition['table']).'_lang` cl
    Argument [0]configurationArgument [1]Array(    [value] => 1476797090    [date_upd] => 2016-10-18 15:24:50)Argument [2]`name` = 'IWFRAME_LAST_UPDATE_CHECK' AND (id_shop_group IS NULL OR id_shop_group = 0) AND (id_shop IS NULL OR id_shop = 0)Argument [3]1Argument [4]1
  • ConfigurationCore::updateValue - [line 1248 - modules/inixframe/InixModule.php] - [2 Arguments]
    1243. 			}1244. 			$own_modules = $this->getOurModules();1245. 			$response    = $this->client->checkUpdate( $own_modules );1246. 1247. 			if($response === false){1248. 				Configuration::updateValue( 'IWFRAME_LAST_UPDATE_CHECK', time() );1249. 				$this->errors[] = $this->l('Unable to connect to the update service');1250. 			} elseif ( $this->client->getStatus() == 'ok' ) {1251. 				Configuration::updateValue( 'IWFRAME_LAST_UPDATE_CHECK', time() );1252. 				Configuration::updateValue( 'IWFRAME_REMOTE_DATA', json_encode( $response ) );1253. 
    Argument [0]IWFRAME_LAST_UPDATE_CHECKArgument [1]1476797090
  • Inix2Module->updateCheck - [line 118 - modules/inixframe/inixframe.php]
    113. 114. 115. 116. 	public function hookDisplayBackOfficeHeader() {117. 		if($this->shouldCheckForUpdate())118. 			$this->updateCheck();119. 120. 	}121. 122. 	public function displayAjaxFetch() {123. 		$this->json = true;
  • inixframe->hookDisplayBackOfficeHeader - [line 510 - classes/Hook.php] - [1 Arguments]
    505. 				if ($use_push && isset($moduleInstance->push_filename) && file_exists($moduleInstance->push_filename))506. 					Tools::waitUntilFileIsModified($moduleInstance->push_filename, $moduleInstance->push_time_limit);507. 508. 				// Call hook method509. 				if ($hook_callable)510. 					$display = $moduleInstance->{'hook'.$hook_name}($hook_args);511. 				elseif ($hook_retro_callable)512. 					$display = $moduleInstance->{'hook'.$retro_hook_name}($hook_args);513. 				// Live edit514. 				if (!$array_return && $array['live_edit'] && Tools::isSubmit('live_edit') && Tools::getValue('ad') && Tools::getValue('liveToken') == Tools::getAdminToken('AdminModulesPositions'.(int)Tab::getIdFromClassName('AdminModulesPositions').(int)Tools::getValue('id_employee')))515. 				{
    Argument [0]
  • HookCore::exec - [line 2438 - classes/controller/AdminController.php] - [2 Arguments]
    2433. 			'host_mode' => defined('_PS_HOST_MODE_') ? 1 : 0,2434. 			'stock_management' => (int)Configuration::get('PS_STOCK_MANAGEMENT')2435. 		));2436. 2437. 		if ($this->display_header)2438. 			$this->context->smarty->assign('displayBackOfficeHeader', Hook::exec('displayBackOfficeHeader', array()));2439. 2440. 		$this->context->smarty->assign(array(2441. 			'displayBackOfficeTop' => Hook::exec('displayBackOfficeTop', array()),2442. 			'submit_form_ajax' => (int)Tools::getValue('submitFormAjax')2443. 		));
    Argument [0]displayBackOfficeHeaderArgument [1]Array()
  • AdminControllerCore->init - [line 163 - classes/controller/Controller.php]
    158. 	/**159. 	 * Start controller process (this method shouldn't be overriden !)160. 	 */161. 	public function run()162. 	{163. 		$this->init();164. 		if ($this->checkAccess())165. 		{166. 			// setMedia MUST be called before postProcess167. 			if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))168. 				$this->setMedia();
  • ControllerCore->run - [line 374 - classes/Dispatcher.php]
    369. 			// Execute hook dispatcher370. 			if (isset($params_hook_action_dispatcher))371. 				Hook::exec('actionDispatcher', $params_hook_action_dispatcher);372. 373. 			// Running controller374. 			$controller->run();375. 		}376. 		catch (PrestaShopException $e)377. 		{378. 			$e->displayMessage();379. 		}
  • DispatcherCore->dispatch - [line 54 - admin/index.php]
Link to comment
Share on other sites

Ciao, non conosciamo il modulo nello specifico. Al momento ti consigliamo un'operazione da fare in casi 'estremi' :), se riesci ad accedere al database vai nella tabella `prefissotabelle_module` cerca il modulo e o imposti il campo 'active' a 0, oppure elimini la riga, ricordati di segnarti l'ID del modulo, nel caso sia necessario dovrai eliminare le righe che hanno l'id del modulo anche nella tabella `prefissotabelle_module_shop`

Link to comment
Share on other sites

Ciao, non conosciamo il modulo nello specifico. Al momento ti consigliamo un'operazione da fare in casi 'estremi' :), se riesci ad accedere al database vai nella tabella `prefissotabelle_module` cerca il modulo e o imposti il campo 'active' a 0, oppure elimini la riga, ricordati di segnarti l'ID del modulo, nel caso sia necessario dovrai eliminare le righe che hanno l'id del modulo anche nella tabella `prefissotabelle_module_shop`

Ciao, grazie per il tuo aiuto.... è stato quasi illuminante. Nel senso che quel modulo che crea la cartella inixframe (adesso gli do un identità completa per chi potrebbe avere il mio stesso problema ovvero sotto moduli si chiama "Presta Apps Dashboard" v2.4.6 con iconcina un pezzo di puzzle grigio/blu della Presta-apps e con descrizione Inixweb Framework) ho provato ad eliminarlo prima dal BO sotto moduli ma nada.

Poi come mi hai suggerito l'ho eliminato dalla tabella_module e la voce (1 sola) sotto tabella_module_shop. e eliminata la cartella dallo spazio web sotto modules.

La cartella si ricrea!! come posso fare una ricerca più approfondita per eliminarlo definitivamente???

grazie

Link to comment
Share on other sites

Problema risolto, quel modulo è di appoggio al modulo di cod fee (contrassegno) di Presta apps.

ho rimosso entrambi e ora è tutto ok. Magari stasera provo l'ultimo aggiornamento di quel modulo ma se impalla di nuovo... tanti saluti. Strano perchè è dato come compatibile a tutta la 1.6.x

Ha lavorato bene per quasi un anno..... vabbè cmq  per me il problema si può contrassegnare come RISOLTO:

Link to comment
Share on other sites

Problema risolto, quel modulo è di appoggio al modulo di cod fee (contrassegno) di Presta apps.

ho rimosso entrambi e ora è tutto ok. Magari stasera provo l'ultimo aggiornamento di quel modulo ma se impalla di nuovo... tanti saluti. Strano perché è dato come compatibile a tutta la 1.6.x

Ha lavorato bene per quasi un anno..... vabbè cmq  per me il problema si può contrassegnare come RISOLTO:

Perfetto, era quasi un malware questo modulo  :D

Siamo lieti che hai risolto finalmente  ;)

 

Per aggiungere [RISOLTO] al titolo del post, vai al primo messaggio, clicca su 'Edit' e poi su full editor, qui puoi modificare il titolo del tuo post  ;)

 

Ciao alla prossima  ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...