Hi Alex! Thank you for your reply.

On 03.09.2021 13:07, Alex Peshkoff via Firebird-devel wrote:
On 9/3/21 11:54 AM, Mike Kaganski wrote:
I actually suspect that our integration might do something wrong initializing the engine, but I am very inexperienced in FB development, and can't easily see what's wrong there.

I doubt much that wrong init can cause such kind of errors. But I see russian letters here, which are 2 bytes in utf8 but 1 - in cp1251. Could it be related with differnt connection charset or something else like that? In what charset does LO talk to FB?

I also suspected an encoding problem as a possible cause (and when I wrote about wrong init, I also included some kind of wrong encoding/collation initialization) :)

LibreOffice uses UFT-8 exclusively to talk to FB (or at least that is how it's intended to be :))

LibreOffice project uses FB 3. I am debugging on Windows using VS. I would be glad for any advise where to look/put a breakpoint/etc to nail down the project. Possibly my poor description could still make some dev here to tell "Of course, it's Foo; how could he not know that basic thing!" - that would be super-cool :)


Always useful to add stack trace (preferanly wih line numbers). DB metadata is also welcome.

Sure - here's the stack trace of the moment when VS shows "Exception thrown at 0x00007FFA0F4A1A29 (vcruntime140d.dll) in soffice.bin: 0xC0000005: Access violation writing location 0x0000025B7D701000."; sorry for not including it from start.

Note that the lines are for the FB revision used in LO, which is 3.0.7 (Firebird-3.0.7.33374-0.tar.bz2) as seen at https://github.com/FirebirdSQL/firebird/releases/tag/R3_0_7.

vcruntime140d.dll!00007ffa0f4a1a29()
Engine12.dll!Jrd::Sort::diddleKey(unsigned char * record, bool direction) Line 
916
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\sort.cpp(916)
Engine12.dll!Jrd::Sort::sortBuffer(Jrd::thread_db * tdbb) Line 1998
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\sort.cpp(1998)
Engine12.dll!Jrd::Sort::sort(Jrd::thread_db * tdbb) Line 460
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\sort.cpp(460)
Engine12.dll!Jrd::SortedStream::init(Jrd::thread_db * tdbb) Line 263
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\recsrc\SortedStream.cpp(263)
Engine12.dll!Jrd::SortedStream::open(Jrd::thread_db * tdbb) Line 62
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\recsrc\SortedStream.cpp(62)
Engine12.dll!Jrd::Cursor::open(Jrd::thread_db * tdbb) Line 116
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\recsrc\Cursor.cpp(116)
Engine12.dll!Jrd::ForNode::execute(Jrd::thread_db * tdbb, Jrd::jrd_req * 
request, Jrd::StmtNode::ExeState * exeState) Line 4740
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\dsql\StmtNodes.cpp(4740)
Engine12.dll!EXE_looper(Jrd::thread_db * tdbb, Jrd::jrd_req * request, const 
Jrd::StmtNode * node) Line 1266
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\exe.cpp(1266)
Engine12.dll!looper_seh(Jrd::thread_db * tdbb, Jrd::jrd_req * request, const 
Jrd::StmtNode * node) Line 1405
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\exe.cpp(1405)
Engine12.dll!execute_looper(Jrd::thread_db * tdbb, Jrd::jrd_req * request, 
Jrd::jrd_tra * transaction, const Jrd::StmtNode * node, Jrd::jrd_req::req_s 
next_state) Line 998
        at C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\exe.cpp(998)
Engine12.dll!EXE_start(Jrd::thread_db * tdbb, Jrd::jrd_req * request, 
Jrd::jrd_tra * transaction) Line 879
        at C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\exe.cpp(879)
Engine12.dll!JRD_start(Jrd::thread_db * tdbb, Jrd::jrd_req * request, 
Jrd::jrd_tra * transaction) Line 7800
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\jrd.cpp(7800)
Engine12.dll!Jrd::DsqlDmlRequest::execute(Jrd::thread_db * tdbb, Jrd::jrd_tra * 
* traHandle, Firebird::IMessageMetadata * inMetadata, const unsigned char * 
inMsg, Firebird::IMessageMetadata * outMetadata, unsigned char * outMsg, bool 
singleton) Line 682
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\dsql\dsql.cpp(682)
Engine12.dll!DSQL_open(Jrd::thread_db * tdbb, Jrd::jrd_tra * * tra_handle, 
Jrd::dsql_req * request, Firebird::IMessageMetadata * in_meta, const unsigned 
char * in_msg, Firebird::IMessageMetadata * out_meta, unsigned long flags) Line 
226
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\dsql\dsql.cpp(226)
Engine12.dll!Jrd::JStatement::openCursor(Firebird::CheckStatusWrapper * 
user_status, Firebird::ITransaction * transaction, Firebird::IMessageMetadata * 
inMetadata, void * inBuffer, Firebird::IMessageMetadata * outMetadata, unsigned 
int flags) Line 4579
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\jrd\jrd.cpp(4579)
Engine12.dll!Firebird::IStatementBaseImpl<Jrd::JStatement,Firebird::CheckStatusWrapper,Firebird::IReferenceCountedImpl<Jrd::JStatement,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JStatement,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IStatement>>>>>::cloopopenCursorDispatcher(Firebird::IStatement
 * self, Firebird::IStatus * status, Firebird::ITransaction * transaction, Firebird::IMessageMetadata * 
inMetadata, void * inBuffer, Firebird::IMessageMetadata * outMetadata, unsigned int flags) Line 8416
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\include\firebird\IdlFbInterfaces.h(8416)
ifbclient.dll!Why::YStatement::openCursor(Firebird::CheckStatusWrapper * 
status, Firebird::ITransaction * transaction, Firebird::IMessageMetadata * 
inMetadata, void * inBuffer, Firebird::IMessageMetadata * outMetadata, unsigned 
int flags) Line 4299
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\yvalve\why.cpp(4299)
ifbclient.dll!Why::IscStatement::openCursor(Firebird::CheckStatusWrapper * 
status, unsigned int * traHandle, Firebird::IMessageMetadata * inMetadata, 
unsigned char * buffer, Firebird::IMessageMetadata * outMetadata) Line 4378
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\yvalve\why.cpp(4378)
ifbclient.dll!isc_dsql_execute2(__int64 * userStatus, unsigned int * traHandle, 
unsigned int * stmtHandle, unsigned short dialect, const XSQLDA * inSqlda, 
const XSQLDA * outSqlda) Line 2169
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\yvalve\why.cpp(2169)
ifbclient.dll!isc_dsql_execute(__int64 * userStatus, unsigned int * traHandle, 
unsigned int * stmtHandle, unsigned short dialect, const XSQLDA * sqlda) Line 
2137
        at 
C:\lo\src\build\workdir\UnpackedTarball\firebird\src\yvalve\why.cpp(2137)
firebird_sdbclo.dll!connectivity::firebird::OPreparedStatement::execute() Line 
315
        at 
C:\lo\src\core\connectivity\source\drivers\firebird\PreparedStatement.cxx(315)
firebird_sdbclo.dll!connectivity::firebird::OPreparedStatement::executeQuery() 
Line 348
        at 
C:\lo\src\core\connectivity\source\drivers\firebird\PreparedStatement.cxx(348)
dbalo.dll!dbaccess::OPreparedStatement::executeQuery() Line 190
        at C:\lo\src\core\dbaccess\source\core\api\preparedstatement.cxx(190)
dbalo.dll!dbaccess::ORowSet::impl_prepareAndExecute_throw() Line 1684
        at C:\lo\src\core\dbaccess\source\core\api\RowSet.cxx(1684)
dbalo.dll!dbaccess::ORowSet::execute_NoApprove_NoNewConn(osl::ResettableGuard<osl::Mutex>
 & _rClearForNotification) Line 1804
        at C:\lo\src\core\dbaccess\source\core\api\RowSet.cxx(1804)
