Opened 20 months ago

Closed 5 months ago

#14025 closed bug (fixed)

[HaikuDepot] crash in PackageInfo::Title(PackageInfo)

Reported by: Iosend Owned by: stippi
Priority: normal Milestone: Unscheduled
Component: Applications/HaikuDepot Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #14184
Has a Patch: no Platform: All

Description

I running search after start - on search in HaikuDepot

Attachments (8)

HaikuDepot-250-debug-07-03-2018-13-00-39.report (14.3 KB ) - added by Iosend 20 months ago.
HaikuDepot-519-debug-07-07-2018-11-40-39.report (15.1 KB ) - added by vidrep 16 months ago.
HaikuDepot_refresh_terminal.txt (5.8 KB ) - added by vidrep 16 months ago.
HaikuDepot_first_launch.png (190.0 KB ) - added by vidrep 15 months ago.
HaikuDepot_first_launch.txt (3.3 KB ) - added by vidrep 15 months ago.
HaikuDepot_refresh.png (276.0 KB ) - added by vidrep 15 months ago.
HaikuDepot_refresh.txt (4.2 KB ) - added by vidrep 15 months ago.
HaikuDepot-890-debug-06-08-2018-16-12-25.report (15.9 KB ) - added by vidrep 15 months ago.

Download all attachments as: .zip

Change History (26)

comment:1 by diver, 20 months ago

Component: - GeneralApplications/HaikuDepot
Owner: changed from nobody to stippi
Summary: Error HaikuDepot[HaikuDepot] crash in PackageInfo::Title(PackageInfo)

comment:2 by diver, 17 months ago

Blocking: 14184 added

comment:3 by vidrep, 16 months ago

hrev52047 x86_gcc2h

Debugger report attached

comment:4 by apl-haiku, 16 months ago

I am trying this now and don't see a problem on hrev52080 (x86_gcc2); is there a specific keyword that causes the problem to occur?

comment:5 by vidrep, 16 months ago

It seems that most of theses crashes are occurring on a first time search after a fresh install of Haiku, which is something I do quite often. Updates are not so much affected.

comment:6 by vidrep, 16 months ago

Would it help for me to do another fresh install, then start HaikuDepot from Terminal, to see if it will crash again?

Version 0, edited 16 months ago by vidrep (next)

comment:7 by apl-haiku, 16 months ago

Hello; If you have time to try a fresh install to see if it still happens for you, it would be appreciated; otherwise I will come back to it when I can.

comment:8 by vidrep, 16 months ago

I was able to reproduce the problem on consecutive fresh installs. It appears that HaikuDepot is not fully populating the package list on first launch. It will only fully populate after the repositories are refreshed. If you enter a search term for an item that is not in the list, before you have refreshed the list, it will crash. Line 46 is where the error occurs. I have attached a terminal log of HaikuDepot first launch, and repository refresh.

Last edited 15 months ago by vidrep (previous) (diff)

by vidrep, 16 months ago

comment:9 by waddlesplash, 15 months ago

I attempted to reproduce this on x86_gcc2 by deleting the following folders:

/system/cache/tmp
~/config/cache/HaikuDepot
~/config/settings/HaikuDepot

... and then after launching HaikuDepot I got output nearly identical to vidrep's log, but trying to search at any point in that did not result in a crash. I also disabled internet access after deleting the folders, so that HaikuDepot could not refresh, and it still didn't crash.

@vidrep, could you see if you can find a way to reproduce without a fresh install? If not, I'll try to debug and then fix it that way.

comment:10 by vidrep, 15 months ago

I have attached a pair of terminal logs and screenshots to illustrate the issue.

by vidrep, 15 months ago

Attachment: HaikuDepot_first_launch.png added

by vidrep, 15 months ago

Attachment: HaikuDepot_first_launch.txt added

by vidrep, 15 months ago

Attachment: HaikuDepot_refresh.png added

by vidrep, 15 months ago

Attachment: HaikuDepot_refresh.txt added

comment:11 by apl-haiku, 15 months ago

I have followed these guessed steps to reproduce the problem;

  • pulled my development branch to master and built a new ISO
  • installed the ISO into a VirtualBox environment
  • Run HaikuDepot desktop application
  • Unchecked "Show only featured packages"
  • Type some search terms into the search box a few times

I unfortunately don't seem to see this problem mentioned arising.

| ... It will only do so when repositories are refreshed ...

Can you clarify here. Do you mean when the operating system pulls a fresh hpkr from the remote site or do you mean HaikuDepot retrieves fresh package meta-data from the server?

One thing I see in your log that I do not see in mine;

...
SSL error:00000002:lib(0):func(0):system lib
[ServerIconExportUpdateProcess] did complete streaming data [1744896 bytes]
delete any existing stored data
will unpack to [/boot/home/config/cache/HaikuDepot/__allicons]
unable to unpack item data to; [/boot/home/config/cache/HaikuDepot/__allicons/hicn/jnpad_j/64.png]
did unpack 1415 tar items
error occurred unpacking tar items; Value too large for defined type
did complete fetching icons
...

The tar-ball downloaded from the server is *actually* around 3206365 bytes long - around 2x the length of what your client is downloading. I see this error in the following supplied logs from yourself;

  • HaikuDepot_first_launch.txt​
  • HaikuDepot_refresh_terminal.txt​

I wonder if this might somehow have something to do with it?

comment:12 by vidrep, 15 months ago

See edited comment: 8

comment:14 by vidrep, 15 months ago

Had another crash today using hrev52175 x86_gcc2h. Entering a search term before the icons have loaded appears to have been the cause. This time it was NOT on a fresh install, but one that has been updated several times. Debugger report attached.

Last edited 15 months ago by vidrep (previous) (diff)

comment:15 by diver, 5 months ago

Still here in hrev53142.

comment:16 by apl-haiku, 5 months ago

I spent some more time on it, but am still unable to reproduce this error locally. Is somebody other than vidrep able to try to reproduce this error following the procedures on this ticket?

In the error trace I see the following calls in the stack trace;

SearchTermsFilter::AcceptsPackage(SearchTermsFilter) + 0x7f
Model::MatchesFilter(Model) + 0x5a
Model::CreatePackageList(Model) + 0xee
MainWindow::_AdoptModel() + 0x25
MainWindow::MessageReceived(BMessage*) + 0x8de
BLooper::DispatchMessage(BMessage*, BHandler*) + 0x59
...

Without being able to check, it appears that;

void
MainWindow::_AdoptModel()
{
  fVisiblePackages = fModel.CreatePackageList();
...

...should be locking the fModel across the CreatePackageList() method call. I can't see the problem to see if this fixes it, but I think that this lock should be there anyway so I'll add it via PR and we can see.

comment:17 by vidrep, 5 months ago

hrev53152 x86_64

I could not reproduce the crash on a fresh install.

comment:18 by waddlesplash, 5 months ago

Resolution: fixed
Status: newclosed

Fix merged in hrev53157.

Note: See TracTickets for help on using tickets.