Skip to content

Built with QT 6.5.3 - crashes in libharfbuzz #23

@quarcko

Description

@quarcko

Dear Webkit maintainers,

As we are moving towards updating QT Framework - and badly need webkit, we tried to build this repos branch "qt6"
using QT 6.5.3 version of Qt. so firstly few notes:

  1. We fixed all compilation errors for TOUCH and GESTURE_EVENTS
  2. QT6 OPENGL is undetectable - but we dont needed (info just in case it is important to this crash)
  3. There was a small fix inside Path.c where returning "platformPath" crashed inside QPainterPath constructor.

If needed i can upload all the fixes to you later on, but main problem is, that while trying to render page webkit crashes like this:

Thread 1 "QtTestBrowser" received signal SIGSEGV, Segmentation fault.

hb_blob_ptr_t<OT::GSUB>::get (this=<optimized out>) at ../../src/hb-blob.hh:88 88 ../../src/hb-blob.hh: No such file or directory.

#1 hb_blob_ptr_t<OT::GSUB>::operator* (this=<optimized out>) at ../../src/hb-blob.hh:85 85 in ../../src/hb-blob.hh

#2 get_gsubgpos_table (face=0x7fffe8fc7560 <_hb_Null_hb_font_t>, table_tag=<optimized out>) at ../../src/hb-ot-layout.cc:403 403 ../../src/hb-ot-layout.cc: No such file or directory.

#3 0x00007fffe75869b9 in hb_ot_layout_table_find_feature_variations (face=<optimized out>, table_tag=<optimized out>, coords=0x3ed0000080000000, num_coords=0, variations_index=0x555555922c14) at ../../src/hb-ot-layout.cc:1262 1262 in ../../src/hb-ot-layout.cc

#4 0x00007fffe75b529a in hb_ot_shape_plan_key_t::init (num_coords=0, coords=0x3ed0000080000000, face=0x7fffe8fc7560 <_hb_Null_hb_font_t>, this=0x555555922c14) at ../../src/hb-ot-shape.hh:45 45 ../../src/hb-ot-shape.hh: No such file or directory.

#5 hb_shape_plan_key_t::init (this=this@entry=0x555555922be8, copy=copy@entry=true, face=face@entry=0x7fffe8fc7560 <_hb_Null_hb_font_t>, props=props@entry=0x555555922aa8, user_features=user_features@entry=0x0, num_user_features=num_user_features@entry=0, coords=0x3ed0000080000000, num_coords=0, shaper_list=0x0) at ../../src/hb-shape-plan.cc:90 90 ../../src/hb-shape-plan.cc: No such file or directory.

#6 0x00007fffe75b57a2 in hb_shape_plan_create2 (face=face@entry=0x7fffe8fc7560 <_hb_Null_hb_font_t>, props=props@entry=0x555555922aa8, user_features=user_features@entry=0x0, num_user_features=num_user_features@entry=0, coords=coords@entry=0x3ed0000080000000, num_coords=num_coords@entry=0, shaper_list=<optimized out>) at ../../src/hb-shape-plan.cc:248 248 in ../../src/hb-shape-plan.cc

#7 0x00007fffe75b94a4 in hb_shape_plan_create_cached2 (face=0x7fffe8fc7560 <_hb_Null_hb_font_t>, props=props@entry=0x555555922aa8, user_features=user_features@entry=0x0, num_user_features=num_user_features@entry=0, coords=0x3ed0000080000000, num_coords=0, shaper_list=<optimized out>) at ../../src/hb-shape-plan.cc:555 555 in ../../src/hb-shape-plan.cc

#8 0x00007fffe75b9522 in hb_shape_full (font=0x555555731f50, buffer=0x555555922a70, features=0x0, num_features=0, shaper_list=<optimized out>) at ../../src/hb-shape.cc:135 135 ../../src/hb-shape.cc: No such file or directory.

#9 0x00007fffed5a3cc6 in WebCore::ComplexTextController::collectComplexTextRunsForCharacters (this=0x7fffffff70d0, characters=0x7fffda5034d4 u"Gmail", length=5, stringLocation=0, font=0x7fffda270680) at /program_files/webkit-qt6/Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:435 435 hb_shape(harfBuzzFont.get(), buffer.get(), nullptr, 0);

Also, enabled qDEBUG (that was put by someone of you):

void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 400 0x555555709050 4 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 402 hb_qt_font_get_for_engine 0x555555731f50 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 403 0x7fffe8fc7560 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 405 0x555555a9d0c0 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 406 hb_qt_face_get_for_engine 0x555555a9d0c0 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 407 0x555555731f50 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 408 0x7fffe8fc7560 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 411 0x555555a9d0c0 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 412 0x555555731f50 void WebCore::ComplexTextController::collectComplexTextRunsForCharacters(const UChar*, unsigned int, unsigned int, const WebCore::Font*) 413 0x7fffe8fc7560

I have no knowledge of libharfbuzz and don't understand why it happens, maybe here are some alive people that might guide
me in correct direction, so i could fix the issue.

Lets soleve it and I will contribute back to the project with all that was already done + what's left to do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions