Compiler error #1019

Closed
opened 2023-11-18 16:34:30 +00:00 by Franz · 6 comments
Member

Steps to reproduce the issue

Compile 2 x TEST components using:

  • JCB 3.1.24
  • Advance options JOOMLA 3,
  • Super powers GLOBAL (Activate Super Powers = NO)
  • Run installs, SUCCESS for each component
    Backup development site using AKEEBA
    Upgrade development site from JCB 3.1.24 to JCB 3.1.28 using JOOMLA UPDATE area
  • System reflects JOOMLA v 3.1.28

ReCompile 2 x TEST components using:

  • JCB 3.1.28
  • Advance options JOOMLA 3,
  • Super powers GLOBAL (Activate Super Powers = NO)

Expected result

Successful compilation and installation of both components

Actual result

Recompile 1st TEST component using JCB 3.1.28

  • Compile SUCCESS, install SUCCESS

Recompile 2nd TEST component using JCB 3.1.28

  • Compile ERROR
  • Call to undefined method VDM\Joomla\Utilities\Component\Helper::_()
  • See CALL stack below

Switch on JOOMLA Global Config DEBUG SYSTEM = YES
Recompile 1nd TEST component using JCB 3.1.28

  • Successful compilation and installation
    Recompile 2nd TEST component using JCB 3.1.28
  • SAME Compile ERROR

Switch JCB Activate Super Powers = YES

Recompile 2nd TEST component using JCB 3.1.28

  • SAME Compile ERROR

Logout and relogin to JOOMLA

  • Recompile 2nd component
  • SAME ERROR displayed

THEN, Deleted entire website

  • Restored site from AKEEBA backup
  • Redo entire process (compile /install / update / recompile)
  • EXACTLY Same results encountered as per 1st attempt, see call stack below

System information (as much as possible)

  • OS Name & Version: Win 10
  • MySql Version: 10.4.25-MariaDB
  • Apache Version: 2.4.54
  • PHP Version: 8.1.10
  • Joomla Version: 3.10.12
  • JCB Version: 3.1.24 -> 3.1.28
  • Browser: Firefox 118.0.2 (64-bit)

Additional comments

JOOMLA CALLSTACK
image

ECLIPSE IDE FUNCTION CALL AND STACK TRACE
image

image

The 'time_sheets_sv' refers to an DEFAULT SITE VIEW which is used in the 2nd COMPONENT (3 site views), not linked to the 1st component!!!

image

  • Change to make another site view as DEFAULT, same error!!
  • Remove site view 'time_sheets_sv' from component. Error still occurs, but using name of other site view!!
  • Removed ALL site views from component. Error occurs with CUSTOM ADMIN VIEW name!!
  • Remove CUSTOM admin view. BUILD SUCCESSFUL.

So something in the SITE VIEWS and CUSTOM SITE VIEWS is causing error, but I have no clue as to where to look for the problem.

