Follow

The next release of arrives as March draws to a close:

github.com/skyjake/lagrange/re

There's lots to unpack here: UI localization, LibreTranslate integration, collapsing preformatted blocks, alt text, trust via CAs, theme adjustments, bold link appearance with custom icons, touch screen support, runtime UI rescaling, word/paragraph selection, unread feed entry counter, basic command line use, and several UI improvements.

This one will need some time for writing a proper gemlog post but in the meantime, please check out the in-app release notes for full details.

@jk I don't know if you already knew about this, but one problem I had was keybindings for going back in history and stuff still worked when pressed F to view hints. It's not supposed to.

@person Thanks for letting me know, I’ll take a look.

@jk thanks for the new release. Unfortunately, on OpenBSD Lagrange instantly crashes after displaying the window.

I'll open an issue on the project forge.

@jk Aww :flan_despair: I have a crash with a different error when I have no ~/.config/lagrange

Let's find why :flan_hacker:

@solene Did a clean OpenBSD VM install and built Lagrange. Everything seems to work, though.

Are you able to get a backtrace in a debugger, to see where it's crashing?

@jk did you try with OpenBSD 6.8 ? I'm using the development version -current, to switch to it you can run "sysupgrade -s" as root and will download the -current sets, reboot to install them and do the work.

in one case I can get a backtrace with gdb, in the other case with an empty directory folder I only get a message and no core dump. :flan_think:

@solene Yeah it was 6.8. I'll try again with -current.

@jk when I have no .config/lagrange directory I have this output and no core dump :/

Lagrange: A Beautiful Gemini Client
[window] renderer: opengl (accelerated)
i965: Failed to submit batchbuffer: Bad file descriptor

usually, I don't have the last line.

~/.config/lagrange get created and a window briefly get displayed (but only to see it appear and disappear, I can't see anything it it so it's very short).

@solene > i965: Failed to submit batchbuffer: Bad file descriptor

This suggests to me that there is a problem with Intel graphics drivers. Is that what you're using?

Does it work if you launch with `--sw`?

@jk it works with --sw

I have an intel graphics and 1.2.3 works fine. I get this console output when I start 1.2.3 [window] renderer: opengl (accelerated)

@jk so, 1.3.0 starts with an empty config directory and --sw :flan_think:

meanwhile, if I use my config directory and run lagrange with --sw it works too. So it seems there is only one issue that trigger two behaviors

@solene @jk I will build lagrange on my old AMD C60, which has AMD graphics. Sorry for my ignorance, but I know in Linux it is advised not to use intel graphics and use the modesetting driver instead. Does OpenBSD support the modesetting driver?

@solene In that case I probably can’t reproduce this in the VM since it uses its own graphics driver.

My theory is that Lagrange tries to cache glyphs too early (before the window is shown) and the SDL renderer isn’t fully up-and-running yet (?). I can try to defer caching until a bit later.

@jk I restarted my X session, now 1.3.0 starts fine, but I still have the same ""i965: Failed to submit batchbuffer: Bad file descriptor" issue without a ~/.config/lagrange :flan_think:

I hope this helps

@solene @jk Works fine on my freshly installed AMD C60 with radeon graphics. Simple installation with openbox, completely new profile. On OpenBSD with a fresh snapshot of course. :flan_thumbs:

@outofcreativity @solene Good to know. I suspect this error is either a race condition and/or some drivers silently ignore it. I haven’t seen obvious failures on any of my systems.

I’ll apply a flag that enables text caching only after the window has been exposed, to ensure that graphics can be drawn successfully.

@jk I tried your changes by downloading the commit as a patch and applying it. I still have the « i965: Failed to submit batchbuffer: Bad file descriptor » issue with an empty configuration file.

It still work with my configuration directory.

By playing with ~/.config/lagrange/ content I pinpointed something.

mkdir lagrange ; cd lagrange
touch bindings.txt

with that, lagrange starts! Hope this help :)

@solene Interesting clue! This is a bit of a long shot, but what if you change the line window.c:1476 to this:

postCommand_App("~bindings.changed");

(I.e., add a ~ in the event ID.)

If that makes no difference, we'll have to somehow pinpoint exactly when the i965 error occurs.

@jk unfortunately, still the same issue...

I traced file access (using ktrace on OpenBSD, a bit like strace) and I get these files access.

perso.pw/prog/1617473306_text_

In case it helps :flan_smile:

@solene Thanks. I found a failed assertion following your previous steps: git.skyjake.fi/skyjake/lagrang

Hopefully this will do the trick.

@solene I'll add some extra logging options and we can see if those reveal anything new about the crash.

v1.3.1 is out but I don't expect it to help here...

Show newer
Sign in to participate in the conversation
skyjake.fi

skyjake's personal Mastodon instance