Jump to content

Tracy Debugger


Recommended Posts

  • 2 weeks later...

Hi @adrian, I'm getting a curious error that wasn't there before. Some images on a site using $config->pagefileSecure = true; aren't being loaded anymore (worked fine before, not sure what changed). The images are being served by ProcessWire. When I open the image URL directly, I get this exception (see attachment). The image field is inside a Repeater Matrix. When I turn off Tracy Debugger, the error goes away. Not sure if it's a bug with Tracy or if it's just surfacing a deeper problem. Any idea what might be causing this?


ProcessWire: 3.0.155
PHP: 7.4.7
Webserver: Apache
MySQL Server: 5.5.5-10.1.44-MariaDB-0ubuntu0.18.04.1
MySQL Client: mysqlnd 7.4.7




Link to comment
Share on other sites

Hi @MoritzLost - what version of Tracy are you running? Trying to figure out what is on line 409 as highlighted in the call stack. It doesn't seem to me like it's the latest version, but I could be wrong.

What changed that started the error? Did you update something?


  • Like 1
Link to comment
Share on other sites

@adrian I'll have to get back to you on monday ^^ Though when I got the error, I tried updating to the latest version and the error remained. Not 100% sure that the screenshot was taken with the current version though, sorry 😅 I haven't really changed much ... came back to the site after a week and the error was there, not sure when it started 😕 I'll try to find out more when I'm in the office ...

Link to comment
Share on other sites


my RequestInfoPanel shows this error on all of my projects:


I have ProcessWire 3.0.161 dev and Tracy Debugger 4.21.17. I am on macOS with MAMP PRO 5.7.

Has anybody an idea what causes this error?

Thank you @adrian again for your great work with this module. 😀👍

Regards, Andreas

  • Like 1
Link to comment
Share on other sites

So I am at a total loss. I was in the middle of working on a draft site and had recently updated Tracy to the latest version on one of them 4.21.19 from 4.21.17.