dbalo.dll!dbaccess::ORowSet::execute() Line 1560
        at C:\lo\src\core\dbaccess\source\core\api\RowSet.cxx(1560)
frmlo.dll!frm::ODatabaseForm::executeRowSet(osl::ResettableGuard<osl::Mutex> & 
_rClearForNotifies, bool bMoveToFirst, const 
com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> & 
_rxCompletionHandler) Line 1143
        at C:\lo\src\core\forms\source\component\DatabaseForm.cxx(1143)
frmlo.dll!frm::ODatabaseForm::load_impl(bool bCausedByParentForm, bool bMoveToFirst, 
const com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> 
& _rxCompletionHandler) Line 2832
        at C:\lo\src\core\forms\source\component\DatabaseForm.cxx(2832)
frmlo.dll!frm::ODatabaseForm::load() Line 2595
        at C:\lo\src\core\forms\source\component\DatabaseForm.cxx(2595)
dbulo.dll!dbaui::SbaXDataBrowserController::reloadForm(const 
com::sun::star::uno::Reference<com::sun::star::form::XLoadable> & _rxLoadable) 
Line 627
        at C:\lo\src\core\dbaccess\source\ui\browser\brwctrlr.cxx(627)
dbulo.dll!dbaui::SbaTableQueryBrowser::implLoadAnything(const rtl::OUString & 
_rDataSourceName, const rtl::OUString & _rCommand, const long nCommandType, const bool 
_bEscapeProcessing, const 
utl::SharedUNOComponent<com::sun::star::sdbc::XConnection,utl::DisposableComponent> & 
_rxConnection) Line 2377
        at C:\lo\src\core\dbaccess\source\ui\browser\unodatbr.cxx(2377)
dbulo.dll!dbaui::SbaTableQueryBrowser::implSelect(const weld::TreeIter * 
pEntry) Line 2674
        at C:\lo\src\core\dbaccess\source\ui\browser\unodatbr.cxx(2674)
dbulo.dll!dbaui::SbaTableQueryBrowser::implSelect(const rtl::OUString & _rDataSourceName, 
const rtl::OUString & _rCommand, const long nCommandType, const bool _bEscapeProcessing, 
const utl::SharedUNOComponent<com::sun::star::sdbc::XConnection,utl::DisposableComponent> 
& _rxConnection, bool _bSelectDirect) Line 2440
        at C:\lo\src\core\dbaccess\source\ui\browser\unodatbr.cxx(2440)
dbulo.dll!dbaui::SbaTableQueryBrowser::impl_initialize() Line 3247
        at C:\lo\src\core\dbaccess\source\ui\browser\unodatbr.cxx(3247)
dbulo.dll!dbaui::OGenericUnoController::initialize(const 
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aArguments) Line 261
        at C:\lo\src\core\dbaccess\source\ui\browser\genericcontroller.cxx(261)
dbulo.dll!`anonymous namespace'::DBContentLoader::load(const 
com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & rFrame, const rtl::OUString & rURL, 
const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rArgs, const 
com::sun::star::uno::Reference<com::sun::star::frame::XLoadEventListener> & rListener) Line 236
        at C:\lo\src\core\dbaccess\source\ui\browser\dbloader.cxx(236)
fwklo.dll!framework::LoadEnv::impl_loadContent() Line 1147
        at C:\lo\src\core\framework\source\loadenv\loadenv.cxx(1147)
fwklo.dll!framework::LoadEnv::start() Line 395
        at C:\lo\src\core\framework\source\loadenv\loadenv.cxx(395)
fwklo.dll!framework::LoadEnv::startLoading(const rtl::OUString & sURL, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lMediaDescriptor, const 
com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & xBaseFrame, const rtl::OUString 
& sTarget, long nSearchFlags, LoadEnvFeatures eFeature) Line 300
        at C:\lo\src\core\framework\source\loadenv\loadenv.cxx(300)
fwklo.dll!framework::LoadEnv::loadComponentFromURL(const 
com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> & xLoader, const 
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext, const rtl::OUString 
& sURL, const rtl::OUString & sTarget, long nSearchFlags, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArgs) Line 168
        at C:\lo\src\core\framework\source\loadenv\loadenv.cxx(168)
fwklo.dll!`anonymous namespace'::XFrameImpl::loadComponentFromURL(const rtl::OUString & sURL, 
const rtl::OUString & sTargetFrameName, long nSearchFlags, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArguments) Line 
593
        at C:\lo\src\core\framework\source\services\frame.cxx(593)
