<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>304962</bug_id>
          
          <creation_ts>2026-01-05 16:42:10 -0800</creation_ts>
          <short_desc>[GTK MiniBrowser] assertion &apos;g_utf8_validate (string, -1, NULL)&apos; failed in g_variant_new_string under browserWindowCreateBackForwardMenu</short_desc>
          <delta_ts>2026-05-04 03:12:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2169515</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2026-01-05 16:42:10 -0800</bug_when>
    <thetext>I tested with GTK MiniBrowser 305089@main

1. Load https://unboxholics.com/
2. Open a random article and history back
3. Repeat step 2 sevaral times

&gt; (MiniBrowser:21769): GLib-CRITICAL **: 09:32:19.989: g_variant_new_string: assertion &apos;g_utf8_validate (string, -1, NULL)&apos; failed

With G_DEBUG=fatal-warnings, I got the following backtrace.

#0  0x00007fa732ac46b1 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fa732ac4963 in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa732b0646a in g_variant_new_string () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa732cfad70 in g_menu_item_set_label () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fa732cfb00b in g_menu_item_new () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x000055cda5d5e09a in browserWindowCreateBackForwardMenu ()
#6  0x000055cda5d5dc02 in browserWindowUpdateNavigationMenu ()
#7  0x00007fa72a4acb16 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#8  0x00007fa72a4a93ef in ffi_call_int
    (cif=cif@entry=0x7ffd7de48300, fn=&lt;optimized out&gt;, rvalue=&lt;optimized out&gt;, avalue=&lt;optimized out&gt;, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#9  0x00007fa72a4ac0be in ffi_call (cif=0x7ffd7de48300, fn=&lt;optimized out&gt;, rvalue=&lt;optimized out&gt;, avalue=&lt;optimized out&gt;) at ../src/x86/ffi64.c:710
#10 0x00007fa732bc6db2 in g_cclosure_marshal_generic () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007fa732bc02fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007fa732bef90c in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007fa732be0591 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007fa732be07c1 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007fa732be0883 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007fa73638b56d in webkitBackForwardListChanged(_WebKitBackForwardList*, WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::Ref&lt;WebKit::WebBackForwardListItem, WTF::RawPtrTraits&lt;WebKit::WebBackForwardListItem&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::WebBackForwardListItem&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#17 0x00007fa73639c5d4 in NavigationClient::didChangeBackForwardList(WebKit::WebPageProxy&amp;, WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::Ref&lt;WebKit::WebBackForwardListItem, WTF::RawPtrTraits&lt;WebKit::WebBackForwardListItem&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::WebBackForwardListItem&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#18 0x00007fa7362723d8 in WebKit::WebPageProxy::didChangeBackForwardList(WebKit::WebBackForwardListItem*, WTF::Vector&lt;WTF::Ref&lt;WebKit::WebBackForwardListItem, WTF::RawPtrTraits&lt;WebKit::WebBackForwardListItem&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::WebBackForwardListItem&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#19 0x00007fa7362446e9 in WebKit::WebBackForwardList::goToItem(WebKit::WebBackForwardListItem&amp;) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#20 0x00007fa736246e37 in WebKit::WebBackForwardList::backForwardGoToItemShared(WebCore::ProcessQualified&lt;WTF::ObjectIdentifierGeneric&lt;WebCore::BackForwardItemIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits&lt;unsigned long&gt;, unsigned long&gt; &gt;, WTF::CompletionHandler&lt;void (WebKit::WebBackForwardListCounts const&amp;)&gt;&amp;&amp;)
    () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#21 0x00007fa736246d30 in WebKit::WebBackForwardList::backForwardGoToItem(WebCore::ProcessQualified&lt;WTF::ObjectIdentifierGeneric&lt;WebCore::BackForwardItemIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits&lt;unsigned long&gt;, unsigned long&gt; &gt;, WTF::CompletionHandler&lt;void (WebKit::WebBackForwardListCounts const&amp;)&gt;&amp;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#22 0x00007fa735cbe63f in WebKit::WebBackForwardList::didReceiveSyncMessage(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#23 0x00007fa73619b02c in IPC::MessageReceiverMap::dispatchSyncMessage(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#24 0x00007fa73630842c in WebKit::WebProcessProxy::dispatchSyncMessage(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#25 0x00007fa735cf2a69 in WebKit::WebProcessProxy::didReceiveSyncMessage(IPC::Connection&amp;, IPC::Decoder&amp;, WTF::UniqueRef&lt;IPC::Encoder&gt;&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#26 0x00007fa73619315b in IPC::Connection::dispatchSyncMessage(IPC::Decoder&amp;) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#27 0x00007fa736193674 in IPC::Connection::dispatchMessage(WTF::UniqueRef&lt;IPC::Decoder&gt;) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#28 0x00007fa73618dc23 in IPC::Connection::SyncMessageState::ConnectionAndIncomingMessage::dispatch() ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#29 0x00007fa73618e620 in IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection(IPC::Connection&amp;) ()
    at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#30 0x00007fa7361938d6 in IPC::Connection::dispatchSyncStateMessages() () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4
#31 0x00007fa7327127d5 in WTF::RunLoop::performWork() () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-6.0.so.1
#32 0x00007fa7327dcf99 in WTF::RunLoop::RunLoop()::$_0::__invoke(void*) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-6.0.so.1
#33 0x00007fa7327db919 in WTF::RunLoop::$_3::__invoke(_GSource*, int (*)(void*), void*) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libjavascriptcoregtk-6.0.so.1
#34 0x00007fa732abf49e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fa732b1e737 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fa732abea63 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fa732cf587d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#38 0x000055cda5d5e6c9 in main ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2206554</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2026-05-01 06:18:39 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/64044</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2207138</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-04 03:12:47 -0700</bug_when>
    <thetext>Committed 312512@main (9508413124c4): &lt;https://commits.webkit.org/312512@main&gt;

Reviewed commits have been landed. Closing PR #64044 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>