Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

8 hours ago, Slice said:

But why it is happen only with new commit?

I guess the size of it was just what it needs to need padding between "__beginning_of_section_ctors" symbol and the actual content of the ctors section.

Honestly, I'm surprised too.

 

 

8 hours ago, Slice said:

14 seconds at the end of Device Properties strings.

 

8 hours ago, Slice said:

27:689 14:328 stringlength = 134284

That's quite some injection !

 

Between "ATI injection not set" message and "stringlength =", there is quite a lot. It's in SetDevices().

I'll have a look. Most likely add some more temporary debug message to discover where exactly it happens.

Link to comment
Share on other sites

1 hour ago, Jief_Machak said:

 

That's quite some injection !

 

Between "ATI injection not set" message and "stringlength =", there is quite a lot. It's in SetDevices().

I'll have a look. Most likely add some more temporary debug message to discover where exactly it happens.

He injected VideoBIOS so why the length and the time.

Link to comment
Share on other sites

I asked him to produce new log with additional DBG and see:

6:636 0:003 generate string
23:552 16:916 hex2bin
23:557 0:004 stringlength = 134284

The codes are here

  if (StringDirty) {
    EFI_PHYSICAL_ADDRESS BufferPtr = EFI_SYSTEM_TABLE_MAX_ADDRESS; //0xFE000000;
    DBG("generate string\n");
    XString8 newDeviceProperties = devprop_generate_string(device_inject_string);
    DBG("hex2bin\n");
    size_t binaryPropSize = hex2bin(newDeviceProperties, NULL, 0);
    if ( binaryPropSize > MAX_UINT32 ) {
      MsgLog("devprop_generate_string(device_inject_string) is too big");
      newDeviceProperties.setEmpty();

 

Link to comment
Share on other sites

I compiled commit c11a90046 and test on real hardware #1 in signature.

Clover works faster. It was

5132 (master, commit 6ff5bab8a):

8:197  0:048  GUI ready

and now

5132 (master, commit c11a90046) 

5:727  0:048  GUI ready

 

And in the system 10.14.6 I got strange CPU behaviour. It go crazy!

Снимок экрана 2021-04-07 в 19.53.02.png

 

I am in the process to understand what is happen.

  • Like 1
Link to comment
Share on other sites

Just to be sure The fix for long generation of devprop_generate_string is NOT committed. Because I wasn't sure although I can reproduce something that looks like it. So the guy from https://applelife.ru/ has to test the efi I posted here.

4 minutes ago, Slice said:

Clover works faster. It was

5132 (master, commit 6ff5bab8a):

8:197  0:048  GUI ready

and now

5132 (master, commit c11a90046) 

5:727  0:048  GUI ready

No idea why it would be faster here...

Link to comment
Share on other sites

Main pause was here

0:100  0:000  CloverX64 : Image base = 0x4BCAB000
2:682  2:582  
2:682  0:000  Now is 03.04.2021,  20:46:11 (GMT)
2:682  0:000  Starting Clover revision: 5132 (master, commit 6ff5bab8a) on American Megatrends EFI

and now

0:100  0:000  CloverX64 : Image base = 0x4BCAA000
0:162  0:062  
0:162  0:000  Now is 07.04.2021,  15:29:32 (GMT)
0:162  0:000  Starting Clover revision: 5132 (master, commit c11a90046) on American Megatrends EFI

 

20 minutes ago, Slice said:

I still wait for those guy.

Yes, the pause is absent!

https://www.applelife.ru/threads/clover.42089/page-1370#post-934567

Link to comment
Share on other sites

19 hours ago, Slice said:

Main pause was here


0:100  0:000  CloverX64 : Image base = 0x4BCAB000
2:682  2:582  
2:682  0:000  Now is 03.04.2021,  20:46:11 (GMT)
2:682  0:000  Starting Clover revision: 5132 (master, commit 6ff5bab8a) on American Megatrends EFI

and now


0:100  0:000  CloverX64 : Image base = 0x4BCAA000
0:162  0:062  
0:162  0:000  Now is 07.04.2021,  15:29:32 (GMT)
0:162  0:000  Starting Clover revision: 5132 (master, commit c11a90046) on American Megatrends EFI

 

This has nothing to do with the long time needed to construct device injection string.

This one was because of a stall to give time to gdb to connect:

    gBS->Stall(2500000); // to give time to gdb to connect

Mine is enclosed with #ifdef JIEF_DEBUG, but this line was duplicated outside the #ifdef.

I guess I did (commit 3252bf63e0ce7efb735e38d2fcaaf3b6ef0315e4) that when you tried to launch gdb.

 

By the way, does launching with gdb now works ?

Link to comment
Share on other sites

1 hour ago, Jief_Machak said:

Can you have a backtrace on a panic ?

But I have no panic at this moment

Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
Reading symbols from /Users/sergey/src/CloverBootloader/Qemu/../Build/Clover/DEBUG_GCC53/X64/CLOVERX64.debug...
Remote debugging using localhost:9000
Python Exception <type 'exceptions.NameError'> Installation error: gdb.execute_unwinders function is missing: 
0x000000007f5142d4 in ?? ()
Hardware read watchpoint 1: *0
Breakpoint 2 at 0x7dca2bfc: file /Users/sergey/src/CloverBootloader/rEFIt_UEFI/Platform/Posix/abort.cpp, line 37.
Continuing.

 

Link to comment
Share on other sites

New commit

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/cpp_unit_test/XString_test.cpp:1570:28: error: no matching function for call to 'XStringW::takeValueFrom(XString32&, int)'
 1570 |   xsw2.takeValueFrom(xsw, 1);
      |                            ^

 

Link to comment
Share on other sites

Using gdb on command line is very hard but annoying. I almost never use it like that.

But having the backtrace in case of panic turn 1 or 2 hours searching with log into 5 minutes.

From the console you sent, it looks like it works. Put a panic anywhere and try :-)

Link to comment
Share on other sites

Yes, I can see panic


Python Exception <type 'exceptions.NameError'> Installation error: gdb.execute_unwinders function is missing: 
Breakpoint 2, panic_ (Python Exception <type 'exceptions.NameError'> Installation error: gdb.execute_unwinders function is missing: 
format=0x7ddbd006 "ххх вам", 
    va=0x7fcef598 "\030\032\376}")
    at /Users/sergey/src/CloverBootloader/rEFIt_UEFI/PlatformEFI/posix/abort.cpp:37
37	  egSetGraphicsModeEnabled(false);
(gdb) 

But I see no where it happened. I inserted panic("ххх вам") into main.cpp.

Link to comment
Share on other sites

×
×
  • Create New...