dbulo.dll!dbaui::DatabaseObjectView::doDispatch(const 
comphelper::NamedValueCollection & i_rDispatchArgs) Line 135
        at C:\lo\src\core\dbaccess\source\ui\misc\databaseobjectview.cxx(135)
dbulo.dll!dbaui::DatabaseObjectView::doCreateView(const com::sun::star::uno::Any & 
_rDataSource, const rtl::OUString & _rObjectName, const 
comphelper::NamedValueCollection & i_rCreationArgs) Line 92
        at C:\lo\src\core\dbaccess\source\ui\misc\databaseobjectview.cxx(92)
dbulo.dll!dbaui::DatabaseObjectView::openExisting(const com::sun::star::uno::Any & 
_rDataSource, const rtl::OUString & _rName, const comphelper::NamedValueCollection 
& i_rDispatchArgs) Line 80
        at C:\lo\src\core\dbaccess\source\ui\misc\databaseobjectview.cxx(80)
dbulo.dll!dbaui::OApplicationController::openElementWithArguments(const rtl::OUString 
& _sName, dbaui::ElementType _eType, dbaui::ElementOpenMode _eOpenMode, unsigned 
short _nInstigatorCommand, const comphelper::NamedValueCollection & 
_rAdditionalArguments) Line 1838
        at C:\lo\src\core\dbaccess\source\ui\app\AppController.cxx(1838)
dbulo.dll!dbaui::OApplicationController::onEntryDoubleClick(const weld::TreeView 
& rTreeView) Line 1701
        at C:\lo\src\core\dbaccess\source\ui\app\AppController.cxx(1701)
dbulo.dll!dbaui::OAppDetailPageHelper::OnEntryDoubleClick(weld::TreeView & 
rTreeView) Line 854
        at C:\lo\src\core\dbaccess\source\ui\app\AppDetailPageHelper.cxx(854)
dbulo.dll!dbaui::OAppDetailPageHelper::LinkStubOnEntryDoubleClick(void * instance, 
weld::TreeView & data) Line 851
        at C:\lo\src\core\dbaccess\source\ui\app\AppDetailPageHelper.cxx(851)
vcllo.dll!Link<weld::TreeView &,bool>::Call(weld::TreeView & data) Line 111
        at C:\lo\src\core\include\tools\link.hxx(111)
vcllo.dll!weld::TreeView::signal_row_activated() Line 889
        at C:\lo\src\core\include\vcl\weld.hxx(889)
vcllo.dll!SalInstanceTreeView::DoubleClickHdl(SvTreeListBox * __formal) Line 
5061
        at C:\lo\src\core\vcl\source\app\salvtables.cxx(5061)
vcllo.dll!SalInstanceTreeView::LinkStubDoubleClickHdl(void * instance, 
SvTreeListBox * data) Line 5057
        at C:\lo\src\core\vcl\source\app\salvtables.cxx(5057)
vcllo.dll!Link<SvTreeListBox *,bool>::Call(SvTreeListBox * data) Line 111
        at C:\lo\src\core\include\tools\link.hxx(111)
vcllo.dll!SvTreeListBox::DoubleClickHdl() Line 472
        at C:\lo\src\core\vcl\source\treelist\treelistbox.cxx(472)
