Opened 5 years ago

Last modified 5 years ago

#10403 in-progress bug

BeOS Compatibility issues on x86_gcc2 hrev46660

Reported by: kallisti5 Owned by: pulkomandy
Priority: normal Milestone: R1
Component: System Version: R1/Development
Keywords: compatibility Cc:
Blocked By: #4246, #8579, #11128 Blocking:
Has a Patch: no Platform: All

Description (last modified by kallisti5)

Testing of the BeOS 5.0.3 applications on hrev46660 result in several missing symbols, crashes, and KDL's.

Minor issues:

BeMail: Missing decode_base64_FPcT0xb
CDBurner: Missing Invoke_15BColumnListViewP8BMessage
GLTeapot: Missing gluPerspective
Installer: Missing VolumeName_C9Partition
NetPositive: Missing encode_base64_FPcT0x
PoorMan: Missing _start_thread

Crashes:

CodyCam: Crash (only seen once, false positive?)
DiskProbe: Crash (only seen once, false positive?)
Clock: Crash (only seen once, false positive?)
Chart: Crash (only seen once, false positive?)
MediaPlayer: Crash (attached)

KDLs:

CDPlayer: KDL (attached) (duplicate of #4246)

Attachments (6)

cdplayer-kdl-46660 (4.1 KB) - added by kallisti5 5 years ago.
Chart-918-debug-12-01-2014-19-20-37.report (4.4 KB) - added by kallisti5 5 years ago.
Clock-960-debug-12-01-2014-19-20-51.report (3.7 KB) - added by kallisti5 5 years ago.
CodyCam-987-debug-12-01-2014-19-21-08.report (4.4 KB) - added by kallisti5 5 years ago.
DiskProbe-1014-debug-12-01-2014-19-21-19.report (4.4 KB) - added by kallisti5 5 years ago.
MediaPlayer-1603-debug-12-01-2014-19-32-27.report (9.8 KB) - added by kallisti5 5 years ago.

Download all attachments as: .zip

Change History (21)

Changed 5 years ago by kallisti5

Attachment: cdplayer-kdl-46660 added

Changed 5 years ago by kallisti5

Changed 5 years ago by kallisti5

Changed 5 years ago by kallisti5

Changed 5 years ago by kallisti5

comment:1 Changed 5 years ago by kallisti5

Description: modified (diff)

Changed 5 years ago by kallisti5

comment:2 Changed 5 years ago by kallisti5

Description: modified (diff)

comment:3 Changed 5 years ago by kallisti5

Description: modified (diff)

comment:4 Changed 5 years ago by kallisti5

I actually ran over all the crashing programs again (post-reboot), and they all worked minus MediaPlayer

comment:5 Changed 5 years ago by kallisti5

Looks like things looking for the base64 stuff are looking for C++ symbols, while we define C symbols in libbe...

~> readelf -s /BeOS\ 5\ Pro\ Edition/beos/apps/NetPositive  | grep UND | grep base
   362: 00000000   478 FUNC    GLOBAL DEFAULT  UND encode_base64__FPcT0x
  3531: 00000000   478 FUNC    GLOBAL DEFAULT  UND encode_base64__FPcT0x
~> readelf -s /boot/system/lib/libbe.so | grep base64
  3391: 002528dc   416 FUNC    GLOBAL DEFAULT   11 encode_base64@@LIBBE_BASE
  5812: 00252a7c   412 FUNC    GLOBAL DEFAULT   11 decode_base64@@LIBBE_BASE
  4485: 002528dc   416 FUNC    GLOBAL DEFAULT   11 encode_base64
  6906: 00252a7c   412 FUNC    GLOBAL DEFAULT   11 decode_base64
~> 
~> echo "encode_base64__FPcT0x" | c++filt
encode_base64(char *, char *, long long)

comment:6 Changed 5 years ago by kallisti5

~> grep -R _base64 /Data/code/haiku/headers/
/Data/code/haiku/headers/os/mail/mail_encoding.h:ssize_t        encode_base64(char *out, const char *in, off_t length, int headerMode);
/Data/code/haiku/headers/os/mail/mail_encoding.h:ssize_t        decode_base64(char *out, const char *in, off_t length);

comment:7 Changed 5 years ago by pulkomandy

Owner: changed from nobody to pulkomandy
Status: newassigned

kallisti5: please mark no-longer-broken crash reports as obsolete then? I'll look into that base64 issue...

comment:8 Changed 5 years ago by kallisti5

Description: modified (diff)

comment:9 Changed 5 years ago by kallisti5

Description: modified (diff)

comment:10 Changed 5 years ago by codewrangler

Also, other non BeOS bundled apps have the same issue with 'decode_base64' (I assume it would have the same issue with 'encode_base64', if it could get that far.

Some of the Apps I just tried, that have this issue, are:

PostMaster 1.1.1 (full edition) BeInformed (The version that's on Haikuware.com)

This issue exists as of hrev46890.

comment:11 Changed 5 years ago by jackburton

I guess that this is caused by commit ab3fd9c828489bc13d6d26612ca7b013d6c187c , when we moved those methods to the support kit.

comment:12 Changed 5 years ago by pulkomandy

Status: assignedin-progress

No, the methods have been broken long before that, when czeidler changed the prototypes, causing them to not match BeOS ones.

I have a fix attempt locally, will test it before commiting it...

comment:13 Changed 5 years ago by pulkomandy

Blocked By: 4246, 8579 added

The encode_base64 issue is #8579. Please open a dedicated ticket for each remaining issue (if any), that will be simpler to track.

comment:14 Changed 5 years ago by pulkomandy

Ok, so I fixed the encode_base64/decode_base64 issue (see relevant ticket). However, Net+ now crashes when trying to access a website, unless running with libroot debug (in that case you get the error page with Haiku message).

comment:15 Changed 5 years ago by pulkomandy

Blocked By: 11128 added
Note: See TracTickets for help on using tickets.