### Steps to reproduce the issue Compile 2 x TEST components using: - **JCB 3.1.24** - Advance options JOOMLA 3, - Super powers GLOBAL (Activate Super Powers = NO) - Run installs, SUCCESS for each component Backup development site using AKEEBA Upgrade development site from JCB 3.1.24 to JCB 3.1.28 using JOOMLA UPDATE area - System reflects JOOMLA v 3.1.28 ReCompile 2 x TEST components using: - **JCB 3.1.28** - Advance options JOOMLA 3, - Super powers GLOBAL (Activate Super Powers = NO) ### Expected result Successful compilation and installation of both components ### Actual result Recompile 1st TEST component using JCB 3.1.28 - Compile SUCCESS, install SUCCESS Recompile 2nd TEST component using JCB 3.1.28 - Compile ERROR - Call to undefined method VDM\Joomla\Utilities\Component\Helper::_() - See CALL stack below Switch on JOOMLA Global Config DEBUG SYSTEM = YES Recompile 1nd TEST component using JCB 3.1.28 - Successful compilation and installation Recompile 2nd TEST component using JCB 3.1.28 - SAME Compile ERROR Switch JCB Activate Super Powers = YES Recompile 2nd TEST component using JCB 3.1.28 - SAME Compile ERROR Logout and relogin to JOOMLA - Recompile 2nd component - SAME ERROR displayed **THEN,** Deleted entire website - Restored site from AKEEBA backup - Redo entire process (compile /install / update / recompile) - EXACTLY Same results encountered as per 1st attempt, see call stack below ### System information (as much as possible) - OS Name & Version: Win 10 - MySql Version: 10.4.25-MariaDB - Apache Version: 2.4.54 - PHP Version: 8.1.10 - Joomla Version: 3.10.12 - JCB Version: 3.1.24 -> 3.1.28 - Browser: Firefox 118.0.2 (64-bit) ### Additional comments **JOOMLA CALLSTACK** ![image](/attachments/6ceb9ce0-c147-49c4-9111-f0af7962ca87) **ECLIPSE IDE FUNCTION CALL AND STACK TRACE** ![image](/attachments/3cc0aa05-9a06-414d-ad96-bf0dbf168e6e) ![image](/attachments/9135587d-001a-4fde-9a5f-2e4ef0c21ae9) The 'time_sheets_sv' refers to an DEFAULT SITE VIEW which is used in the 2nd COMPONENT (3 site views), not linked to the 1st component!!! ![image](/attachments/c097fc96-7c86-4490-ab8e-61d64a7f5066) - Change to make another site view as DEFAULT, same error!! - Remove site view 'time_sheets_sv' from component. Error still occurs, but using name of other site view!! - Removed ALL site views from component. Error occurs with CUSTOM ADMIN VIEW name!! - Remove CUSTOM admin view. BUILD SUCCESSFUL. **_So something in the SITE VIEWS and CUSTOM SITE VIEWS is causing error, but I have no clue as to where to look for the problem._**
Owner

Few remarks:

  • JCB is moving into fully powers driven development.
    • Which means we are moving many methods out of the helpers class (that was bloating) into their own classes.
    • All JCB component will now have powers linked to them.
    • Since they often share powers, one can effect the other.
  • If the first build was a success, take a look at the package before you install it.
    • It should have libraries/jcb_powers/VDM.Joomla/src/Utilities path
  • Without installing the components does both compile successfully?
  • When JCB compiles your components does it load new powers to your system?
  • Are your powers that are in your system up to date?
    • There is now a button in the powers area Reset that will sync the selected powers with the latest updated versions.
    • I don't actually think this should be an issue, but would just like to know.
  • Joomla 3 does not work on PHP 8.1
    • We have seen that there is just to many warnings and errors in PHP 8.1 that we recommend staying on PHP 8.0

I would venture to say that JCB 3.1.28 is one of the most stable versions we have seen in the last year. It is also the last version in 3.1 the next version is 3.2.x and in this version we will introduce the option to compile extensions for Joomla 4.4 and since I am in the middle of that transition... with the main JCB instance, we will not see any JCB releases until I am finished with that transition. The main JCB instance is where JCB is being build, and also many other of my extensions all in one JCB. All of them work well... and build without issues.