I was in the process of revamping the site from delayed output to markup regions and then when I went to preview (which I hadn't done) the screen was blank with the exception of Tracy. No source, no nothing. No errors. Tracy reported the page object loaded, all the children, etc.

I reverted to the old version of the templates. No difference. I compared it with another copy of the same site on a different domain that still had 4.21.17 installed. Front-end looked fine.

I updated the second site to 4.21.19 - blank screen on the front end, no errors being shown, nothing.

All else being equal, I have to assume there's something in the change from 4.21.17 to 19 - but I purged 19 from the site/modules, cleansed the copies from the FileCompiler cache directory - got rid of everything I could to remove it.

Both site are still showing blank with nothing in the PHP logs and no displayed errors. Backend still works perfectly fine.

I don't really know what to do next, but I'm pretty frustrated about the situation. If I had error codes to work with that would at least be something. If there are errors (which I could create) Tracy was reporting and displaying them. But I can't get the site templates to output anything. Not even replacing with generic echo.

I'm running 3.0.161.

Is there something in the page rendering hooks that got installed that I might need to manually remove? Any ideas on how I can get my sites back? At the moment I am probably going to pull down another site made with the same template and try doing a diff across the site/wire directories.

I don't really know how to troubleshoot a situation where no errors appear, but no markup either.

Link to comment
Share on other sites

Hi @gornycreative - sorry you're have a rough time with this. Did you properly uninstall 4.21.19, or did you just remove the files?

I know you said you aren't getting any errors, but are you talking about PHP errors only? Does the browser dev console show any JS errors? What about errors in the apache logs?

Have you done a modules refresh and clear session & cookies from the Processwire Info panel in Tracy?

Do the sites work in a different browser / incognito window?

Link to comment
Share on other sites

It's really weird. And I'm afraid to experiment too much more on other working sites as I don't want to break anything further.

I uninstalled 4.21.19 from the modules area, cleared all cache and then double checked the asset cache FileCompiler area. Turned off opcache in PHP. turned off as much caching as I could find in modules. Removed all traces of files. Purged CloudFlare cache and made sure dev mode was on.

I've turned off prepend and append and even substituted a very basic HTML file as the output template with no look-ups.

There are no PHP or LiteSpeed errors logged. There's nothing in the console.

I decided after cleaning out the system I'd reinstall Tracy fresh. What I don't understand is that it is as if the PHP is working, but the HTML is just not getting output. With devtools open there not alot going on, but Tracy has an HTML DOM that it is sitting in, which is even stranger.

I know you've pushed priority up on loading - perhaps it is possible there is a module that is failing to load immediately after? Maybe I can look at the modules table in adminer and sort by priority?

It's absolutely nuts - when I look at source for the loaded page all I get is <!--tracy debugger bar --> and then the script tags. That's in an incognito window.

Chrome puts it into a makeshift DOM but firefox has no idea what to do with it. There it is just a blank page.


Link to comment
Share on other sites

What I can't fathom is that you uninstalled Tracy and it's still a problem. It suggests to me that it's not Tracy related.

I am running the latest version on several different sites and different servers without any problems.

2 hours ago, gornycreative said:

I was in the process of revamping the site from delayed output to markup regions

This sounds like the likely issue - I know you said you put the old versions of the templates back and they are still broken, but with Tracy uninstalled and its folder removed, it can't be impacting things anymore.

Any chance you accidentally messed with the htaccess file?

Link to comment
Share on other sites

The thing is, I had another site built using the exact same basic template setup as the original. All that I did to that site was upgrade it from 4.21.17 to 4.21.19. Nothing else on that site was touched - it went from loading the templates fine to a blank screen with . I'd rather not sacrifice another development site to prove the point without really understanding what changed between versions.

Are you running this on 161 or 148?

The strange thing is - I set the request logger on for the site - the HTML is getting passed in the response. I have no idea why the browser is not rendering the code. Chrome is up to date (which I know can be a problem sometimes).

Link to comment
Share on other sites

Just now, gornycreative said:

Are you running this on 161 or 148?

Local dev is 161 (actually just updated to today's commits). At the moment, the live sites vary between 156 and 160.

Link to comment
Share on other sites


Regarding the switch, there was no need to touch the htaccess at all.

I had a single file that included a bunch of variable sets that were global (settings factory stuff) and a few variables set from the home page (gotten through pages() ) - none of the things I pulled required access to page() and those got moved to _init.php

Everything else got moved to _main.php - which at the time was just a bunch of components in a layout that I was going to pick and choose and render in the main template file into regions - this was not supposed to be anything super crazy or elaborate.

Then, when I turned off the prepend/append and switched to a plain jane HTML hello world scenario and still got a blank page, I got even more frustrated. I split a text file into three text files - pretty routine stuff. And boom.

I do agree with you that it doesn't make sense for the HTML to still not render after uninstalling Tracy and putting the original templates back if Tracy was the problem.

I will move on from this I guess. If somehow you come across a situation where you run into the same thing, please let me know.

Link to comment
Share on other sites

So I found another site built off the same template that had not had Tracy installed prior. After clearing the module cache and letting it rebuild, the site broke - so it must be another module that needs some rewarming from 161.

39 minutes ago, adrian said:

How can you move on at the moment - I thought your sites were still broken?

Moving on meaning I need to start dropping other modules until the site works, since Tracy doesn't logically seem to be the issue.

Link to comment
Share on other sites

I found the culprit. It wasn't Tracy. It was another module I probably should have suspected since it has never really worked out that well for me - despite being a good idea.

Thanks for your effort in trying to help me debug this - coincidences and panic are a lousy combination.

  • Like 1
Link to comment
Share on other sites

Oh sorry - yes and I raised the issue on their module support thread.

Template Engine Factory - I'm thinking it might be related to the auto compilation switch function - I haven't dug into it because I am no longer really interested in using Smarty or Twig.

Link to comment
Share on other sites

Hi @adrian could you please add a $session->redirect after the email-sent-flag has been reset? I've had it several times the last days that I had a tab oben and got an error "file could not be removed" on reload which was caused by a ?tracy-clear-email-sent-flag-whatsoever=1 that was still left in the url.

Thx 🙂 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Hi Adrian
I was updating my site a few minutes ago and it started displaying a 500 error. When I turned on notifications, I saw the following error.

Fatal error: Cannot declare class TracyDebugger, because the name is already in use in /home/p752009485/public_html/site/assets/cache/FileCompiler/site/modules/TracyDebugger/TracyDebugger.module.php on line 19


Is it ok to manually remove the Module somehow?

Link to comment
Share on other sites

  • adrian pinned and locked this topic
  • adrian unpinned and pinned this topic
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Content

    • By MarkE
      This fieldtype and inputfield bundle was built for storing measurement values within a field, rendering them in a variety of formats and converting them to other units or otherwise modifying them via the API.
      The API consists of a number of predefined functions, some of which include...
      render() for rendering the measurement object, valueAs() for converting the value to another unit value, convertTo() for converting the whole measurement object to different units, and add() and subtract() for for modifying the stored value by the value (converted as required) in another measurement. In the admin the inputfield includes a checkbox (which can be optionally disabled) for converting values on page save. For an example if a value was typed in as centimeters, the unit was changed to metres, and the page saved with this checkbox selected, said value would be automatically converted so that e.g. 170 cm becomes 1.7 m.

      A simple length field using Fieldtype Measurement and Inputfield Measurement.
      Combination units (e.g. feet and inches) are also supported.
      Please note that this module is 'proof of concept' at the moment - there are limited units available and quite a lot of code tidying to do. More units will be added shortly.
      See the GitHub at https://github.com/MetaTunes/FieldtypeMeasurement for full details and updates.
    • By tcnet
      File Manager for ProcessWire is a module to manager files and folders from the CMS backend. It supports creating, deleting, renaming, packing, unpacking, uploading, downloading and editing of files and folders. The integrated code editor ACE supports highlighting of all common programming languages.

      This module is probably the most powerful module. You might destroy your processwire installation if you don't exactly know what you doing. Be careful and use it at your own risk!
      ACE code editor
      This module uses ACE code editor available from: https://github.com/ajaxorg/ace

      This module uses the JavaScript dragscroll available from: http://github.com/asvd/dragscroll. Dragscroll adds the ability to drag the table horizontally with the mouse pointer.
      PHP File Manager
      This module uses a modified version of PHP File Manager available from: https://github.com/alexantr/filemanager
    • By tcnet
      This module implements the website live chat service from tawk.to. Actually the module doesn't have to do much. It just need to inserted a few lines of JavaScript just before the closing body tag </body> on each side. However, the module offers additional options to display the widget only on certain pages.
      Create an account
      Visit https://www.tawk.to and create an account. It's free! At some point you will reach a page where you can copy the required JavaScript-code.

      Open the module settings and paste the JavaScript-code into the field as shown below. Click "Submit" and that's all.

      Open the module settings
      The settings for this module are located int the menu Modules=>Configure=>LiveChatTawkTo.

    • By tcnet
      Session Viewer is a module for ProcessWire to list session files and display session data. This module is helpful to display the session data of a specific session or to kick out a logged in user by simply delete his session file. After installation the module is available in the Setup menu.

      The following conditions must be met for the module to work properly:
      Session files
      Session data must be stored in session files, which is the default way in ProcessWire. Sessions stored in the database are not supported by this module. The path to the directory where the session files are stored must be declared in the ProcessWire configuration which is by default: site/assets/sessions.
      Serialize handler
      In order to transform session data easier back to a PHP array, the session data is stored serialized. PHP offers a way to declare a custom serialize handler. This module supports only the default serialize handlers: php, php_binary and php_serialize. WDDX was dropped in PHP 7.4.0 and is therefore not supported by this module as well as any other custom serialize handler. Which serialize handler is actually used you can find out in the module configuration which is available under Modules=>Configure=>SessionViewer.

      Session data
      The session data can be displayed in two different ways. PHP's default output for arrays print_r() or by default for this module nice_r() offered on github: https://github.com/uuf6429/nice_r. There is a setting in the module configuration if someone prefers print_r(). Apart from the better handling and overview of the folded session data the output of nice_r() looks indeed nicer.

      ProcessWire module directory
    • By Robin S
      Repeater Easy Sort
      Adds a compact "easy-sort" mode to Repeater and Repeater Matrix, making those fields easier to sort when there are a large number of items.
      The module also enhances Repeater Matrix by allowing a colour to be set for each matrix type. This colour is used in the item headers and in the "add new" links, to help visually distinguish different matrix types in the inputfield.
      A Repeater field

      A Repeater Matrix field with custom header colours

      Easy-sort mode
      Each Repeater/Matrix item gets an double-arrow icon in the item header. Click this icon to enter easy-sort mode.
      While in easy-sort mode:
      The items will reduce in width so that more items can be shown on the screen at once. The minimum width is configurable in the field settings. Any items that were in an open state are collapsed, but when you exit easy-sort mode the previously open items will be reopened. You can drag an item left/right/up/down to sort it within the items. The item that you clicked the icon for is shown with a black background. This makes it easier to find the item you want to move in easy-sort mode. You can click an item header to open the item. An "Exit easy-sort mode" button appears at the bottom of the inputfield. Configuration
      In the field settings for Repeater and Repeater Matrix fields you can define a minimum width in pixels for items in easy-sort mode. While in easy-sort mode the items will be sized to neatly fill the available width on any screen size but will never be narrower than the width you set here.
      In the field settings for Repeater Matrix you can define a custom header colour for each matrix type using an HTML "color" type input. The default colour for this type of input is black, so when black is selected in the input it means that no custom colour will be applied to the header.
      The easy-sort mode is only possible on Repeater/Matrix fields that do not use the "item depth" option.
  • Create New...