vcllo.dll!SvImpLBox::MouseButtonDown(const MouseEvent & rMEvt) Line 1962
        at C:\lo\src\core\vcl\source\treelist\svimpbox.cxx(1962)
vcllo.dll!SvTreeListBox::MouseButtonDown(const MouseEvent & rMEvt) Line 2295
        at C:\lo\src\core\vcl\source\treelist\treelistbox.cxx(2295)
vcllo.dll!ImplHandleMouseEvent(const VclPtr<vcl::Window> & xWindow, 
MouseNotifyEvent nSVEvent, bool bMouseLeave, __int64 nX, __int64 nY, unsigned __int64 
nMsgTime, unsigned short nCode, MouseEventModifiers nMode) Line 693
        at C:\lo\src\core\vcl\source\window\winproc.cxx(693)
vcllo.dll!ImplHandleSalMouseButtonDown(vcl::Window * pWindow, const 
SalMouseEvent * pEvent) Line 2067
        at C:\lo\src\core\vcl\source\window\winproc.cxx(2067)
vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const 
void * pEvent) Line 2418
        at C:\lo\src\core\vcl\source\window\winproc.cxx(2418)
vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 306
        at C:\lo\src\core\vcl\inc\salframe.hxx(306)
vclplug_winlo.dll!ImplHandleMouseMsg(HWND__ * hWnd, unsigned int nMsg, unsigned 
__int64 wParam, __int64 lParam) Line 3174
        at C:\lo\src\core\vcl\win\window\salframe.cxx(3174)
vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned 
__int64 wParam, __int64 lParam, bool & rDef) Line 5555
        at C:\lo\src\core\vcl\win\window\salframe.cxx(5555)
vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned 
__int64 wParam, __int64 lParam) Line 5908
        at C:\lo\src\core\vcl\win\window\salframe.cxx(5908)
user32.dll!00007ffa24cde858()
user32.dll!00007ffa24cde299()
vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 410
        at C:\lo\src\core\vcl\win\app\salinst.cxx(410)
vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 
487
        at C:\lo\src\core\vcl\win\app\salinst.cxx(487)
vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool 
bHandleAllCurrentEvents) Line 516
        at C:\lo\src\core\vcl\win\app\salinst.cxx(516)
vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 465
        at C:\lo\src\core\vcl\source\app\svapp.cxx(465)
vcllo.dll!Application::Yield() Line 533
        at C:\lo\src\core\vcl\source\app\svapp.cxx(533)
vcllo.dll!Application::Execute() Line 444
        at C:\lo\src\core\vcl\source\app\svapp.cxx(444)
sofficeapp.dll!desktop::Desktop::Main() Line 1602
        at C:\lo\src\core\desktop\source\app\app.cxx(1602)
vcllo.dll!ImplSVMain() Line 199
        at C:\lo\src\core\vcl\source\app\svmain.cxx(199)
vcllo.dll!SVMain() Line 232
        at C:\lo\src\core\vcl\source\app\svmain.cxx(232)
sofficeapp.dll!soffice_main() Line 98
        at C:\lo\src\core\desktop\source\app\sofficemain.cxx(98)
soffice.bin!sal_main() Line 49
        at C:\lo\src\core\desktop\source\app\main.c(49)
soffice.bin!main(int argc, char * * argv) Line 47
        at C:\lo\src\core\desktop\source\app\main.c(47)
soffice.bin!invoke_main() Line 79
        at 
d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79)
soffice.bin!__scrt_common_main_seh() Line 288
        at 
d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
soffice.bin!__scrt_common_main() Line 331
        at 
d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
soffice.bin!mainCRTStartup(void * __formal) Line 17
        at 
d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)
kernel32.dll!00007ffa25f37034()
ntdll.dll!00007ffa269a2651()


How can I get the metadata to post here? (sorry for a noob question :)) I can also provide the whole ODB (here it is: https://drive.google.com/file/d/1UiIJRXuERMFRayPs1GKMAld4ay0EzxFl/view?usp=sharing )

--
Best regards,
Mike Kaganski


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to