Few remarks: - JCB is moving into fully powers driven development. - Which means we are moving many methods out of the helpers class (that was bloating) into their own classes. - All JCB component will now have powers linked to them. - Since they often share powers, one can effect the other. - If the first build was a success, take a look at the package before you install it. - It should have `libraries/jcb_powers/VDM.Joomla/src/Utilities` path - Without installing the components does both **compile** successfully? - When JCB compiles your components does it load new powers to your system? - Are your powers that are in your system [up to date](https://git.vdm.dev/joomla/jcb-compiler)? - There is now a button in the powers area `Reset` that will sync the selected powers with the latest updated versions. - I don't actually think this should be an issue, but would just like to know. - Joomla 3 does not work on PHP 8.1 - We have seen that there is just to many warnings and errors in PHP 8.1 that we recommend staying on PHP 8.0 I would venture to say that JCB 3.1.28 is one of the most stable versions we have seen in the last year. It is also the last version in **3.1** the next version is **3.2.x** and in this version we will introduce the option to compile extensions for **Joomla 4.4** and since I am in the middle of that transition... with the **main JCB instance**, we will not see any JCB releases until I am finished with that transition. The main JCB instance is where JCB is being build, and also many other of my extensions all in one JCB. All of them work well... and build without issues.
Author
Member

Thank you for feedback.

Will analyse my systems according to you feedback and check. Will feedback if I need to.

Thank you for feedback. Will analyse my systems according to you feedback and check. Will feedback if I need to.
Franz closed this issue 2023-11-20 08:04:57 +00:00
Owner

Why did you close this? issue normally are closed once resolved. So we will keep this open until we have reason to believe its resolve... 👍

Why did you close this? issue normally are closed once resolved. So we will keep this open until we have reason to believe its resolve... 👍
Author
Member

Ok, thanks for re-opening.

So I have worked thru the options you have listed and herewith results...

  • "It should have libraries/jcb_powers/VDM.Joomla/src/Utilities path" - Yes this does appear in package
  • "Without installing the components does both compile successfully?" - Yest they do compile successfully and both show above path. But once 1st one is compiled AND installed, 2nd component compile fails as per above.
  • "When JCB compiles your components does it load new powers to your system" not quite sure if this happens and how to observe this loading.
  • "There is now a button in the powers area Reset " - When using this button the message "This (reset) feature is still under development!" is displayed
  • "Joomla 3 does not work on PHP 8.1" - When I downgrade to 8.0 I get major warning messages from Joomla that this version is "out of date" and I must upgrade. However, I did try full process on 8.0 but same issues arise..

Please note, I have only just started playing with powers and have not even activated super-powers yet as I am still trying to get to grips with "powers".

I just do not know why the site view and custom admin view are triggering this error.
Once I remove both from my component, the compile is successful and the install (minus the necessary views) is successful.
If I add 1 site view back, compile fails.
If I had the custom admin view back, compile fails

I will keep digging....there must be something in my system, coding or custom config which is causing this issue and I will feedback once I have more data ...

Thanks

Ok, thanks for re-opening. So I have worked thru the options you have listed and herewith results... - "It should have libraries/jcb_powers/VDM.Joomla/src/Utilities path" - Yes this does appear in package - "Without installing the components does both compile successfully?" - Yest they do compile successfully and both show above path. But once 1st one is compiled AND installed, 2nd component compile fails as per above. - "When JCB compiles your components does it load new powers to your system" not quite sure if this happens and how to observe this loading. - "There is now a button in the powers area Reset " - When using this button the message "This (reset) feature is still under development!" is displayed - "Joomla 3 does not work on PHP 8.1" - When I downgrade to 8.0 I get major warning messages from Joomla that this version is "out of date" and I must upgrade. However, I did try full process on 8.0 but same issues arise.. Please note, I have only just started playing with powers and have not even activated super-powers yet as I am still trying to get to grips with "powers". I just do not know why the site view and custom admin view are triggering this error. Once I remove both from my component, the compile is successful and the install (minus the necessary views) is successful. If I add 1 site view back, compile fails. If I had the custom admin view back, compile fails I will keep digging....there must be something in my system, coding or custom config which is causing this issue and I will feedback once I have more data ... Thanks
Author
Member

More info on this issue....I need to see what happens with the compiling on a FRESH Joomla/JCB environment, instead of trying to run an upgrade...

So, set up of Joomla 3.1.12, OK
Install of JCB 3.1.28, OK

However, I also use the "Field Type Updater Public" for the additional field types and any updates which it provides....
So before importing my components for compilation, I need to install this package using Import packages function...

Via JCB Community Packages option....
get package (force local update=NO, Merge=YES,GUID=YES...
Result Says IMPORT SUCCESS, but the component does not appear in list of components

When I check list of Field types, (on a this clean JCB installation) I note that "Modal Menu" (field 45) and "Menu" (field 46) do not appear in list

I then try to import a the package(2.10.0) via a ZIP file copy which I have on backup.

Same issue, component not displayed.

The log ("See all import info") actually shows that these 2 field types are updated:

  • fieldtype id:45-> was found!
  • fieldtype id:45-> has been updated!
  • fieldtype id:46-> was found!
  • fieldtype id:46-> has been updated!

However, when checking the list of field types, they do not appear ....
image

When I check the data table "_componentbuilder_fieldtype", only 44 records exist! No record 45 or 46.

This does concerns me as I am not sure what other issues may arise...

  • Any advice on this issue?
  • Do I NOT need the field updater anymore?
  • Are these FIELD TYPES (mentioned above) obsolete?
  • Are field type updates maintained via (Super)POWERS going forward?

Regards

More info on this issue....I need to see what happens with the compiling on a FRESH Joomla/JCB environment, instead of trying to run an upgrade... So, set up of Joomla 3.1.12, OK Install of JCB 3.1.28, OK However, I also use the "Field Type Updater Public" for the additional field types and any updates which it provides.... So before importing my components for compilation, I need to install this package using Import packages function... Via JCB Community Packages option.... get package (force local update=NO, Merge=YES,GUID=YES... Result Says IMPORT SUCCESS, but the component does not appear in list of components When I check list of Field types, (on a this clean JCB installation) I note that "Modal Menu" (field 45) and "Menu" (field 46) do not appear in list I then try to import a the package(2.10.0) via a ZIP file copy which I have on backup. Same issue, component not displayed. The log ("See all import info") actually shows that these 2 field types are updated: - fieldtype id:45-> was found! - fieldtype id:45-> has been updated! - fieldtype id:46-> was found! - fieldtype id:46-> has been updated! However, when checking the list of field types, they do not appear .... ![image](/attachments/feb55ec7-54d2-4d17-8f95-4fd620d4af6c) When I check the data table "_componentbuilder_fieldtype", only 44 records exist! No record 45 or 46. This does concerns me as I am not sure what other issues may arise... - Any advice on this issue? - Do I NOT need the field updater anymore? - Are these FIELD TYPES (mentioned above) obsolete? - Are field type updates maintained via (Super)POWERS going forward? Regards
Owner

Okay the last comment has an issue that is not related to the same issue and has a standing issue at: #989 and here: #1000

So the import of JCB packages does have an issue at the moment, and its mostly due to the encryption struggle we are having. I set that aside for a moment so I can push JCB, for Joomla 4 out. Which means I will not fix it now, just yet.

Back to the issue you opened here: we need to build your component without it breaking JCB. So this is what we should focus on, and resolve.

I am sorry if this does not really help, being unable to import packages is a pain, I would like to finish that part as well, its just to much work for me to keep up. So I am now focusing completely on only getting JCB to build for Joomla 4. Which I hope to have finished soon.

This issue of yours effect that work, and that is why your debugging and comments here is highly appreciated.

Okay the last comment has an issue that is not related to the same issue and has a standing issue at: https://git.vdm.dev/joomla/Component-Builder/issues/989 and here: https://git.vdm.dev/joomla/Component-Builder/issues/1000 So the import of JCB packages does have an issue at the moment, and its mostly due to the encryption struggle we are having. I set that aside for a moment so I can push JCB, for Joomla 4 out. Which means I will not fix it now, just yet. Back to the issue you opened here: we need to build your component without it breaking JCB. So this is what we should focus on, and resolve. I am sorry if this does not really help, being unable to import packages is a pain, I would like to finish that part as well, its just to much work for me to keep up. So I am now focusing completely on only getting JCB to build for Joomla 4. Which I hope to have finished soon. This issue of yours effect that work, and that is why your debugging and comments here is highly appreciated.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: joomla/Component-Builder#1019
No description provided.